diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-04-29 07:31:09 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-04-29 07:31:09 +0000 |
commit | 4f402bd9853630b3cd15a68fba1de2cb9d74c236 (patch) | |
tree | 41e7e62a8fad77208d3f0db4efa80916af4ea65c /clang/lib/Parse/ParseDeclCXX.cpp | |
parent | ff40037eb8285b1364f89464daea8937a329c8a6 (diff) | |
download | bcm5719-llvm-4f402bd9853630b3cd15a68fba1de2cb9d74c236.tar.gz bcm5719-llvm-4f402bd9853630b3cd15a68fba1de2cb9d74c236.zip |
PR12688: ParseCXXClassMemberDeclaration's sometimes-null ThisDecl takes another
victim. Don't crash if we have a delay-parsed exception specification for a
class member which is invalid in a way which precludes building a FunctionDecl.
llvm-svn: 155788
Diffstat (limited to 'clang/lib/Parse/ParseDeclCXX.cpp')
-rw-r--r-- | clang/lib/Parse/ParseDeclCXX.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Parse/ParseDeclCXX.cpp b/clang/lib/Parse/ParseDeclCXX.cpp index 771388fd606..27fed393d4f 100644 --- a/clang/lib/Parse/ParseDeclCXX.cpp +++ b/clang/lib/Parse/ParseDeclCXX.cpp @@ -2065,7 +2065,7 @@ void Parser::ParseCXXClassMemberDeclaration(AccessSpecifier AS, DeclsInGroup.push_back(ThisDecl); } - if (DeclaratorInfo.isFunctionDeclarator() && + if (ThisDecl && DeclaratorInfo.isFunctionDeclarator() && DeclaratorInfo.getDeclSpec().getStorageClassSpec() != DeclSpec::SCS_typedef) { HandleMemberFunctionDeclDelays(DeclaratorInfo, ThisDecl); |