diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-04-02 01:30:27 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-04-02 01:30:27 +0000 |
commit | 23d55873cb465f9ec396c3226fa5ffc32554e22e (patch) | |
tree | d0d46775abd4ad5e85329af59a216eb2d94237bb /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | |
parent | 7a2cea1814925e0e8a5f7d91c00a740c5e5d1cb6 (diff) | |
download | bcm5719-llvm-23d55873cb465f9ec396c3226fa5ffc32554e22e.tar.gz bcm5719-llvm-23d55873cb465f9ec396c3226fa5ffc32554e22e.zip |
Basic semantic analysis support for inheriting constructor declarations in
dependent contexts.
llvm-svn: 153858
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 8e4942988d1..ba1bc9fd2a9 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -1856,6 +1856,12 @@ Decl *TemplateDeclInstantiator::VisitUsingDecl(UsingDecl *D) { if (NewUD->isInvalidDecl()) return NewUD; + if (NameInfo.getName().getNameKind() == DeclarationName::CXXConstructorName) { + if (SemaRef.CheckInheritingConstructorUsingDecl(NewUD)) + NewUD->setInvalidDecl(); + return NewUD; + } + bool isFunctionScope = Owner->isFunctionOrMethod(); // Process the shadow decls. |