https://github.com/clingfei created https://github.com/llvm/llvm-project/pull/132319
As @delcypher proposed, when the -fsanitize-trap=undefined flag is passed on its own the compiler silently ignores it. Currently Clang requires that the -fsanitize= flag is also passed. This PR warn about this behavior. >From b9ecc3169e4f417aef20c0e1c8d3402986ffe6b0 Mon Sep 17 00:00:00 2001 From: clingfei <1599101...@qq.com> Date: Fri, 21 Mar 2025 10:47:56 +0800 Subject: [PATCH] Ubsan: warn on -fsanitize-trap=undefined ignored when passed on its own --- clang/lib/Driver/SanitizerArgs.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp index 6e75001585c61..62d93954751f1 100644 --- a/clang/lib/Driver/SanitizerArgs.cpp +++ b/clang/lib/Driver/SanitizerArgs.cpp @@ -728,7 +728,9 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC, RecoverableKinds |= AlwaysRecoverable; RecoverableKinds &= ~Unrecoverable; RecoverableKinds &= Kinds; - + if ((TrappingKinds & SanitizerKind::Undefined) && + !(Kinds & SanitizerKind::Undefined)) + llvm::errs() << "Warning: -fsanitize-trap=undefined ignored\n"; TrappingKinds &= Kinds; RecoverableKinds &= ~TrappingKinds; _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits