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