================ @@ -1,7 +1,28 @@ +// Verify ubsan doesn't emit checks for ignorelisted types +// RUN: echo "[{unsigned-integer-overflow,signed-integer-overflow}]" > %t-int.ignorelist +// RUN: echo "type:int" >> %t-int.ignorelist +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow,unsigned-integer-overflow -fsanitize-ignorelist=%t-int.ignorelist -emit-llvm %s -o - | FileCheck %s --check-prefix=INT + +// RUN: echo "type:int" > %t-nosection.ignorelist +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow,unsigned-integer-overflow -fsanitize-ignorelist=%t-nosection.ignorelist -emit-llvm %s -o - | FileCheck %s --check-prefix=INT + +// RUN: echo "type:int=allow" > %t-allow-same-as-no-category.ignorelist +// RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow,unsigned-integer-overflow -fsanitize-ignorelist=%t-allow-same-as-no-category.ignorelist -emit-llvm %s -o - | FileCheck %s --check-prefix=INT + +// RUN: echo "[{unsigned-integer-overflow,signed-integer-overflow}]" > %t-myty.ignorelist +// RUN: echo "type:*" >> %t-myty.ignorelist +// RUN: echo "type:myty=skip" >> %t-myty.ignorelist ---------------- vitalybuka wrote:
I don't see a benefit of keeping all this test in one file it will only to degrade readability and debugging N files like this seems better ``` // RUN: rm -rf %t // RUN: split-file %s %t // Verify ubsan doesn't emit checks for ignorelisted types // RUN: %clang_cc1 -triple x86_64-linux-gnu -fsanitize=signed-integer-overflow,unsigned-integer-overflow -fsanitize-ignorelist=%t/test.ignorelist -emit-llvm %t/test.cpp -o - | FileCheck %s --check-prefix=INT --implicit-check-not="call {{.*}} @llvm" //--- test.cpp // INT-LABEL: ignore_int void ignore_int(int A, int B, unsigned C, unsigned D, long E) { // INT: llvm.uadd.with.overflow.i32 (void)(C+D); (void)(A+B); // INT: llvm.sadd.with.overflow.i64 (void)(++E); } //--- test.ignorelist [{unsigned-integer-overflow,signed-integer-overflow}] type:int ``` Note1: Use `split-file` Note2: Use `implicit-check-not` instead of -NOT. https://github.com/llvm/llvm-project/pull/107332 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits