https://github.com/mizvekov created https://github.com/llvm/llvm-project/pull/91811
This partially reverts b86e0992bfa6c58be077d82d824016f590ac5d90. Just the default is changed back, on the Driver side. No Frontend changes. The positive spelling of the flag is undeprecated. No documentation changes or changelog entries because we plan to revert this revert as soon as https://github.com/llvm/llvm-project/issues/62529 is fixed. >From 553dcf394229a67371ad84e7eb477691346136e9 Mon Sep 17 00:00:00 2001 From: Matheus Izvekov <mizve...@gmail.com> Date: Fri, 10 May 2024 18:00:41 -0300 Subject: [PATCH] [clang] Revert default behavior change of P0522R0 implementation This partially reverts b86e0992bfa6c58be077d82d824016f590ac5d90 Just the default is changed back, on the Driver side. No Frontend changes. The positive spelling of the flag is undeprecated. No documentation changes or changelog entries because we plan to revert this revert as soon as https://github.com/llvm/llvm-project/issues/62529 is fixed. --- clang/lib/Driver/ToolChains/Clang.cpp | 14 +++++++------- .../Driver/frelaxed-template-template-args.cpp | 6 ++++-- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/clang/lib/Driver/ToolChains/Clang.cpp b/clang/lib/Driver/ToolChains/Clang.cpp index 42feb1650574e..f0cc018b6668f 100644 --- a/clang/lib/Driver/ToolChains/Clang.cpp +++ b/clang/lib/Driver/ToolChains/Clang.cpp @@ -7249,15 +7249,15 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA, Args.addOptOutFlag(CmdArgs, options::OPT_fassume_unique_vtables, options::OPT_fno_assume_unique_vtables); - // -frelaxed-template-template-args is deprecated. - if (Arg *A = - Args.getLastArg(options::OPT_frelaxed_template_template_args, - options::OPT_fno_relaxed_template_template_args)) { + // -fno-relaxed-template-template-args is deprecated. + if (Arg *A = Args.getLastArg(options::OPT_frelaxed_template_template_args, + options::OPT_fno_relaxed_template_template_args); + A && + A->getOption().matches(options::OPT_fno_relaxed_template_template_args)) D.Diag(diag::warn_drv_deprecated_arg) << A->getAsString(Args) << /*hasReplacement=*/false; - if (A->getOption().matches(options::OPT_fno_relaxed_template_template_args)) - CmdArgs.push_back("-fno-relaxed-template-template-args"); - } + else + CmdArgs.push_back("-fno-relaxed-template-template-args"); // -fsized-deallocation is off by default, as it is an ABI-breaking change for // most platforms. diff --git a/clang/test/Driver/frelaxed-template-template-args.cpp b/clang/test/Driver/frelaxed-template-template-args.cpp index dd6265ba8375e..136c360276a15 100644 --- a/clang/test/Driver/frelaxed-template-template-args.cpp +++ b/clang/test/Driver/frelaxed-template-template-args.cpp @@ -1,5 +1,7 @@ -// RUN: %clang -fsyntax-only -frelaxed-template-template-args %s 2>&1 | FileCheck --check-prefix=CHECK-ON %s +// RUN: %clang -fsyntax-only -### %s 2>&1 | FileCheck --check-prefix=CHECK-DEF %s +// RUN: %clang -fsyntax-only -frelaxed-template-template-args %s 2>&1 | FileCheck --check-prefix=CHECK-ON --allow-empty %s // RUN: %clang -fsyntax-only -fno-relaxed-template-template-args %s 2>&1 | FileCheck --check-prefix=CHECK-OFF %s -// CHECK-ON: warning: argument '-frelaxed-template-template-args' is deprecated [-Wdeprecated] +// CHECK-DEF: "-cc1"{{.*}} "-fno-relaxed-template-template-args" +// CHECK-ON-NOT: warning: argument '-frelaxed-template-template-args' is deprecated [-Wdeprecated] // CHECK-OFF: warning: argument '-fno-relaxed-template-template-args' is deprecated [-Wdeprecated] _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits