summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaDeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-04-30 17:40:35 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-04-30 17:40:35 +0000
commit30a615dca828fd390401f13b54d10758ba356899 (patch)
treec3b179cb5261196fb9ee1cdaca634a66f9390485 /clang/lib/Sema/SemaDeclCXX.cpp
parent91db08bfe4a880dbb78e270e0f53d8aa30862ad2 (diff)
downloadbcm5719-llvm-30a615dca828fd390401f13b54d10758ba356899.tar.gz
bcm5719-llvm-30a615dca828fd390401f13b54d10758ba356899.zip
Fix crash if typo correction corrects a member using-declaration to a
non-member declaration. Patch by Dinesh Dwivedi! llvm-svn: 207677
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r--clang/lib/Sema/SemaDeclCXX.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDeclCXX.cpp b/clang/lib/Sema/SemaDeclCXX.cpp
index e3bedf78e6e..d49e68e027e 100644
--- a/clang/lib/Sema/SemaDeclCXX.cpp
+++ b/clang/lib/Sema/SemaDeclCXX.cpp
@@ -7329,6 +7329,12 @@ public:
if (!ND || isa<NamespaceDecl>(ND))
return false;
+ // FIXME: We should check if ND is member of base class of class having
+ // using declaration and direct base class in case using declaration names
+ // a constructor.
+ if (RequireMember && !ND->isCXXClassMember())
+ return false;
+
if (RequireMember && !isa<FieldDecl>(ND) && !isa<CXXMethodDecl>(ND) &&
!isa<TypeDecl>(ND))
return false;
OpenPOWER on IntegriCloud