
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. llvm-svn: 144153
21 lines
580 B
C
21 lines
580 B
C
#pragma clang diagnostic ignored "-Wtautological-compare"
|
|
#include "pragma_disable_warning.h"
|
|
|
|
int main (int argc, const char * argv[])
|
|
{
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
|
int x=0;
|
|
#pragma clang diagnostic pop
|
|
|
|
return x;
|
|
}
|
|
|
|
void foo() { int b=0; while (b==b); }
|
|
|
|
// RUN: env CINDEXTEST_EDITING=1 CINDEXTEST_FAILONERROR=1 c-index-test -test-load-source-reparse 5 local \
|
|
// RUN: -I%S/Inputs \
|
|
// RUN: %s -Wall -Werror | FileCheck %s
|
|
|
|
// CHECK: pragma-diag-reparse.c:8:7: VarDecl=x:8:7 (Definition) Extent=[8:3 - 8:10]
|