[20210107][index] Add macro definitions to the index store #2803
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Cherry-pick 93c87fc, 2934d72, and cb756c2 to apple/stable/20210107 branch.
Originally reviewed #2740 and https://reviews.llvm.org/D99758
Add support for indexing macro definitions, undefs, and references in
the index store. In the normal case of compiling source files the macros
are indexed using preprocessor callbacks that include every reference.
When we are instead indexing a module that has already been compiled
(.pcm), we get the module macros from the preprocessor, and only
one definition is found.
Macro indexing is enabled by default, but can be disabled using a new
-index-ignore-macros driver flag.
rdar://47815401