Skip to content

Commit 91a45a3

Browse files
authored
[NFC] Pre-commit UBSAN src:*=sanitize test (#140602)
For #140529
1 parent f27cfea commit 91a45a3

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// RUN: rm -rf %t
2+
// RUN: split-file %s %t
3+
// 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
4+
// 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
5+
6+
// 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
7+
// 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
8+
9+
// 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
10+
// 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
11+
12+
13+
// Verify ubsan only emits checks for files in the allowlist
14+
// FIXME: implement.
15+
16+
//--- src.ignorelist
17+
src:*
18+
src:*/test1.c=sanitize
19+
20+
//--- src.ignorelist.contradict1
21+
src:*
22+
src:*/test1.c=sanitize
23+
src:*/test1.c
24+
25+
//--- src.ignorelist.contradict2
26+
src:*
27+
src:*/test1.c
28+
src:*/test1.c=sanitize
29+
30+
//--- test1.c
31+
// CHECK1-LABEL: define dso_local i32 @add
32+
int add(int a, int b) {
33+
// IGNORE: %add = add nsw
34+
// SANITIZE: = call { i32, i1 } @llvm.sadd.with.overflow.i32
35+
return a+b;
36+
}
37+
38+
//--- test2.c
39+
// CHECK2-LABEL: define dso_local i32 @sub
40+
int sub(int a, int b) {
41+
// CHECK2: %sub = sub nsw
42+
return a-b;
43+
}

0 commit comments

Comments
 (0)