[clang] [clang][rtsan] Disallow type and realtime sanitizer combo (PR #192681)

via cfe-commits cfe-commits at lists.llvm.org
Fri Apr 17 08:10:09 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang

Author: Chris Apple (cjappl)

<details>
<summary>Changes</summary>

Both of these sanitizer runtimes define similar interceptors, so they may not be used together

---
Full diff: https://github.com/llvm/llvm-project/pull/192681.diff


2 Files Affected:

- (modified) clang/lib/Driver/SanitizerArgs.cpp (+2-1) 
- (modified) clang/test/Driver/fsanitize-realtime.c (+5) 


``````````diff
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp
index 78010b9e659d8..4ae46d0b6c9f1 100644
--- a/clang/lib/Driver/SanitizerArgs.cpp
+++ b/clang/lib/Driver/SanitizerArgs.cpp
@@ -668,7 +668,8 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC,
       std::make_pair(SanitizerKind::KCFI, SanitizerKind::Function),
       std::make_pair(SanitizerKind::Realtime,
                      SanitizerKind::Address | SanitizerKind::Thread |
-                         SanitizerKind::Undefined | SanitizerKind::Memory),
+                         SanitizerKind::Undefined | SanitizerKind::Memory |
+                         SanitizerKind::Type),
       std::make_pair(SanitizerKind::AllocToken,
                      SanitizerKind::Address | SanitizerKind::HWAddress |
                          SanitizerKind::KernelAddress |
diff --git a/clang/test/Driver/fsanitize-realtime.c b/clang/test/Driver/fsanitize-realtime.c
index 55c7fae00083f..9b1c287ba1813 100644
--- a/clang/test/Driver/fsanitize-realtime.c
+++ b/clang/test/Driver/fsanitize-realtime.c
@@ -43,3 +43,8 @@
 
 // RUN: not %clang --target=x86_64-linux-gnu -fsanitize=realtime,undefined  %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-REALTIME-UBSAN
 // CHECK-REALTIME-UBSAN: error: invalid argument '-fsanitize=realtime' not allowed with '-fsanitize=undefined'
+
+// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=type,realtime  %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-REALTIME-TYSAN
+// RUN: not %clang --target=x86_64-linux-gnu -fsanitize=realtime,type  %s -### 2>&1 | FileCheck %s --check-prefix=CHECK-REALTIME-TYSAN
+// CHECK-REALTIME-TYSAN: error: invalid argument '-fsanitize=realtime' not allowed with '-fsanitize=type'
+

``````````

</details>


https://github.com/llvm/llvm-project/pull/192681


More information about the cfe-commits mailing list