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