diff options
| author | Douglas Gregor <dgregor@apple.com> | 2009-05-26 22:09:24 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2009-05-26 22:09:24 +0000 |
| commit | 408c619afc8afc1e5c76a6c89fec0f838bd66e84 (patch) | |
| tree | abce6de6a5f4db35d395561523a838fdedee0c96 /clang/lib/Sema/SemaTemplateInstantiateExpr.cpp | |
| parent | ec3cbfe8c6ea07c53c8d34abefd6b422afe9fc49 (diff) | |
| download | bcm5719-llvm-408c619afc8afc1e5c76a6c89fec0f838bd66e84.tar.gz bcm5719-llvm-408c619afc8afc1e5c76a6c89fec0f838bd66e84.zip | |
Template instantiation for "typeof" for both types and expressions.
llvm-svn: 72440
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateExpr.cpp')
| -rw-r--r-- | clang/lib/Sema/SemaTemplateInstantiateExpr.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp index 0c298393308..9dc14d551ba 100644 --- a/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp +++ b/clang/lib/Sema/SemaTemplateInstantiateExpr.cpp @@ -138,9 +138,15 @@ TemplateExprInstantiator::VisitDeclRefExpr(DeclRefExpr *E) { else assert(false && "FIXME: instantiation of non-local variable declarations"); - } else if (isa<FunctionDecl>(D) || isa<OverloadedFunctionDecl>(D)) { + } else if (isa<FunctionDecl>(D)) { // FIXME: Instantiate decl! NewD = cast<ValueDecl>(D); + } else if (isa<OverloadedFunctionDecl>(D)) { + // FIXME: instantiate decls? + return SemaRef.Owned(new (SemaRef.Context) DeclRefExpr(cast<NamedDecl>(D), + SemaRef.Context.OverloadTy, + E->getLocation(), + false, false)); } else assert(false && "FIXME: unhandled declaration reference kind"); |

