================
@@ -606,8 +606,11 @@ TemplateArgumentLoc::TemplateArgumentLoc(ASTContext &Ctx,
LocInfo(Ctx, TemplateKWLoc, QualifierLoc, TemplateNameLoc, EllipsisLoc) {
assert(Argument.getKind() == TemplateArgument::Template ||
Argument.getKind() == TemplateArgument::TemplateExpansion);
- assert(QualifierLoc.getNestedNameSpecifier() ==
- Argument.getAsTemplateOrTemplatePattern().getQualifier());
+ // We can't assume QualifierLoc.getNestedNameSpecifier() ==
+ // Argument.getAsTemplateOrTemplatePattern().getQualifier() at this point,
+ // because in template rewriting, we may substitute a DependentTemplateName
+ // (which has a NNSLoc) into a template template parameter (which
+ // doesn't have a NNSLoc).
----------------
mizvekov wrote:
That looks like a bug, hasn't it been fixed by one of my patches?
https://github.com/llvm/llvm-project/pull/141776
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits