]> granicus.if.org Git - clang/commit
Teach the PCH validator to check the preprocessor options, especially
authorDouglas Gregor <dgregor@apple.com>
Wed, 24 Oct 2012 23:41:50 +0000 (23:41 +0000)
committerDouglas Gregor <dgregor@apple.com>
Wed, 24 Oct 2012 23:41:50 +0000 (23:41 +0000)
commit4c0c7e86645dfa1719d17d70e009ab49347aba62
treea418e94002d9c7a7c6d7352b1cff125c2b256072
parent3584972866f39d42aa4029586278022d89451bd9
Teach the PCH validator to check the preprocessor options, especially
the macros that are #define'd or #undef'd on the command line. This
checking happens much earlier than the current macro-definition
checking and is far cleaner, because it does a direct comparison
rather than a diff of the predefines buffers. Moreover, it allows us
to use the result of this check to skip over PCH files within a
directory that have non-matching -D's or -U's on the command
line. Finally, it improves the diagnostics a bit for mismatches,
fixing <rdar://problem/8612222>.

The old predefines-buffer diff'ing will go away in a subsequent commit.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@166641 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/DiagnosticSerializationKinds.td
include/clang/Serialization/ASTReader.h
lib/Frontend/FrontendAction.cpp
lib/Serialization/ASTReader.cpp
lib/Serialization/ASTWriter.cpp
test/PCH/fuzzy-pch.c
test/PCH/pch-dir.c