diff options
Diffstat (limited to 'clang/lib/Sema/SemaDeclCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaDeclCXX.cpp | 6 |
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; |