[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
Tue Apr 23 13:22:57 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:

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

Seems reasonable to me.  

I had missed the impact of the CWG issue, if @zygoloid thinks we're Ok with just deprecating the flags (or removing them?  I think I'd prefer the deprecate-but-do-nothing over removal), I'm Ok too.

https://github.com/llvm/llvm-project/pull/89807


More information about the cfe-commits mailing list