[clang] Ubsan: warn on -fsanitize-trap=undefined ignored when passed on its own (PR #132319)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 20 19:55:11 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-clang
Author: clf (clingfei)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/132319.diff
1 Files Affected:
- (modified) clang/lib/Driver/SanitizerArgs.cpp (+3-1)
``````````diff
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;
``````````
</details>
https://github.com/llvm/llvm-project/pull/132319
More information about the cfe-commits
mailing list