diff options
author | Abramo Bagnara <abramo.bagnara@gmail.com> | 2012-09-05 09:55:10 +0000 |
---|---|---|
committer | Abramo Bagnara <abramo.bagnara@gmail.com> | 2012-09-05 09:55:10 +0000 |
commit | 8843f9f3d4110b598902cd9a648de46dd87bb626 (patch) | |
tree | ac5371eeda22fdab989ed8eb6fbdb584550c3803 /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | |
parent | 4d45b9b78461c006fc738b466ced2407d8fa0988 (diff) | |
download | bcm5719-llvm-8843f9f3d4110b598902cd9a648de46dd87bb626.tar.gz bcm5719-llvm-8843f9f3d4110b598902cd9a648de46dd87bb626.zip |
Do not add using directives to a function decl context when instantiating.
llvm-svn: 163208
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateDecl.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp index 69b72c5faa3..28e41165340 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp @@ -1813,7 +1813,12 @@ Decl *TemplateDeclInstantiator::VisitUsingDirectiveDecl(UsingDirectiveDecl *D) { D->getIdentLocation(), D->getNominatedNamespace(), D->getCommonAncestor()); - Owner->addDecl(Inst); + + // Add the using directive to its declaration context + // only if this is not a function or method. + if (!Owner->isFunctionOrMethod()) + Owner->addDecl(Inst); + return Inst; } |