From 4eb9b5f145a75092e7a9c8469d6a235b4cdd8b04 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Thu, 21 May 2015 08:42:20 +0300 Subject: [PATCH] C++: Simplify template function resolving a bit There's no reason to keep the Template after it is instantiated. Change-Id: I91210ae11b3420bb038168fe951b52d28ccc132e Reviewed-by: Nikolai Kosjar --- src/libs/cplusplus/LookupContext.cpp | 2 +- src/libs/cplusplus/ResolveExpression.cpp | 8 -------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index a8fce052dbe..88c75919db9 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -2104,7 +2104,7 @@ Symbol *CreateBindings::instantiateTemplateFunction(const TemplateNameId *instan subst.bind(cloner.name(name, &subst), ty); } - return cloner.symbol(specialization, &subst); + return cloner.symbol(specialization->declaration(), &subst); } } // namespace CPlusPlus diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 7612e7f51d1..43887b2995c 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -679,14 +679,6 @@ bool ResolveExpression::visit(CallAST *ast) // Constructor call FullySpecifiedType ctorTy = control()->namedType(classTy->name()); addResult(ctorTy, scope); - } else if (Template *templateTy = ty->asTemplateType()) { - // template function - if (Symbol *declaration = templateTy->declaration()) { - if (Function *funTy = declaration->asFunction()) { - if (maybeValidPrototype(funTy, actualArgumentCount)) - addResult(funTy->returnType().simplified(), scope); - } - } } }