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

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


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

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

>From e8057b931b9c95b56c4b13221abc3463c001cc02 Mon Sep 17 00:00:00 2001
From: Chris Apple <cja-private at pm.me>
Date: Fri, 17 Apr 2026 08:07:12 -0700
Subject: [PATCH] [clang][rtsan] Disallow type and realtime sanitizer combo

---
 clang/lib/Driver/SanitizerArgs.cpp     | 3 ++-
 clang/test/Driver/fsanitize-realtime.c | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

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'
+



More information about the cfe-commits mailing list