When preprocessing with -frewrite-imports and -fmodule-file=, do not pass allmodules to preprocessing of nested .pcm files.Making those module files available results in loading more .pcm files th
When preprocessing with -frewrite-imports and -fmodule-file=, do not pass allmodules to preprocessing of nested .pcm files.Making those module files available results in loading more .pcm files thannecessary, and potentially in misbehavior if a module makes itself visibleduring its own compilation (as parts of that module that have not yet beenprocessed would then become visible).llvm-svn: 306320
show more ...
[modules] When we #include a local submodule header that we've already built,and it has an include guard, produce callbacks for a module import, not for askipped non-modular header.Fixes -E outpu
[modules] When we #include a local submodule header that we've already built,and it has an include guard, produce callbacks for a module import, not for askipped non-modular header.Fixes -E output when preprocessing a module to list these cases as a moduleimport, rather than suppressing the #include and losing the import side effect.llvm-svn: 304183
Add #pragma clang module begin/end pragmas and generate them when preprocessing a module.These pragmas are intended to simulate the effect of entering or leaving a filewith an associated module. T
Add #pragma clang module begin/end pragmas and generate them when preprocessing a module.These pragmas are intended to simulate the effect of entering or leaving a filewith an associated module. This is not completely implemented yet: declarationsbetween the pragmas will not be attributed to the correct module, but macrovisibility is already functional.Modules named by #pragma clang module begin must already be known to clang (insome module map that's either loaded or on the search path).llvm-svn: 302098
[modules] When using -E, we may try to merge decls despite having no Semaobject. In such a case, use the TU's DC for merging global decls rather thangiving up when we find there is no TU scope.Ul
[modules] When using -E, we may try to merge decls despite having no Semaobject. In such a case, use the TU's DC for merging global decls rather thangiving up when we find there is no TU scope.Ultimately, we should probably avoid all loading of decls when preprocessing,but there are other reasonable use cases for loading an AST file with no Semaobject for which this is the right thing.llvm-svn: 228234