aboutsummaryrefslogtreecommitdiff
path: root/lib/Parse/ParseDecl.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2009-04-24 22:30:50 +0000
committerChris Lattner <sabre@nondot.org>2009-04-24 22:30:50 +0000
commit5cb10d3b1ad546b232e72275eaaf56d72823901d (patch)
tree8c2421abd29ea838443a47c96dd952c05dac9958 /lib/Parse/ParseDecl.cpp
parent27a4566734582b81abbf9af8a949a9049098d344 (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.cpp1
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;