diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-07-21 00:23:34 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2015-07-21 00:23:34 +0000 |
commit | ce95e4dcf4f15083647ac058601ce435ac9ed1fa (patch) | |
tree | ca77d8f24b346075b20abe67c26e3f2c99d362d1 /lib | |
parent | dc9de2d1a510a8b7b95610d338e89f1f91d3ecdf (diff) | |
download | clang-ce95e4dcf4f15083647ac058601ce435ac9ed1fa.tar.gz |
Fix crash-on-invalid: don't look ahead past an unknown token, it might be EOF.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@242744 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Parse/ParseDeclCXX.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/Parse/ParseDeclCXX.cpp b/lib/Parse/ParseDeclCXX.cpp index 0fb1de94e8..79138900b8 100644 --- a/lib/Parse/ParseDeclCXX.cpp +++ b/lib/Parse/ParseDeclCXX.cpp @@ -546,7 +546,8 @@ Decl *Parser::ParseUsingDeclaration(unsigned Context, } else if (ParseUnqualifiedId( SS, /*EnteringContext=*/false, /*AllowDestructorName=*/true, - /*AllowConstructorName=*/NextToken().isNot(tok::equal), + /*AllowConstructorName=*/!(Tok.is(tok::identifier) && + NextToken().is(tok::equal)), ParsedType(), TemplateKWLoc, Name)) { SkipUntil(tok::semi); return nullptr; |