[clang] [clang] Remove the experimental prefix from -fexperimental-relative-c++-abi-vtables (PR #142845)
via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 4 13:29:52 PDT 2025
https://github.com/PiJoules updated https://github.com/llvm/llvm-project/pull/142845
>From 7cf215da28c51159ffef7b458bd38d4389b410b1 Mon Sep 17 00:00:00 2001
From: Leonard Chan <leonardchan at 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 | 20 ++++++++++++--------
clang/test/Driver/relative-vtables-flag.cpp | 2 ++
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index 5ca31c253ed8f..fa444c8cc7e32 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -2996,14 +2996,18 @@ 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 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"
More information about the cfe-commits
mailing list