Fix a recovery bug Fariborz and I noticed yesterday. We were producing:

method.c:4:3: error: use of undeclared identifier 'BADIDENT'
        &BADIDENT, 0
         ^
method.c:5:2: error: expected '}'
};
 ^
method.c:3:14: error: to match this '{'
struct S A = {
             ^

now we only produce:

method.c:4:3: error: use of undeclared identifier 'BADIDENT'
        &BADIDENT, 0
         ^

llvm-svn: 43349
This commit is contained in:
Chris Lattner 2007-10-25 17:27:01 +00:00
parent 88710ff5b8
commit 36f81fb065
2 changed files with 10 additions and 1 deletions

View File

@ -175,7 +175,7 @@ Parser::ExprResult Parser::ParseInitializer() {
// If we couldn't parse the subelement, bail out.
if (SubElt.isInvalid) {
InitExprsOk = false;
SkipUntil(tok::r_brace);
SkipUntil(tok::r_brace, false, true);
break;
} else
InitExprs.push_back(SubElt.Val);

View File

@ -5,3 +5,12 @@ char (((( /* expected-error {{to match this '('}} */
*X x ] )))); /* expected-error {{expected ')'}} */
; // expected-warning {{ISO C does not allow an extra ';' outside of a function}}
struct S { void *X, *Y; };
struct S A = {
&BADIDENT, 0 /* expected-error {{use of undeclared identifier}} */
};