To the reviewers, I tried doing the following for the other cases:
@@ -1888,7 +1893,11 @@ Decl
*TemplateDeclInstantiator::VisitNonTypeTemplateParmDecl(
if (Invalid)
Param->setInvalidDecl();
- Param->setDefaultArgument(D->getDefaultArgument(), false);
+ if (D->hasDefaultArgument()) {
+ ExprResult Value = SemaRef.SubstExpr(D->getDefaultArgument(),
TemplateArgs);
+ if (!Value.isInvalid())
+ Param->setDefaultArgument(Value.get(), false);
+ }
// Introduce this template parameter's instantiation into the
instantiation
However, doing this resulted in crashes as it seemed like we would be looking
at arguments from the wrong depth.
http://llvm-reviews.chandlerc.com/D1507
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits