]> granicus.if.org Git - clang/commit
If a macro has been #undef'd in a precompiled header, we still need to
authorDouglas Gregor <dgregor@apple.com>
Tue, 9 Oct 2012 16:01:50 +0000 (16:01 +0000)
committerDouglas Gregor <dgregor@apple.com>
Tue, 9 Oct 2012 16:01:50 +0000 (16:01 +0000)
commit3644d970095d9c638c658cfd17f8e19fc333aadc
treed599c71bb12d426f7b62685c62d185950219ab81
parentf5b132f7b373203eab7cf357b01f935bd88087bd
If a macro has been #undef'd in a precompiled header, we still need to
write out the macro history for that macro. Similarly, we need to cope
with reading a macro definition that has been #undef'd.

Take advantage of this new ability so that global code-completion
results can refer to #undef'd macros, rather than losing them
entirely. For multiply defined/#undef'd macros, we will still get the
wrong result, but it's better than getting no result.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165502 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/IdentifierTable.h
lib/Sema/SemaCodeComplete.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp
test/Index/complete-macros.c