aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-03-09 20:10:30 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2012-03-09 20:10:30 +0000
commit2559629c5bf218bf74ab52c49e88bfe04e895a85 (patch)
tree8fbb80895006ec213cf6229508c7a2f86abf306a /clang/lib/Frontend/CompilerInvocation.cpp
parentd5744b9910d44cdb32f2f4ff2dfd154a5b5a970e (diff)
downloadllvm-2559629c5bf218bf74ab52c49e88bfe04e895a85.zip
llvm-2559629c5bf218bf74ab52c49e88bfe04e895a85.tar.gz
llvm-2559629c5bf218bf74ab52c49e88bfe04e895a85.tar.bz2
Improve our semantic error recovery.
When an error made a record member invalid, the record would stay as "isBeingDefined" and not "completeDefinition". Even easily recoverable errors ended up propagating records in such "beingDefined" state, for example: struct A { ~A() const; // expected-error {{'const' qualifier is not allowed on a destructor}} }; struct B : A {}; // A & B would stay as "not complete definition" and "being defined". This weird state was impending lookups in the records and hitting assertion in the ASTWriter. Part of rdar://11007039 llvm-svn: 152432
Diffstat (limited to 'clang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions