diff options
author | Chris Lattner <sabre@nondot.org> | 2009-04-24 22:30:50 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-04-24 22:30:50 +0000 |
commit | 5cb10d3b1ad546b232e72275eaaf56d72823901d (patch) | |
tree | 8c2421abd29ea838443a47c96dd952c05dac9958 /lib/Parse/ParseDecl.cpp | |
parent | 27a4566734582b81abbf9af8a949a9049098d344 (diff) |
fix the sizeof error recovery issue (sizeof-interface.m:attributeRuns)
by correctly propagating the fact that the type was invalid up to the
attributeRuns decl, then returning an ExprError when attributeRuns is
formed (like we do for normal declrefexprs).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69998 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseDecl.cpp')
-rw-r--r-- | lib/Parse/ParseDecl.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/Parse/ParseDecl.cpp b/lib/Parse/ParseDecl.cpp index 938e965556..8268452430 100644 --- a/lib/Parse/ParseDecl.cpp +++ b/lib/Parse/ParseDecl.cpp @@ -2579,6 +2579,7 @@ void Parser::ParseBracketDeclarator(Declarator &D) { // If there was an error parsing the assignment-expression, recover. if (NumElements.isInvalid()) { + D.setInvalidType(true); // If the expression was invalid, skip it. SkipUntil(tok::r_square); return; |