summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExpr.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2009-08-28 20:31:08 +0000
committerDouglas Gregor <dgregor@apple.com>2009-08-28 20:31:08 +0000
commit01afeeff1dc780e577fb6ebc0919ce3a92fd8bf1 (patch)
tree79b5c5eb1ef4aa106bc5dec321e81de1ee64281d /clang/lib/Sema/SemaExpr.cpp
parentd65d22a0c5202ed65e8f54834c34f9c12dca430b (diff)
downloadbcm5719-llvm-01afeeff1dc780e577fb6ebc0919ce3a92fd8bf1.tar.gz
bcm5719-llvm-01afeeff1dc780e577fb6ebc0919ce3a92fd8bf1.zip
Implement template instantiation for member class templates.
When performing template instantiation of the definitions of member templates (or members thereof), we build a data structure containing the template arguments from each "level" of template instantiation. During template instantiation, we substitute all levels of template arguments simultaneously. llvm-svn: 80389
Diffstat (limited to 'clang/lib/Sema/SemaExpr.cpp')
-rw-r--r--clang/lib/Sema/SemaExpr.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaExpr.cpp b/clang/lib/Sema/SemaExpr.cpp
index 44c5a3a1b7a..91c1fa5a122 100644
--- a/clang/lib/Sema/SemaExpr.cpp
+++ b/clang/lib/Sema/SemaExpr.cpp
@@ -2473,14 +2473,14 @@ Sema::OwningExprResult Sema::BuildCXXDefaultArgExpr(SourceLocation CallLoc,
Expr *UninstExpr = Param->getUninstantiatedDefaultArg();
// Instantiate the expression.
- const TemplateArgumentList &ArgList = getTemplateInstantiationArgs(FD);
+ MultiLevelTemplateArgumentList ArgList = getTemplateInstantiationArgs(FD);
// FIXME: We should really make a new InstantiatingTemplate ctor
// that has a better message - right now we're just piggy-backing
// off the "default template argument" error message.
InstantiatingTemplate Inst(*this, CallLoc, FD->getPrimaryTemplate(),
- ArgList.getFlatArgumentList(),
- ArgList.flat_size());
+ ArgList.getInnermost().getFlatArgumentList(),
+ ArgList.getInnermost().flat_size());
OwningExprResult Result = SubstExpr(UninstExpr, ArgList);
if (Result.isInvalid())
OpenPOWER on IntegriCloud