diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2012-01-10 03:38:46 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2012-01-10 03:38:46 +0000 |
commit | 9163e360d680a54b39c3205f99ef769f474e900d (patch) | |
tree | 0be4573e6cc9466ededc383aca43f1351f7dd526 | |
parent | 7d7850af645820e632c9a92840d44d21cb361542 (diff) | |
download | bcm5719-llvm-9163e360d680a54b39c3205f99ef769f474e900d.tar.gz bcm5719-llvm-9163e360d680a54b39c3205f99ef769f474e900d.zip |
Per John's comment, it makes sense to ask isLambda on any CXXRecordDecl; make sure that's safe. Get rid of a check which is now unnecessary in Sema::getFunctionLevelDeclContext().
llvm-svn: 147837
-rw-r--r-- | clang/include/clang/AST/DeclCXX.h | 2 | ||||
-rw-r--r-- | clang/lib/Sema/Sema.cpp | 1 |
2 files changed, 1 insertions, 2 deletions
diff --git a/clang/include/clang/AST/DeclCXX.h b/clang/include/clang/AST/DeclCXX.h index 17c82ca3ef2..983139b7b45 100644 --- a/clang/include/clang/AST/DeclCXX.h +++ b/clang/include/clang/AST/DeclCXX.h @@ -913,7 +913,7 @@ public: bool hasDeclaredDestructor() const { return data().DeclaredDestructor; } /// \brief Determine whether this class describes a lambda function object. - bool isLambda() const { return data().IsLambda; } + bool isLambda() const { return hasDefinition() && data().IsLambda; } void setLambda(bool Lambda = true) { data().IsLambda = Lambda; } diff --git a/clang/lib/Sema/Sema.cpp b/clang/lib/Sema/Sema.cpp index 72073a10386..8d358950f68 100644 --- a/clang/lib/Sema/Sema.cpp +++ b/clang/lib/Sema/Sema.cpp @@ -640,7 +640,6 @@ DeclContext *Sema::getFunctionLevelDeclContext() { if (isa<BlockDecl>(DC) || isa<EnumDecl>(DC)) { DC = DC->getParent(); } else if (isa<CXXMethodDecl>(DC) && - cast<CXXRecordDecl>(DC->getParent())->hasDefinition() && cast<CXXRecordDecl>(DC->getParent())->isLambda()) { DC = DC->getParent()->getParent(); } |