aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNico Weber <thakis@chromium.org>2025-02-10 09:00:31 -0500
committerGitHub <noreply@github.com>2025-02-10 09:00:31 -0500
commit71adb054024a1e9bd5ed4566beda74dea65362cd (patch)
treede9f34364eb208733ab5585bb52170f37fecd11b
parentc6b13a28717455028bf48bcb20f723ad3bbff783 (diff)
downloadllvm-71adb054024a1e9bd5ed4566beda74dea65362cd.zip
llvm-71adb054024a1e9bd5ed4566beda74dea65362cd.tar.gz
llvm-71adb054024a1e9bd5ed4566beda74dea65362cd.tar.bz2
[clang] Expose -f(no-)strict-overflow as a clang-cl option (#126512)
Also move the -fno-strict-overflow option definition next to the -fstrict-overflow one while here. Also add test coverage for f(no-)wrapv-pointer being a clang-cl option.
-rw-r--r--clang/include/clang/Driver/Options.td6
-rw-r--r--clang/test/Driver/cl-options.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/clang/include/clang/Driver/Options.td b/clang/include/clang/Driver/Options.td
index c9d192a..1cf62ab 100644
--- a/clang/include/clang/Driver/Options.td
+++ b/clang/include/clang/Driver/Options.td
@@ -3421,8 +3421,6 @@ def fno_strict_aliasing : Flag<["-"], "fno-strict-aliasing">, Group<f_Group>,
def fstruct_path_tbaa : Flag<["-"], "fstruct-path-tbaa">, Group<f_Group>;
def fno_struct_path_tbaa : Flag<["-"], "fno-struct-path-tbaa">, Group<f_Group>;
def fno_strict_enums : Flag<["-"], "fno-strict-enums">, Group<f_Group>;
-def fno_strict_overflow : Flag<["-"], "fno-strict-overflow">, Group<f_Group>,
- Visibility<[ClangOption, FlangOption]>;
defm init_global_zero : BoolOptionWithoutMarshalling<"f", "init-global-zero",
PosFlag<SetTrue, [], [FlangOption, FC1Option],
"Zero initialize globals without default initialization (default)">,
@@ -3934,7 +3932,9 @@ defm strict_vtable_pointers : BoolFOption<"strict-vtable-pointers",
" overwriting polymorphic C++ objects">,
NegFlag<SetFalse>>;
def fstrict_overflow : Flag<["-"], "fstrict-overflow">, Group<f_Group>,
- Visibility<[ClangOption, FlangOption]>;
+ Visibility<[ClangOption, CLOption, FlangOption]>;
+def fno_strict_overflow : Flag<["-"], "fno-strict-overflow">, Group<f_Group>,
+ Visibility<[ClangOption, CLOption, FlangOption]>;
def fpointer_tbaa : Flag<["-"], "fpointer-tbaa">, Group<f_Group>;
def fdriver_only : Flag<["-"], "fdriver-only">, Flags<[NoXarchOption]>,
Visibility<[ClangOption, CLOption, DXCOption]>,
diff --git a/clang/test/Driver/cl-options.c b/clang/test/Driver/cl-options.c
index 29a0fcb..9f9ca1b 100644
--- a/clang/test/Driver/cl-options.c
+++ b/clang/test/Driver/cl-options.c
@@ -738,9 +738,13 @@
// RUN: -fno-modules-search-all \
// RUN: -fimplicit-modules \
// RUN: -fno-implicit-modules \
+// RUN: -fstrict-overflow \
+// RUN: -fno-strict-overflow \
// RUN: -ftrivial-auto-var-init=zero \
// RUN: -fwrapv \
// RUN: -fno-wrapv \
+// RUN: -fwrapv-pointer \
+// RUN: -fno-wrapv-pointer \
// RUN: --version \
// RUN: -Werror /Zs -- %s 2>&1