diff --git a/clang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml b/clang/test/CodeGen/Inputs/sanitizer-ignorelist-vfsoverlay.yaml rename from clang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml rename to clang/test/CodeGen/Inputs/sanitizer-ignorelist-vfsoverlay.yaml --- a/clang/test/CodeGen/Inputs/sanitizer-blacklist-vfsoverlay.yaml +++ b/clang/test/CodeGen/Inputs/sanitizer-ignorelist-vfsoverlay.yaml @@ -3,10 +3,10 @@ 'roots': [ { 'name': '@DIR@', 'type': 'directory', 'contents': [ - { 'name': 'only-virtual-file.blacklist', 'type': 'file', + { 'name': 'only-virtual-file.ignorelist', 'type': 'file', 'external-contents': '@REAL_FILE@' }, - { 'name': 'invalid-virtual-file.blacklist', 'type': 'file', + { 'name': 'invalid-virtual-file.ignorelist', 'type': 'file', 'external-contents': '@NONEXISTENT_FILE@' } ] diff --git a/clang/test/CodeGen/address-safety-attr.cpp b/clang/test/CodeGen/address-safety-attr.cpp --- a/clang/test/CodeGen/address-safety-attr.cpp +++ b/clang/test/CodeGen/address-safety-attr.cpp @@ -6,13 +6,13 @@ // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin -disable-O0-optnone -emit-llvm -o - %s -include %t.extra-source.cpp | FileCheck -check-prefix=WITHOUT %s // RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin -disable-O0-optnone -emit-llvm -o - %s -include %t.extra-source.cpp -fsanitize=address | FileCheck -check-prefix=ASAN %s -// RUN: echo "fun:*BlacklistedFunction*" > %t.func.blacklist -// RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin -disable-O0-optnone -emit-llvm -o - %s -include %t.extra-source.cpp -fsanitize=address -fsanitize-blacklist=%t.func.blacklist | FileCheck -check-prefix=BLFUNC %s +// RUN: echo "fun:*IgnorelistedFunction*" > %t.func.ignorelist +// RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin -disable-O0-optnone -emit-llvm -o - %s -include %t.extra-source.cpp -fsanitize=address -fsanitize-ignorelist=%t.func.ignorelist | FileCheck -check-prefix=BLFUNC %s -// The blacklist file uses regexps, so escape backslashes, which are common in +// The ignorelist file uses regexps, so escape backslashes, which are common in // Windows paths. -// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t.file.blacklist -// RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin -disable-O0-optnone -emit-llvm -o - %s -include %t.extra-source.cpp -fsanitize=address -fsanitize-blacklist=%t.file.blacklist | FileCheck -check-prefix=BLFILE %s +// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t.file.ignorelist +// RUN: %clang_cc1 -std=c++11 -triple x86_64-apple-darwin -disable-O0-optnone -emit-llvm -o - %s -include %t.extra-source.cpp -fsanitize=address -fsanitize-ignorelist=%t.file.ignorelist | FileCheck -check-prefix=BLFILE %s // The sanitize_address attribute should be attached to functions // when AddressSanitizer is enabled, unless no_sanitize_address attribute @@ -25,7 +25,7 @@ // ASAN: DefinedInDifferentFile{{.*}} [[WITH:#[0-9]+]] // Check that functions generated for global in different source file are -// not blacklisted. +// not ignorelisted. // WITHOUT: @__cxx_global_var_init{{.*}}[[NOATTR:#[0-9]+]] // WITHOUT: @__cxx_global_array_dtor{{.*}}[[NOATTR]] // BLFILE: @__cxx_global_var_init{{.*}}[[WITH:#[0-9]+]] @@ -86,11 +86,11 @@ // ASAN: AddressSafetyOk{{.*}}) [[WITH:#[0-9]+]] int AddressSafetyOk(int *a) { return *a; } -// WITHOUT: BlacklistedFunction{{.*}}) [[NOATTR]] -// BLFILE: BlacklistedFunction{{.*}}) [[NOATTR]] -// BLFUNC: BlacklistedFunction{{.*}}) [[NOATTR]] -// ASAN: BlacklistedFunction{{.*}}) [[WITH]] -int BlacklistedFunction(int *a) { return *a; } +// WITHOUT: IgnorelistedFunction{{.*}}) [[NOATTR]] +// BLFILE: IgnorelistedFunction{{.*}}) [[NOATTR]] +// BLFUNC: IgnorelistedFunction{{.*}}) [[NOATTR]] +// ASAN: IgnorelistedFunction{{.*}}) [[WITH]] +int IgnorelistedFunction(int *a) { return *a; } #define GENERATE_FUNC(name) \ int name(int *a) { return *a; } diff --git a/clang/test/CodeGen/asan-globals.cpp b/clang/test/CodeGen/asan-globals.cpp --- a/clang/test/CodeGen/asan-globals.cpp +++ b/clang/test/CodeGen/asan-globals.cpp @@ -1,16 +1,16 @@ // RUN: echo "int extra_global;" > %t.extra-source.cpp -// RUN: echo "global:*blacklisted_global*" > %t.blacklist -// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=address -fsanitize-blacklist=%t.blacklist -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,ASAN -// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=kernel-address -fsanitize-blacklist=%t.blacklist -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,KASAN -// The blacklist file uses regexps, so Windows path backslashes. -// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t.blacklist-src -// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=address -fsanitize-blacklist=%t.blacklist-src -emit-llvm -o - %s | FileCheck %s --check-prefix=BLACKLIST-SRC -// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=kernel-address -fsanitize-blacklist=%t.blacklist-src -emit-llvm -o - %s | FileCheck %s --check-prefix=BLACKLIST-SRC +// RUN: echo "global:*ignorelisted_global*" > %t.ignorelist +// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=address -fsanitize-ignorelist=%t.ignorelist -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,ASAN +// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=kernel-address -fsanitize-ignorelist=%t.ignorelist -emit-llvm -o - %s | FileCheck %s --check-prefixes=CHECK,KASAN +// The ignorelist file uses regexps, so Windows path backslashes. +// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t.ignorelist-src +// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=address -fsanitize-ignorelist=%t.ignorelist-src -emit-llvm -o - %s | FileCheck %s --check-prefix=IGNORELIST-SRC +// RUN: %clang_cc1 -include %t.extra-source.cpp -fsanitize=kernel-address -fsanitize-ignorelist=%t.ignorelist-src -emit-llvm -o - %s | FileCheck %s --check-prefix=IGNORELIST-SRC int global; int dyn_init_global = global; int __attribute__((no_sanitize("address"))) attributed_global; -int blacklisted_global; +int ignorelisted_global; int __attribute__((section("__DATA, __common"))) sectioned_global; // KASAN - ignore globals in a section extern "C" { @@ -50,7 +50,7 @@ // UWTABLE: attributes #[[#ATTR]] = { nounwind uwtable } // UWTABLE: ![[#]] = !{i32 7, !"uwtable", i32 1} -// CHECK: !llvm.asan.globals = !{![[EXTRA_GLOBAL:[0-9]+]], ![[GLOBAL:[0-9]+]], ![[DYN_INIT_GLOBAL:[0-9]+]], ![[ATTR_GLOBAL:[0-9]+]], ![[BLACKLISTED_GLOBAL:[0-9]+]], ![[SECTIONED_GLOBAL:[0-9]+]], ![[SPECIAL_GLOBAL:[0-9]+]], ![[STATIC_VAR:[0-9]+]], ![[LITERAL:[0-9]+]]} +// CHECK: !llvm.asan.globals = !{![[EXTRA_GLOBAL:[0-9]+]], ![[GLOBAL:[0-9]+]], ![[DYN_INIT_GLOBAL:[0-9]+]], ![[ATTR_GLOBAL:[0-9]+]], ![[IGNORELISTED_GLOBAL:[0-9]+]], ![[SECTIONED_GLOBAL:[0-9]+]], ![[SPECIAL_GLOBAL:[0-9]+]], ![[STATIC_VAR:[0-9]+]], ![[LITERAL:[0-9]+]]} // CHECK: ![[EXTRA_GLOBAL]] = !{{{.*}} ![[EXTRA_GLOBAL_LOC:[0-9]+]], !"extra_global", i1 false, i1 false} // CHECK: ![[EXTRA_GLOBAL_LOC]] = !{!"{{.*}}extra-source.cpp", i32 1, i32 5} // CHECK: ![[GLOBAL]] = !{{{.*}} ![[GLOBAL_LOC:[0-9]+]], !"global", i1 false, i1 false} @@ -58,7 +58,7 @@ // CHECK: ![[DYN_INIT_GLOBAL]] = !{{{.*}} ![[DYN_INIT_LOC:[0-9]+]], !"dyn_init_global", i1 true, i1 false} // CHECK: ![[DYN_INIT_LOC]] = !{!"{{.*}}asan-globals.cpp", i32 11, i32 5} // CHECK: ![[ATTR_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} -// CHECK: ![[BLACKLISTED_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} +// CHECK: ![[IGNORELISTED_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} // CHECK: ![[SECTIONED_GLOBAL]] = !{{{.*}} ![[SECTIONED_GLOBAL_LOC:[0-9]+]], !"sectioned_global", i1 false, i1 false} // CHECK: ![[SECTIONED_GLOBAL_LOC]] = !{!"{{.*}}asan-globals.cpp", i32 15, i32 50} // CHECK: ![[SPECIAL_GLOBAL]] = !{{{.*}} ![[SPECIAL_GLOBAL_LOC:[0-9]+]], !"__special_global", i1 false, i1 false} @@ -68,14 +68,14 @@ // CHECK: ![[LITERAL]] = !{{{.*}} ![[LITERAL_LOC:[0-9]+]], !"", i1 false, i1 false} // CHECK: ![[LITERAL_LOC]] = !{!"{{.*}}asan-globals.cpp", i32 22, i32 25} -// BLACKLIST-SRC: !llvm.asan.globals = !{![[EXTRA_GLOBAL:[0-9]+]], ![[GLOBAL:[0-9]+]], ![[DYN_INIT_GLOBAL:[0-9]+]], ![[ATTR_GLOBAL:[0-9]+]], ![[BLACKLISTED_GLOBAL:[0-9]+]], ![[SECTIONED_GLOBAL:[0-9]+]], ![[SPECIAL_GLOBAL:[0-9]+]], ![[STATIC_VAR:[0-9]+]], ![[LITERAL:[0-9]+]]} -// BLACKLIST-SRC: ![[EXTRA_GLOBAL]] = !{{{.*}} ![[EXTRA_GLOBAL_LOC:[0-9]+]], !"extra_global", i1 false, i1 false} -// BLACKLIST-SRC: ![[EXTRA_GLOBAL_LOC]] = !{!"{{.*}}extra-source.cpp", i32 1, i32 5} -// BLACKLIST-SRC: ![[GLOBAL]] = !{{{.*}} null, null, i1 false, i1 true} -// BLACKLIST-SRC: ![[DYN_INIT_GLOBAL]] = !{{{.*}} null, null, i1 true, i1 true} -// BLACKLIST-SRC: ![[ATTR_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} -// BLACKLIST-SRC: ![[BLACKLISTED_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} -// BLACKLIST-SRC: ![[SECTIONED_GLOBAL]] = !{{{.*}} null, null, i1 false, i1 true} -// BLACKLIST-SRC: ![[SPECIAL_GLOBAL]] = !{{{.*}} null, null, i1 false, i1 true} -// BLACKLIST-SRC: ![[STATIC_VAR]] = !{{{.*}} null, null, i1 false, i1 true} -// BLACKLIST-SRC: ![[LITERAL]] = !{{{.*}} null, null, i1 false, i1 true} +// IGNORELIST-SRC: !llvm.asan.globals = !{![[EXTRA_GLOBAL:[0-9]+]], ![[GLOBAL:[0-9]+]], ![[DYN_INIT_GLOBAL:[0-9]+]], ![[ATTR_GLOBAL:[0-9]+]], ![[IGNORELISTED_GLOBAL:[0-9]+]], ![[SECTIONED_GLOBAL:[0-9]+]], ![[SPECIAL_GLOBAL:[0-9]+]], ![[STATIC_VAR:[0-9]+]], ![[LITERAL:[0-9]+]]} +// IGNORELIST-SRC: ![[EXTRA_GLOBAL]] = !{{{.*}} ![[EXTRA_GLOBAL_LOC:[0-9]+]], !"extra_global", i1 false, i1 false} +// IGNORELIST-SRC: ![[EXTRA_GLOBAL_LOC]] = !{!"{{.*}}extra-source.cpp", i32 1, i32 5} +// IGNORELIST-SRC: ![[GLOBAL]] = !{{{.*}} null, null, i1 false, i1 true} +// IGNORELIST-SRC: ![[DYN_INIT_GLOBAL]] = !{{{.*}} null, null, i1 true, i1 true} +// IGNORELIST-SRC: ![[ATTR_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} +// IGNORELIST-SRC: ![[IGNORELISTED_GLOBAL]] = !{{{.*}}, null, null, i1 false, i1 true} +// IGNORELIST-SRC: ![[SECTIONED_GLOBAL]] = !{{{.*}} null, null, i1 false, i1 true} +// IGNORELIST-SRC: ![[SPECIAL_GLOBAL]] = !{{{.*}} null, null, i1 false, i1 true} +// IGNORELIST-SRC: ![[STATIC_VAR]] = !{{{.*}} null, null, i1 false, i1 true} +// IGNORELIST-SRC: ![[LITERAL]] = !{{{.*}} null, null, i1 false, i1 true} diff --git a/clang/test/CodeGen/catch-alignment-assumption-blacklist.c b/clang/test/CodeGen/catch-alignment-assumption-ignorelist.c rename from clang/test/CodeGen/catch-alignment-assumption-blacklist.c rename to clang/test/CodeGen/catch-alignment-assumption-ignorelist.c --- a/clang/test/CodeGen/catch-alignment-assumption-blacklist.c +++ b/clang/test/CodeGen/catch-alignment-assumption-ignorelist.c @@ -6,13 +6,13 @@ return __builtin_assume_aligned(x, 1); } -// CHECK-LABEL: blacklist_0 -__attribute__((no_sanitize("undefined"))) void *blacklist_0(void *x) { +// CHECK-LABEL: ignorelist_0 +__attribute__((no_sanitize("undefined"))) void *ignorelist_0(void *x) { return __builtin_assume_aligned(x, 1); } -// CHECK-LABEL: blacklist_1 -__attribute__((no_sanitize("alignment"))) void *blacklist_1(void *x) { +// CHECK-LABEL: ignorelist_1 +__attribute__((no_sanitize("alignment"))) void *ignorelist_1(void *x) { return __builtin_assume_aligned(x, 1); } diff --git a/clang/test/CodeGen/catch-implicit-integer-sign-changes-true-negatives.c b/clang/test/CodeGen/catch-implicit-integer-sign-changes-true-negatives.c --- a/clang/test/CodeGen/catch-implicit-integer-sign-changes-true-negatives.c +++ b/clang/test/CodeGen/catch-implicit-integer-sign-changes-true-negatives.c @@ -10,25 +10,25 @@ // Sanitization is explicitly disabled. // ========================================================================== // -// CHECK-LABEL: @blacklist_0 -__attribute__((no_sanitize("undefined"))) unsigned int blacklist_0(signed int src) { +// CHECK-LABEL: @ignorelist_0 +__attribute__((no_sanitize("undefined"))) unsigned int ignorelist_0(signed int src) { // We are not in "undefined" group, so that doesn't work. // CHECK-SANITIZE: call return src; } -// CHECK-LABEL: @blacklist_1 -__attribute__((no_sanitize("integer"))) unsigned int blacklist_1(signed int src) { +// CHECK-LABEL: @ignorelist_1 +__attribute__((no_sanitize("integer"))) unsigned int ignorelist_1(signed int src) { return src; } -// CHECK-LABEL: @blacklist_2 -__attribute__((no_sanitize("implicit-conversion"))) unsigned int blacklist_2(signed int src) { +// CHECK-LABEL: @ignorelist_2 +__attribute__((no_sanitize("implicit-conversion"))) unsigned int ignorelist_2(signed int src) { return src; } -// CHECK-LABEL: @blacklist_3 -__attribute__((no_sanitize("implicit-integer-sign-change"))) unsigned int blacklist_3(signed int src) { +// CHECK-LABEL: @ignorelist_3 +__attribute__((no_sanitize("implicit-integer-sign-change"))) unsigned int ignorelist_3(signed int src) { return src; } diff --git a/clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c b/clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c --- a/clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c +++ b/clang/test/CodeGen/catch-implicit-integer-truncations-basics-negatives.c @@ -9,36 +9,36 @@ // Unsigned case. //----------------------------------------------------------------------------// -// CHECK-LABEL: @blacklist_0_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("undefined"))) unsigned char blacklist_0_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_0_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("undefined"))) unsigned char ignorelist_0_convert_unsigned_int_to_unsigned_char(unsigned int x) { // We are not in "undefined" group, so that doesn't work. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_100_UNSIGNED_TRUNCATION]] to i8*) #line 100 return x; } -// CHECK-LABEL: @blacklist_1_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("integer"))) unsigned char blacklist_1_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_1_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("integer"))) unsigned char ignorelist_1_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_2_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-conversion"))) unsigned char blacklist_2_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_2_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-conversion"))) unsigned char ignorelist_2_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_3_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-integer-truncation"))) unsigned char blacklist_3_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_3_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-integer-truncation"))) unsigned char ignorelist_3_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_4_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) unsigned char blacklist_4_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_4_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) unsigned char ignorelist_4_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_5_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-signed-integer-truncation"))) unsigned char blacklist_5_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_5_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-signed-integer-truncation"))) unsigned char ignorelist_5_convert_unsigned_int_to_unsigned_char(unsigned int x) { // This is an unsigned truncation, not signed-one. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_200_UNSIGNED_TRUNCATION]] to i8*) #line 200 @@ -49,36 +49,36 @@ // Signed case. //----------------------------------------------------------------------------// -// CHECK-LABEL: @blacklist_0_convert_signed_int_to_signed_char -__attribute__((no_sanitize("undefined"))) signed char blacklist_0_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_0_convert_signed_int_to_signed_char +__attribute__((no_sanitize("undefined"))) signed char ignorelist_0_convert_signed_int_to_signed_char(signed int x) { // We are not in "undefined" group, so that doesn't work. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_300_SIGNED_TRUNCATION]] to i8*) #line 300 return x; } -// CHECK-LABEL: @blacklist_1_convert_signed_int_to_signed_char -__attribute__((no_sanitize("integer"))) signed char blacklist_1_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_1_convert_signed_int_to_signed_char +__attribute__((no_sanitize("integer"))) signed char ignorelist_1_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_2_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-conversion"))) signed char blacklist_2_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_2_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-conversion"))) signed char ignorelist_2_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_3_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-integer-truncation"))) signed char blacklist_3_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_3_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-integer-truncation"))) signed char ignorelist_3_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_4_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-signed-integer-truncation"))) signed char blacklist_4_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_4_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-signed-integer-truncation"))) signed char ignorelist_4_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_5_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) signed char blacklist_5_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_5_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) signed char ignorelist_5_convert_signed_int_to_signed_char(signed int x) { // This is an signed truncation, not unsigned-one. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_400_SIGNED_TRUNCATION]] to i8*) #line 400 diff --git a/clang/test/CodeGen/catch-implicit-integer-truncations.c b/clang/test/CodeGen/catch-implicit-integer-truncations.c --- a/clang/test/CodeGen/catch-implicit-integer-truncations.c +++ b/clang/test/CodeGen/catch-implicit-integer-truncations.c @@ -158,25 +158,25 @@ // Sanitization is explicitly disabled. // ========================================================================== // -// CHECK-LABEL: @blacklist_0 -__attribute__((no_sanitize("undefined"))) unsigned char blacklist_0(unsigned int src) { +// CHECK-LABEL: @ignorelist_0 +__attribute__((no_sanitize("undefined"))) unsigned char ignorelist_0(unsigned int src) { // We are not in "undefined" group, so that doesn't work. // CHECK-SANITIZE: call return src; } -// CHECK-LABEL: @blacklist_1 -__attribute__((no_sanitize("integer"))) unsigned char blacklist_1(unsigned int src) { +// CHECK-LABEL: @ignorelist_1 +__attribute__((no_sanitize("integer"))) unsigned char ignorelist_1(unsigned int src) { return src; } -// CHECK-LABEL: @blacklist_2 -__attribute__((no_sanitize("implicit-conversion"))) unsigned char blacklist_2(unsigned int src) { +// CHECK-LABEL: @ignorelist_2 +__attribute__((no_sanitize("implicit-conversion"))) unsigned char ignorelist_2(unsigned int src) { return src; } -// CHECK-LABEL: @blacklist_3 -__attribute__((no_sanitize("implicit-integer-truncation"))) unsigned char blacklist_3(unsigned int src) { +// CHECK-LABEL: @ignorelist_3 +__attribute__((no_sanitize("implicit-integer-truncation"))) unsigned char ignorelist_3(unsigned int src) { return src; } diff --git a/clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c b/clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c --- a/clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c +++ b/clang/test/CodeGen/catch-implicit-signed-integer-truncations-basics-negatives.c @@ -3,36 +3,36 @@ // CHECK-DAG: @[[LINE_100_SIGNED_TRUNCATION:.*]] = {{.*}}, i32 100, i32 10 }, {{.*}}, {{.*}}, i8 2 } // CHECK-DAG: @[[LINE_200_SIGNED_TRUNCATION:.*]] = {{.*}}, i32 200, i32 10 }, {{.*}}, {{.*}}, i8 2 } -// CHECK-LABEL: @blacklist_0_convert_signed_int_to_signed_char -__attribute__((no_sanitize("undefined"))) signed char blacklist_0_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_0_convert_signed_int_to_signed_char +__attribute__((no_sanitize("undefined"))) signed char ignorelist_0_convert_signed_int_to_signed_char(signed int x) { // We are not in "undefined" group, so that doesn't work. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_100_SIGNED_TRUNCATION]] to i8*) #line 100 return x; } -// CHECK-LABEL: @blacklist_1_convert_signed_int_to_signed_char -__attribute__((no_sanitize("integer"))) signed char blacklist_1_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_1_convert_signed_int_to_signed_char +__attribute__((no_sanitize("integer"))) signed char ignorelist_1_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_2_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-conversion"))) signed char blacklist_2_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_2_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-conversion"))) signed char ignorelist_2_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_3_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-integer-truncation"))) signed char blacklist_3_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_3_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-integer-truncation"))) signed char ignorelist_3_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_4_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-signed-integer-truncation"))) signed char blacklist_4_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_4_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-signed-integer-truncation"))) signed char ignorelist_4_convert_signed_int_to_signed_char(signed int x) { return x; } -// CHECK-LABEL: @blacklist_5_convert_signed_int_to_signed_char -__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) signed char blacklist_5_convert_signed_int_to_signed_char(signed int x) { +// CHECK-LABEL: @ignorelist_5_convert_signed_int_to_signed_char +__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) signed char ignorelist_5_convert_signed_int_to_signed_char(signed int x) { // This is an signed truncation, not unsigned-one. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_200_SIGNED_TRUNCATION]] to i8*) #line 200 diff --git a/clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c b/clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c --- a/clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c +++ b/clang/test/CodeGen/catch-implicit-unsigned-integer-truncations-basics-negatives.c @@ -3,36 +3,36 @@ // CHECK-DAG: @[[LINE_100_UNSIGNED_TRUNCATION:.*]] = {{.*}}, i32 100, i32 10 }, {{.*}}, {{.*}}, i8 1 } // CHECK-DAG: @[[LINE_200_UNSIGNED_TRUNCATION:.*]] = {{.*}}, i32 200, i32 10 }, {{.*}}, {{.*}}, i8 1 } -// CHECK-LABEL: @blacklist_0_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("undefined"))) unsigned char blacklist_0_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_0_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("undefined"))) unsigned char ignorelist_0_convert_unsigned_int_to_unsigned_char(unsigned int x) { // We are not in "undefined" group, so that doesn't work. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_100_UNSIGNED_TRUNCATION]] to i8*) #line 100 return x; } -// CHECK-LABEL: @blacklist_1_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("integer"))) unsigned char blacklist_1_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_1_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("integer"))) unsigned char ignorelist_1_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_2_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-conversion"))) unsigned char blacklist_2_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_2_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-conversion"))) unsigned char ignorelist_2_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_3_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-integer-truncation"))) unsigned char blacklist_3_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_3_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-integer-truncation"))) unsigned char ignorelist_3_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_4_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) unsigned char blacklist_4_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_4_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-unsigned-integer-truncation"))) unsigned char ignorelist_4_convert_unsigned_int_to_unsigned_char(unsigned int x) { return x; } -// CHECK-LABEL: @blacklist_5_convert_unsigned_int_to_unsigned_char -__attribute__((no_sanitize("implicit-signed-integer-truncation"))) unsigned char blacklist_5_convert_unsigned_int_to_unsigned_char(unsigned int x) { +// CHECK-LABEL: @ignorelist_5_convert_unsigned_int_to_unsigned_char +__attribute__((no_sanitize("implicit-signed-integer-truncation"))) unsigned char ignorelist_5_convert_unsigned_int_to_unsigned_char(unsigned int x) { // This is an unsigned truncation, not signed-one. // CHECK: call void @__ubsan_handle_implicit_conversion(i8* bitcast ({ {{{.*}}}, {{{.*}}}*, {{{.*}}}*, i8 }* @[[LINE_200_UNSIGNED_TRUNCATION]] to i8*) #line 200 diff --git a/clang/test/CodeGen/catch-nullptr-and-nonzero-offset-blacklist.c b/clang/test/CodeGen/catch-nullptr-and-nonzero-offset-ignorelist.c rename from clang/test/CodeGen/catch-nullptr-and-nonzero-offset-blacklist.c rename to clang/test/CodeGen/catch-nullptr-and-nonzero-offset-ignorelist.c --- a/clang/test/CodeGen/catch-nullptr-and-nonzero-offset-blacklist.c +++ b/clang/test/CodeGen/catch-nullptr-and-nonzero-offset-ignorelist.c @@ -14,13 +14,13 @@ return base + offset; } -// CHECK-LABEL: @blacklist_0 -__attribute__((no_sanitize("undefined"))) char *blacklist_0(char *base, unsigned long offset) { +// CHECK-LABEL: @ignorelist_0 +__attribute__((no_sanitize("undefined"))) char *ignorelist_0(char *base, unsigned long offset) { return base + offset; } -// CHECK-LABEL: @blacklist_1 -__attribute__((no_sanitize("pointer-overflow"))) char *blacklist_1(char *base, unsigned long offset) { +// CHECK-LABEL: @ignorelist_1 +__attribute__((no_sanitize("pointer-overflow"))) char *ignorelist_1(char *base, unsigned long offset) { return base + offset; } diff --git a/clang/test/CodeGen/cfi-check-fail2.c b/clang/test/CodeGen/cfi-check-fail2.c --- a/clang/test/CodeGen/cfi-check-fail2.c +++ b/clang/test/CodeGen/cfi-check-fail2.c @@ -3,10 +3,10 @@ // RUN: -fsanitize=cfi-vcall \ // RUN: -emit-llvm -o - %s | FileCheck %s -// Check that blacklist does not affect generated code. -// RUN: echo "src:*" > %t-all.blacklist +// Check that ignorelist does not affect generated code. +// RUN: echo "src:*" > %t-all.ignorelist // RUN: %clang_cc1 -triple x86_64-unknown-linux -O0 -fsanitize-cfi-cross-dso \ -// RUN: -fsanitize=cfi-vcall -fsanitize-blacklist=%t-all.blacklist \ +// RUN: -fsanitize=cfi-vcall -fsanitize-ignorelist=%t-all.ignorelist \ // RUN: -emit-llvm -o - %s | FileCheck %s void caller(void (*f)()) { diff --git a/clang/test/CodeGen/sanitize-thread-attr.cpp b/clang/test/CodeGen/sanitize-thread-attr.cpp --- a/clang/test/CodeGen/sanitize-thread-attr.cpp +++ b/clang/test/CodeGen/sanitize-thread-attr.cpp @@ -1,7 +1,7 @@ // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s | FileCheck -check-prefix=WITHOUT %s // RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=thread | FileCheck -check-prefix=TSAN %s // RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t -// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=thread -fsanitize-blacklist=%t | FileCheck -check-prefix=BL %s +// RUN: %clang_cc1 -triple x86_64-apple-darwin -emit-llvm -o - %s -fsanitize=thread -fsanitize-ignorelist=%t | FileCheck -check-prefix=BL %s // The sanitize_thread attribute should be attached to functions // when ThreadSanitizer is enabled, unless no_sanitize_thread attribute diff --git a/clang/test/CodeGen/ubsan-ignorelist-vfs.c b/clang/test/CodeGen/ubsan-ignorelist-vfs.c --- a/clang/test/CodeGen/ubsan-ignorelist-vfs.c +++ b/clang/test/CodeGen/ubsan-ignorelist-vfs.c @@ -1,17 +1,17 @@ -// Verify ubsan doesn't emit checks for blacklisted functions and files -// RUN: echo "fun:hash" > %t-func.blacklist -// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t-file.blacklist +// Verify ubsan doesn't emit checks for ignorelisted functions and files +// RUN: echo "fun:hash" > %t-func.ignorelist +// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t-file.ignorelist // RUN: rm -f %t-vfsoverlay.yaml -// RUN: rm -f %t-nonexistent.blacklist -// RUN: sed -e "s|@DIR@|%/T|g" %S/Inputs/sanitizer-blacklist-vfsoverlay.yaml | sed -e "s|@REAL_FILE@|%/t-func.blacklist|g" | sed -e "s|@NONEXISTENT_FILE@|%/t-nonexistent.blacklist|g" > %t-vfsoverlay.yaml -// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-blacklist=%/T/only-virtual-file.blacklist -emit-llvm %s -o - | FileCheck %s --check-prefix=FUNC +// RUN: rm -f %t-nonexistent.ignorelist +// RUN: sed -e "s|@DIR@|%/T|g" %S/Inputs/sanitizer-ignorelist-vfsoverlay.yaml | sed -e "s|@REAL_FILE@|%/t-func.ignorelist|g" | sed -e "s|@NONEXISTENT_FILE@|%/t-nonexistent.ignorelist|g" > %t-vfsoverlay.yaml +// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-ignorelist=%/T/only-virtual-file.ignorelist -emit-llvm %s -o - | FileCheck %s --check-prefix=FUNC -// RUN: not %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-blacklist=%/T/invalid-virtual-file.blacklist -emit-llvm %s -o - 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=INVALID-MAPPED-FILE -// INVALID-MAPPED-FILE: invalid-virtual-file.blacklist': [[MSG]] +// RUN: not %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-ignorelist=%/T/invalid-virtual-file.ignorelist -emit-llvm %s -o - 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=INVALID-MAPPED-FILE +// INVALID-MAPPED-FILE: invalid-virtual-file.ignorelist': [[MSG]] -// RUN: not %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-blacklist=%t-nonexistent.blacklist -emit-llvm %s -o - 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=INVALID -// INVALID: nonexistent.blacklist': [[MSG]] +// RUN: not %clang_cc1 -fsanitize=unsigned-integer-overflow -ivfsoverlay %t-vfsoverlay.yaml -fsanitize-ignorelist=%t-nonexistent.ignorelist -emit-llvm %s -o - 2>&1 | FileCheck -DMSG=%errc_ENOENT %s --check-prefix=INVALID +// INVALID: nonexistent.ignorelist': [[MSG]] unsigned i; diff --git a/clang/test/CodeGen/ubsan-blacklist.c b/clang/test/CodeGen/ubsan-ignorelist.c rename from clang/test/CodeGen/ubsan-blacklist.c rename to clang/test/CodeGen/ubsan-ignorelist.c --- a/clang/test/CodeGen/ubsan-blacklist.c +++ b/clang/test/CodeGen/ubsan-ignorelist.c @@ -1,9 +1,9 @@ -// Verify ubsan doesn't emit checks for blacklisted functions and files -// RUN: echo "fun:hash" > %t-func.blacklist -// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t-file.blacklist +// Verify ubsan doesn't emit checks for ignorelisted functions and files +// RUN: echo "fun:hash" > %t-func.ignorelist +// RUN: echo "src:%s" | sed -e 's/\\/\\\\/g' > %t-file.ignorelist // RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -emit-llvm %s -o - | FileCheck %s --check-prefix=DEFAULT -// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -fsanitize-blacklist=%t-func.blacklist -emit-llvm %s -o - | FileCheck %s --check-prefix=FUNC -// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -fsanitize-blacklist=%t-file.blacklist -emit-llvm %s -o - | FileCheck %s --check-prefix=FILE +// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -fsanitize-ignorelist=%t-func.ignorelist -emit-llvm %s -o - | FileCheck %s --check-prefix=FUNC +// RUN: %clang_cc1 -fsanitize=unsigned-integer-overflow -fsanitize-ignorelist=%t-file.ignorelist -emit-llvm %s -o - | FileCheck %s --check-prefix=FILE unsigned i; diff --git a/clang/test/CodeGenCXX/catch-implicit-integer-sign-changes-true-negatives.cpp b/clang/test/CodeGenCXX/catch-implicit-integer-sign-changes-true-negatives.cpp --- a/clang/test/CodeGenCXX/catch-implicit-integer-sign-changes-true-negatives.cpp +++ b/clang/test/CodeGenCXX/catch-implicit-integer-sign-changes-true-negatives.cpp @@ -12,30 +12,30 @@ // Sanitization is explicitly disabled. // ========================================================================== // -// CHECK-LABEL: @blacklist_0 -__attribute__((no_sanitize("undefined"))) unsigned int blacklist_0(signed int src) { +// CHECK-LABEL: @ignorelist_0 +__attribute__((no_sanitize("undefined"))) unsigned int ignorelist_0(signed int src) { // We are not in "undefined" group, so that doesn't work. // CHECK-SANITIZE: call // CHECK: } return src; } -// CHECK-LABEL: @blacklist_1 -__attribute__((no_sanitize("integer"))) unsigned int blacklist_1(signed int src) { +// CHECK-LABEL: @ignorelist_1 +__attribute__((no_sanitize("integer"))) unsigned int ignorelist_1(signed int src) { // CHECK-SANITIZE-NOT: call // CHECK: } return src; } -// CHECK-LABEL: @blacklist_2 -__attribute__((no_sanitize("implicit-conversion"))) unsigned int blacklist_2(signed int src) { +// CHECK-LABEL: @ignorelist_2 +__attribute__((no_sanitize("implicit-conversion"))) unsigned int ignorelist_2(signed int src) { // CHECK-SANITIZE-NOT: call // CHECK: } return src; } -// CHECK-LABEL: @blacklist_3 -__attribute__((no_sanitize("implicit-integer-sign-change"))) unsigned int blacklist_3(signed int src) { +// CHECK-LABEL: @ignorelist_3 +__attribute__((no_sanitize("implicit-integer-sign-change"))) unsigned int ignorelist_3(signed int src) { // CHECK-SANITIZE-NOT: call // CHECK: } return src; diff --git a/clang/test/CodeGenCXX/cfi-blacklist.cpp b/clang/test/CodeGenCXX/cfi-ignorelist.cpp rename from clang/test/CodeGenCXX/cfi-blacklist.cpp rename to clang/test/CodeGenCXX/cfi-ignorelist.cpp --- a/clang/test/CodeGenCXX/cfi-blacklist.cpp +++ b/clang/test/CodeGenCXX/cfi-ignorelist.cpp @@ -1,18 +1,18 @@ // RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOBL %s -// Check that blacklisting cfi and cfi-vcall work correctly +// Check that ignore listing cfi and cfi-vcall work correctly // RUN: echo "[cfi-vcall]" > %t.vcall.txt // RUN: echo "type:std::*" >> %t.vcall.txt -// RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -fsanitize-blacklist=%t.vcall.txt -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOSTD %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -fsanitize-ignorelist=%t.vcall.txt -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOSTD %s // // RUN: echo "[cfi]" > %t.cfi.txt // RUN: echo "type:std::*" >> %t.cfi.txt -// RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -fsanitize-blacklist=%t.cfi.txt -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOSTD %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -fsanitize-ignorelist=%t.cfi.txt -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOSTD %s -// Check that blacklisting non-vcall modes does not affect vcalls +// Check that ignore listing non-vcall modes does not affect vcalls // RUN: echo "[cfi-icall|cfi-nvcall|cfi-cast-strict|cfi-derived-cast|cfi-unrelated-cast]" > %t.other.txt // RUN: echo "type:std::*" >> %t.other.txt -// RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -fsanitize-blacklist=%t.other.txt -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOBL %s +// RUN: %clang_cc1 -triple %itanium_abi_triple -fvisibility hidden -fms-extensions -fsanitize=cfi-vcall -fsanitize-ignorelist=%t.other.txt -emit-llvm -o - %s | FileCheck --check-prefix=CHECK --check-prefix=NOBL %s struct S1 { virtual void f();