================ @@ -3572,10 +3572,17 @@ TemplateDeductionResult Sema::SubstituteExplicitTemplateArguments( SugaredBuilder, CanonicalBuilder, /*UpdateArgsWithConversions=*/false) || Trap.hasErrorOccurred()) { + unsigned Index = SugaredBuilder.size(); if (Index >= TemplateParams->size()) return TemplateDeductionResult::SubstitutionFailure; Info.Param = makeTemplateParameter(TemplateParams->getParam(Index)); + Info.FirstArg = ExplicitTemplateArgs[Index].getArgument(); + if (ExplicitTemplateArgs[Index].getArgument().getKind() == + TemplateArgument::Expression) + Info.SecondArg = + ExplicitTemplateArgs[Index].getSourceExpression()->getType(); ---------------- mizvekov wrote:
I mean other code in clang which emits a InvalidExplicitArguments, will not currently be setting these new parameters. You need to make sure that makes sense and will not break anything, or otherwise change these users. https://github.com/llvm/llvm-project/pull/122754 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits