forked from OSchip/llvm-project
53b9199a5c
When preamble contains #undef, indexing code finds the matching #define
and uses that during indexing. However, it would only look for local
definitions. If the macro was defined in a module, MacroInfo
would be nullptr and clangd would crash.
This change makes clangd ignore any #undef without a matching #define
inside the same TU.
The indexing of macros happens for preamble only, so then #undef must be
in the preamble, which is why we need two .h files in a test.
Note that clangd is currently not ready for module support, but this
brings us one step closer.
This was previously attempted in
|
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CommentToXML.cpp | ||
FileIndexRecord.cpp | ||
FileIndexRecord.h | ||
IndexBody.cpp | ||
IndexDecl.cpp | ||
IndexSymbol.cpp | ||
IndexTypeSourceInfo.cpp | ||
IndexingAction.cpp | ||
IndexingContext.cpp | ||
IndexingContext.h | ||
SimpleFormatContext.h | ||
USRGeneration.cpp |