summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
diff options
context:
space:
mode:
authorAbramo Bagnara <abramo.bagnara@gmail.com>2012-09-05 09:55:10 +0000
committerAbramo Bagnara <abramo.bagnara@gmail.com>2012-09-05 09:55:10 +0000
commit8843f9f3d4110b598902cd9a648de46dd87bb626 (patch)
treeac5371eeda22fdab989ed8eb6fbdb584550c3803 /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
parent4d45b9b78461c006fc738b466ced2407d8fa0988 (diff)
downloadbcm5719-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.cpp7
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;
}
OpenPOWER on IntegriCloud