summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-04-09 17:38:44 +0000
committerJohn McCall <rjmccall@apple.com>2010-04-09 17:38:44 +0000
commitb29f78fb9eef3f0d1fa5fb5f1066bac7cf99a573 (patch)
treec945169400e08623f26ac7393f9f70bd3fe16a2c /clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
parent8a651c71161f47f4fec8ac6413f34d4ae81291ec (diff)
downloadbcm5719-llvm-b29f78fb9eef3f0d1fa5fb5f1066bac7cf99a573.tar.gz
bcm5719-llvm-b29f78fb9eef3f0d1fa5fb5f1066bac7cf99a573.zip
Instantiate default argument expressions even if their associated parameter
type isn't dependent. Fixes rdar://problem/7838962. llvm-svn: 100871
Diffstat (limited to 'clang/lib/Sema/SemaTemplateInstantiateDecl.cpp')
-rw-r--r--clang/lib/Sema/SemaTemplateInstantiateDecl.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
index 1ac854c770c..82270451cbc 100644
--- a/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ b/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -1826,9 +1826,10 @@ TemplateDeclInstantiator::SubstFunctionType(FunctionDecl *D,
TypeSourceInfo *OldTInfo = D->getTypeSourceInfo();
assert(OldTInfo && "substituting function without type source info");
assert(Params.empty() && "parameter vector is non-empty at start");
- TypeSourceInfo *NewTInfo = SemaRef.SubstType(OldTInfo, TemplateArgs,
- D->getTypeSpecStartLoc(),
- D->getDeclName());
+ TypeSourceInfo *NewTInfo
+ = SemaRef.SubstFunctionDeclType(OldTInfo, TemplateArgs,
+ D->getTypeSpecStartLoc(),
+ D->getDeclName());
if (!NewTInfo)
return 0;
OpenPOWER on IntegriCloud