[clang] 2c9a1a7 - [clang][rtsan] Disallow type and realtime sanitizer combo (#192681)

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


Author: Chris Apple
Date: 2026-04-17T09:06:21-07:00
New Revision: 2c9a1a74fb7b6c3297d16fa98a0b5432317067f7

URL: https://github.com/llvm/llvm-project/commit/2c9a1a74fb7b6c3297d16fa98a0b5432317067f7
DIFF: https://github.com/llvm/llvm-project/commit/2c9a1a74fb7b6c3297d16fa98a0b5432317067f7.diff

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

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

Added: 
    

Modified: 
    clang/lib/Driver/SanitizerArgs.cpp
    clang/test/Driver/fsanitize-realtime.c

Removed: 
    


################################################################################
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