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;
+}


        
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to