diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-04-29 23:20:19 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-04-29 23:20:19 +0000 |
commit | 1f468121f536d0087a5e64aa9fa7b2d4800fb3f0 (patch) | |
tree | 68511be04fca093b48365f08d7bad8235fa67864 /tools | |
parent | f6dfb10742fe2954dc75d04a29bbf14150ab883a (diff) | |
download | clang-1f468121f536d0087a5e64aa9fa7b2d4800fb3f0.tar.gz |
[modules] Stop trying to fake up a linear MacroDirective history.
Modules builds fundamentally have a non-linear macro history. In the interest
of better source fidelity, represent the macro definition information
faithfully: we have a linear macro directive history within each module, and at
any point we have a unique "latest" local macro directive and a collection of
visible imported directives. This also removes the attendent complexity of
attempting to create a correct MacroDirective history (which we got wrong
in the general case).
No functionality change intended.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@236176 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r-- | tools/libclang/CIndex.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 5a7a9cf3f6..aa5b8b0318 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -7144,7 +7144,7 @@ MacroInfo *cxindex::getMacroInfo(const IdentifierInfo &II, ASTUnit *Unit = cxtu::getASTUnit(TU); Preprocessor &PP = Unit->getPreprocessor(); - MacroDirective *MD = PP.getMacroDirectiveHistory(&II); + MacroDirective *MD = PP.getLocalMacroDirectiveHistory(&II); if (MD) { for (MacroDirective::DefInfo Def = MD->getDefinition(); Def; Def = Def.getPreviousDefinition()) { @@ -7201,7 +7201,7 @@ MacroDefinition *cxindex::checkForMacroInMacroDefinition(const MacroInfo *MI, if (std::find(MI->arg_begin(), MI->arg_end(), &II) != MI->arg_end()) return nullptr; - MacroDirective *InnerMD = PP.getMacroDirectiveHistory(&II); + MacroDirective *InnerMD = PP.getLocalMacroDirectiveHistory(&II); if (!InnerMD) return nullptr; |