From: Chris Lattner Date: Mon, 12 Jul 2010 01:48:28 +0000 (+0000) Subject: revert a hunk of code that Argiris added in r106213, which is the X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=9fc1873a3da0af8ef91e4f1927f3540f9af2038f;p=clang revert a hunk of code that Argiris added in r106213, which is the root cause of PR7481 and probably more, and has no apparent testcases. I don't understand the logic here so I can't repair it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108119 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Parse/Parser.cpp b/lib/Parse/Parser.cpp index def2ca4088..02fac16905 100644 --- a/lib/Parse/Parser.cpp +++ b/lib/Parse/Parser.cpp @@ -127,16 +127,7 @@ SourceLocation Parser::MatchRHSPunctuation(tok::TokenKind RHSTok, } Diag(Tok, DID); Diag(LHSLoc, diag::note_matching) << LHSName; - if (!SkipUntil(RHSTok)) { - // We stopped before finding a RHS token, e.g. we encountered a ';'. - // Balance Paren/Brace/Bracket counting. - switch (RHSTok) { - default: break; - case tok::r_paren : assert(ParenCount > 0); --ParenCount; break; - case tok::r_brace : assert(BraceCount > 0); --BraceCount; break; - case tok::r_square: assert(BracketCount > 0); --BracketCount; break; - } - } + SkipUntil(RHSTok); return R; } diff --git a/test/Parser/bracket-crash.cpp b/test/Parser/bracket-crash.cpp new file mode 100644 index 0000000000..fd18e0e25f --- /dev/null +++ b/test/Parser/bracket-crash.cpp @@ -0,0 +1,6 @@ +// RUN: not %clang_cc1 -fsyntax-only %s +// PR7481 +struct{ + a +} +