[PATCH] Sema: Subst type default template args earlier

David Majnemer david.majnemer at gmail.com
Sat Aug 24 15:11:36 PDT 2013

  To the reviewers, I tried doing the following for the other cases:

    @@ -1888,7 +1893,11 @@ Decl *TemplateDeclInstantiator::VisitNonTypeTemplateParmDecl(
       if (Invalid)

    -  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.


More information about the cfe-commits mailing list