[clang] 91a45a3 - [NFC] Pre-commit UBSAN src:*=sanitize test (#140602)
via cfe-commits
cfe-commits at lists.llvm.org
Mon May 19 15:22:16 PDT 2025
Author: Qinkun Bao
Date: 2025-05-19T15:22:13-07:00
New Revision: 91a45a33fca6f372933c6c796e55550cc40f82d4
URL: https://github.com/llvm/llvm-project/commit/91a45a33fca6f372933c6c796e55550cc40f82d4
DIFF: https://github.com/llvm/llvm-project/commit/91a45a33fca6f372933c6c796e55550cc40f82d4.diff
LOG: [NFC] Pre-commit UBSAN src:*=sanitize test (#140602)
For https://github.com/llvm/llvm-project/pull/140529
Added:
clang/test/CodeGen/ubsan-src-ignorelist-category.test
Modified:
Removed:
################################################################################
diff --git a/clang/test/CodeGen/ubsan-src-ignorelist-category.test b/clang/test/CodeGen/ubsan-src-ignorelist-category.test
new file mode 100644
index 0000000000000..e652d88b2f288
--- /dev/null
+++ b/clang/test/CodeGen/ubsan-src-ignorelist-category.test
@@ -0,0 +1,43 @@
+// RUN: rm -rf %t
+// RUN: split-file %s %t
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow -fsanitize-ignorelist=%t/src.ignorelist -emit-llvm %t/test1.c -o - | FileCheck %s --check-prefixes=CHECK1,IGNORE
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow -fsanitize-ignorelist=%t/src.ignorelist -emit-llvm %t/test2.c -o - | FileCheck %s --check-prefixes=CHECK2
+
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow -fsanitize-ignorelist=%t/src.ignorelist.contradict1 -emit-llvm %t/test1.c -o - | FileCheck %s --check-prefixes=CHECK1,IGNORE
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow -fsanitize-ignorelist=%t/src.ignorelist.contradict1 -emit-llvm %t/test2.c -o - | FileCheck %s --check-prefixes=CHECK2
+
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow -fsanitize-ignorelist=%t/src.ignorelist.contradict2 -emit-llvm %t/test1.c -o - | FileCheck %s --check-prefixes=CHECK1,IGNORE
+// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow -fsanitize-ignorelist=%t/src.ignorelist.contradict2 -emit-llvm %t/test2.c -o - | FileCheck %s --check-prefixes=CHECK2
+
+
+// Verify ubsan only emits checks for files in the allowlist
+// FIXME: implement.
+
+//--- src.ignorelist
+src:*
+src:*/test1.c=sanitize
+
+//--- src.ignorelist.contradict1
+src:*
+src:*/test1.c=sanitize
+src:*/test1.c
+
+//--- src.ignorelist.contradict2
+src:*
+src:*/test1.c
+src:*/test1.c=sanitize
+
+//--- test1.c
+// CHECK1-LABEL: define dso_local i32 @add
+int add(int a, int b) {
+// IGNORE: %add = add nsw
+// SANITIZE: = call { i32, i1 } @llvm.sadd.with.overflow.i32
+ return a+b;
+}
+
+//--- test2.c
+// CHECK2-LABEL: define dso_local i32 @sub
+int sub(int a, int b) {
+ // CHECK2: %sub = sub nsw
+ return a-b;
+}
More information about the cfe-commits
mailing list