https://github.com/PiJoules created 
https://github.com/llvm/llvm-project/pull/142845

This actually creates an alias to the original flag omitting the experimental 
part. This has been in prod use for a while and isn't necessary.

>From 676b29c1dd2b1c303211e3faf6252a12f5d69f31 Mon Sep 17 00:00:00 2001
From: Leonard Chan <leonardc...@google.com>
Date: Wed, 4 Jun 2025 13:25:07 -0700
Subject: [PATCH] [clang] Remove the experimental prefix from
 -fexperimental-relative-c++-abi-vtables

This actually creates an alias to the original flag omitting the
experimental part. This has been in prod use for a while and isn't
necessary.
---
 clang/include/clang/Driver/Options.td       | 21 +++++++++++++--------
 clang/test/Driver/relative-vtables-flag.cpp |  2 ++
 2 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/clang/include/clang/Driver/Options.td 
b/clang/include/clang/Driver/Options.td
index 5ca31c253ed8f..73c5424d4f0ae 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -2996,14 +2996,19 @@ defm fine_grained_bitfield_accesses : BoolOption<"f", 
"fine-grained-bitfield-acc
   BothFlags<[], [ClangOption, CC1Option]>>,
   Group<f_clang_Group>;
 
-def fexperimental_relative_cxx_abi_vtables :
-  Flag<["-"], "fexperimental-relative-c++-abi-vtables">,
-  Group<f_clang_Group>, Visibility<[ClangOption, CC1Option]>,
-  HelpText<"Use the experimental C++ class ABI for classes with virtual 
tables">;
-def fno_experimental_relative_cxx_abi_vtables :
-  Flag<["-"], "fno-experimental-relative-c++-abi-vtables">,
-  Group<f_clang_Group>, Visibility<[ClangOption, CC1Option]>,
-  HelpText<"Do not use the experimental C++ class ABI for classes with virtual 
tables">;
+defm experimental_relative_cxx_abi_vtables
+    : BoolFOption<
+          "experimental-relative-c++-abi-vtables",
+          LangOpts<"RelativeCXXABIVTables">, DefaultFalse,
+          PosFlag<SetTrue, [], [ClangOption, CC1Option], "Use ">,
+          NegFlag<SetFalse, [], [ClangOption, CC1Option], "Do not use ">,
+          BothFlags<[], [ClangOption, CC1Option],
+                    " the experimental C++ class ABI for classes with virtual "
+                    "tables">>;
+def : Flag<["-"], "frelative-c++-abi-vtables">,
+      Alias<fexperimental_relative_cxx_abi_vtables>;
+def : Flag<["-"], "fno-relative-c++-abi-vtables">,
+      Alias<fno_experimental_relative_cxx_abi_vtables>;
 
 defm experimental_omit_vtable_rtti : 
BoolFOption<"experimental-omit-vtable-rtti",
   LangOpts<"OmitVTableRTTI">, DefaultFalse,
diff --git a/clang/test/Driver/relative-vtables-flag.cpp 
b/clang/test/Driver/relative-vtables-flag.cpp
index 1253809e1d428..2a38679135459 100644
--- a/clang/test/Driver/relative-vtables-flag.cpp
+++ b/clang/test/Driver/relative-vtables-flag.cpp
@@ -2,6 +2,8 @@
 // RUN: %clangxx --target=aarch64-unknown-fuchsia 
-fno-experimental-relative-c++-abi-vtables -c %s -### 2>&1 | FileCheck %s 
--check-prefix=NO-RV
 // RUN: %clangxx --target=aarch64-unknown-fuchsia -c %s -### 2>&1 | FileCheck 
%s --check-prefix=NO-RV
 // RUN: %clangxx --target=aarch64-unknown-linux-gnu -c %s -### 2>&1 | 
FileCheck %s --check-prefix=NO-RV
+// RUN: %clangxx --target=aarch64-unknown-fuchsia -frelative-c++-abi-vtables 
-c %s -### 2>&1 | FileCheck %s --check-prefix=RV
+// RUN: %clangxx --target=aarch64-unknown-fuchsia 
-fno-relative-c++-abi-vtables -c %s -### 2>&1 | FileCheck %s 
--check-prefix=NO-RV
 
 // RV: "-fexperimental-relative-c++-abi-vtables"
 // NO-RV-NOT: "-fexperimental-relative-c++-abi-vtables"

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to