diff options
author | Pawel Wodnicki <pawel@32bitmicro.com> | 2012-12-10 03:31:55 +0000 |
---|---|---|
committer | Pawel Wodnicki <pawel@32bitmicro.com> | 2012-12-10 03:31:55 +0000 |
commit | 5747fe72186fd2db4dc80d5023e4f782791578d1 (patch) | |
tree | bc255998f25cb9249c310a9cb58eefd806e2df53 | |
parent | 9b65aea27ca3f915d8d197db494b4caccc745d3c (diff) |
Merging r169688: into 3.2 release branch.
PR14549. Don't assert if we see an incomplete decltype specifier at the end of the file.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_32@169722 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Parse/ParseDeclCXX.cpp | 3 | ||||
-rw-r--r-- | test/Parser/bracket-crash.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp index 4cb14e24f4..f11a9d1995 100644 --- a/lib/Parse/ParseDeclCXX.cpp +++ b/lib/Parse/ParseDeclCXX.cpp @@ -706,8 +706,7 @@ SourceLocation Parser::ParseDecltypeSpecifier(DeclSpec &DS) { if (SkipUntil(tok::r_paren, /*StopAtSemi=*/true, /*DontConsume=*/true)) { EndLoc = ConsumeParen(); } else { - assert(Tok.is(tok::semi)); - if (PP.isBacktrackEnabled()) { + if (PP.isBacktrackEnabled() && Tok.is(tok::semi)) { // Backtrack to get the location of the last token before the semi. PP.RevertCachedTokens(2); ConsumeToken(); // the semi. diff --git a/test/Parser/bracket-crash.cpp b/test/Parser/bracket-crash.cpp index bcc6eabc6e..93b5294077 100644 --- a/test/Parser/bracket-crash.cpp +++ b/test/Parser/bracket-crash.cpp @@ -4,3 +4,6 @@ decltype(; struct{ a } + +// PR14549. Must be at end of file. +decltype( |