[clang] [clang] deprecate frelaxed-template-template-args, make it on by default (PR #89807)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 23 12:44:16 PDT 2024
================
@@ -8343,58 +8343,52 @@ bool Sema::CheckTemplateTemplateArgument(TemplateTemplateParmDecl *Param,
// C++1z [temp.arg.template]p3: (DR 150)
// A template-argument matches a template template-parameter P when P
// is at least as specialized as the template-argument A.
- // FIXME: We should enable RelaxedTemplateTemplateArgs by default as it is a
- // defect report resolution from C++17 and shouldn't be introduced by
- // concepts.
- if (getLangOpts().RelaxedTemplateTemplateArgs) {
----------------
mizvekov wrote:
It's a removal of the flag's behavior, with the addition of provisional wording changes, in order to moot the original reason the flag existed.
I see where the confusion comes from. The original patch did not remove the flag completely, just changed the default, but still deprecated it. After some offline discussion with @zygoloid, we decided to remove the flag as well, but I forgot to update the title.
@zygoloid thoughts on that?
How about for starters we just change the default, but still deprecate the flag both ways anyway?
If the transition is a concern, I think it would be a problem that we don't start to warn the users of the flags as soon as possible. Otherwise, I think this will be specially problematic if there are current users of the negative spelling `-fno-relaxed-template-template-args`.
https://github.com/llvm/llvm-project/pull/89807
More information about the cfe-commits
mailing list