]> granicus.if.org Git - clang/commit
[PCH] Fix reading from PCH of diagnostic pragmas.
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 9 Nov 2011 01:24:17 +0000 (01:24 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Wed, 9 Nov 2011 01:24:17 +0000 (01:24 +0000)
commit87429a05ff66fe6460eaa4855fd0da574e26bf7b
treed1f1993b2ae1e371850176c7ed0b88789b4e7158
parent75d0fe7100939c8f32ddf25e7b3f25e22e4a5878
[PCH] Fix reading from PCH of diagnostic pragmas.

In certain cases ASTReader would call the normal DiagnosticsEngine API to initialize
the state of diagnostic pragmas but DiagnosticsEngine would try to compare source locations
leading to crash because the main FileID was not yet initialized.

Yet another case of the ASTReader trying to use the normal APIs and inadvertently breaking
invariants. Fix this by having the ASTReader set up the internal state directly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144153 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Basic/Diagnostic.h
lib/Basic/Diagnostic.cpp
lib/Serialization/ASTReader.cpp
test/Index/Inputs/pragma_disable_warning.h [new file with mode: 0644]
test/Index/pragma-diag-reparse.c