================ @@ -0,0 +1,23 @@ +// 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 + + +// Verify ubsan only emits checks for files in the allowlist + +//--- src.ignorelist +src:* ---------------- qinkunbao wrote:
> Looks like we have a problem with: >``` >src:* >src:*/mylib/*=sanitize >src:*/mylib/test.cc > ``` Yeah, I was a little hesitated about the change during implementing the feature. For example, if we have a ignore list file ``` type:int src:test.cc=sanitize ``` If a file `test.cc` has the type `int`, shall we still instrument the type `int` variable in the file `test.cc`? On the other hand, ``` src:test.cc type:int=sanitize ``` Shall we still instrument the type `int` variable in the file `test.cc`? I think the both answers are yes. Looks like if we have two lines that contradict each other, we should always stick to the `=sanitize` entry. It makes sense to me. I will create a new PR with using user branches in llvm/llvm-project to update `SpecialCaseList::Sections`. Thank you for the feedback. https://github.com/llvm/llvm-project/pull/139772 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits