diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-07-29 18:26:50 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-07-29 18:26:50 +0000 |
| commit | aa87ebc0c1201b68e5bfd8bbce663fff456a5088 (patch) | |
| tree | 6709b26f7b422fed8d7f0c5268c926048b9eba5a /clang/lib/Sema/SemaExpr.cpp | |
| parent | f5e7c2fbfcf9edd84c1e9f8f6c6eb804e38ded86 (diff) | |
| download | bcm5719-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.cpp | 2 |
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(); |

