aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaTemplateInstantiateDecl.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-04-23 21:37:18 +0000
committerJohn McCall <rjmccall@apple.com>2010-04-23 21:37:18 +0000
commitf88b0d6c99e6473e78331271935986535dc4603c (patch)
tree301a10c64fa9fd9309b4bdc4401b1555d46b945d /lib/Sema/SemaTemplateInstantiateDecl.cpp
parent14b91628961ab50cc6e724bbcd408fdee100662d (diff)
Transition the last acceptable-result filter kind in LookupResult over to use
a simple IDNS mask by introducing a namespace for non-member operators. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102215 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r--lib/Sema/SemaTemplateInstantiateDecl.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Sema/SemaTemplateInstantiateDecl.cpp b/lib/Sema/SemaTemplateInstantiateDecl.cpp
index fe60be062c..8924c7876a 100644
--- a/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -1140,6 +1140,12 @@ Decl *TemplateDeclInstantiator::VisitFunctionDecl(FunctionDecl *D,
DC->makeDeclVisibleInContext(ToFriendD, /*Recoverable=*/ false);
}
+ if (Function->isOverloadedOperator() && !DC->isRecord() &&
+ Function->isInIdentifierNamespace(Decl::IDNS_Ordinary)) {
+ Function->setNonMemberOperator();
+ if (FunctionTemplate) FunctionTemplate->setNonMemberOperator();
+ }
+
return Function;
}