https://github.com/vitalybuka updated https://github.com/llvm/llvm-project/pull/140602
>From 210f005ecccbbd4fed439d3e156d5e0146807bed Mon Sep 17 00:00:00 2001 From: Qinkun Bao <qin...@google.com> Date: Mon, 19 May 2025 19:49:33 +0000 Subject: [PATCH 1/2] =?UTF-8?q?[=F0=9D=98=80=F0=9D=97=BD=F0=9D=97=BF]=20in?= =?UTF-8?q?itial=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Created using spr 1.3.6 --- .../ubsan-src-ignorelist-category.test | 37 +++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 clang/test/CodeGen/ubsan-src-ignorelist-category.test 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..e0efd65df8652 --- /dev/null +++ b/clang/test/CodeGen/ubsan-src-ignorelist-category.test @@ -0,0 +1,37 @@ +// 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-prefix=CHECK-ALLOWLIST +// 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-prefix=CHECK-IGNORELIST +// 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-prefix=CHECK-ALLOWLISTOVERIDE1 +// 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-prefix=CHECK-ALLOWLISTOVERIDE2 + + +// Verify ubsan only emits checks for files in the allowlist + +//--- 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 +int add1(int a, int b) { +// CHECK-ALLOWLIST: llvm.sadd.with.overflow.i32 +// CHECK-ALLOWLISTOVERIDE1-NOT: llvm.sadd.with.overflow.i32 +// CHECK-ALLOWLISTOVERIDE2: llvm.sadd.with.overflow.i32 + return a+b; +} + +//--- test2.c +int add2(int a, int b) { +// CHECK-IGNORELIST-NOT: llvm.sadd.with.overflow.i32 + return a+b; +} >From dd5e80ccce29dccad89587f9087a4510bac53ff6 Mon Sep 17 00:00:00 2001 From: Qinkun Bao <qin...@google.com> Date: Mon, 19 May 2025 15:08:31 -0700 Subject: [PATCH 2/2] rebase Created using spr 1.3.6 --- clang/test/CodeGen/ubsan-src-ignorelist-category.test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/clang/test/CodeGen/ubsan-src-ignorelist-category.test b/clang/test/CodeGen/ubsan-src-ignorelist-category.test index e278efc210796..e652d88b2f288 100644 --- a/clang/test/CodeGen/ubsan-src-ignorelist-category.test +++ b/clang/test/CodeGen/ubsan-src-ignorelist-category.test @@ -31,7 +31,7 @@ src:*/test1.c=sanitize // CHECK1-LABEL: define dso_local i32 @add int add(int a, int b) { // IGNORE: %add = add nsw -// SANITIZE: %add = llvm.sadd.with.overflow.i32 +// SANITIZE: = call { i32, i1 } @llvm.sadd.with.overflow.i32 return a+b; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits