summaryrefslogtreecommitdiff
path: root/clang/test/Modules/preprocess.cpp
AgeCommit message (Collapse)Author
2017-04-29Add pragma to perform module import and use it in -E output.Richard Smith
Many of our supported configurations support modules but do not have any first-class syntax to perform a module import. This leaves us with a problem: there is no way to represent the expansion of a #include that imports a module in the -E output for such languages. (We don't want to just leave it as a #include because that requires the consumer of the preprocessed source to have the same file system layout and include paths as the creator.) This patch adds a new pragma: #pragma clang module import MODULE.NAME.HERE that imports a module, and changes -E and -frewrite-includes to use it when rewriting a #include that maps to a module import. We don't make any attempt to use a native language syntax import if one exists, to get more consistent output. (If in the future, @import and #include have different semantics in some way, the pragma will track the #include semantics.) llvm-svn: 301725
2016-04-08[modules] Add a comment to explain why -E leaves some #includes in the ↵Richard Smith
preprocessed output. llvm-svn: 265766
2016-04-08[modules] Don't write @import in -E output if the current language mode doesn'tRichard Smith
support @import; use the form as written instead. llvm-svn: 265756