[clang] [clang] deprecate frelaxed-template-template-args, make it on by default (PR #89807)
Erich Keane via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 24 06:14:10 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) {
----------------
erichkeane wrote:
> I think the goal should be to remove the flags eventually, but given that it's easy to keep the flags functioning, I think it'd be a good idea to do so for at least long enough for people to tell us if this change breaks something. Maybe one release cycle with the default flipped and the flags working but warning, then we remove them if people aren't complaining?
Thats was exactly my thought, thanks! I would like that too.
>I also wonder if, at least for the time being, we should leave C++03 alone (despite the paper being a DR)
I think we should do it whole-hog or not at all. I don't see how 03 is significantly different here, and it would likely result in us delaying removing the flags an additional release cycle.
https://github.com/llvm/llvm-project/pull/89807
More information about the cfe-commits
mailing list