summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-07-29 18:26:50 +0000
committerDouglas Gregor <dgregor@apple.com>2009-07-29 18:26:50 +0000
commitaa87ebc0c1201b68e5bfd8bbce663fff456a5088 (patch)
tree6709b26f7b422fed8d7f0c5268c926048b9eba5a /clang/lib/Sema/SemaExpr.cpp
parentf5e7c2fbfcf9edd84c1e9f8f6c6eb804e38ded86 (diff)
downloadbcm5719-llvm-aa87ebc0c1201b68e5bfd8bbce663fff456a5088.tar.gz
bcm5719-llvm-aa87ebc0c1201b68e5bfd8bbce663fff456a5088.zip
[llvm up]
A template name can refer to a set of overloaded function templates. Model this in TemplateName, which can now refer to an OverloadedFunctionDecl that contains function templates. This removes an unspeakable hack in Sema::isTemplateName. llvm-svn: 77488
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index dd5bfc4e880..f9abb3dbd93 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2701,6 +2701,8 @@ Sema::ActOnCallExpr(Scope *S, ExprArg fn, SourceLocation LParenLoc,
} else if (TemplateIdRefExpr *TemplateIdRef
= dyn_cast<TemplateIdRefExpr>(FnExpr)) {
NDecl = TemplateIdRef->getTemplateName().getAsTemplateDecl();
+ if (!NDecl)
+ NDecl = TemplateIdRef->getTemplateName().getAsOverloadedFunctionDecl();
HasExplicitTemplateArgs = true;
ExplicitTemplateArgs = TemplateIdRef->getTemplateArgs();
NumExplicitTemplateArgs = TemplateIdRef->getNumTemplateArgs();
OpenPOWER on IntegriCloud