42 lines
1.2 KiB
C
42 lines
1.2 KiB
C
/// Test mainfile in a sanitizer special case list.
|
|
// RUN: rm -rf %t && split-file %s %t && cd %t
|
|
// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment a.c -o - | FileCheck %s --check-prefixes=CHECK,DEFAULT
|
|
// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=a.list a.c -o - | FileCheck %s --check-prefixes=CHECK,IGNORE
|
|
// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=b.list a.c -o - | FileCheck %s --check-prefixes=CHECK,IGNORE
|
|
|
|
//--- a.list
|
|
mainfile:*a.c
|
|
|
|
//--- b.list
|
|
[address]
|
|
mainfile:*a.c
|
|
|
|
[alignment]
|
|
mainfile:*.c
|
|
|
|
//--- a.h
|
|
int global_h;
|
|
|
|
static inline int load(int *x) {
|
|
return *x;
|
|
}
|
|
|
|
//--- a.c
|
|
#include "a.h"
|
|
|
|
int global_c;
|
|
|
|
int foo(void *x) {
|
|
return load(x);
|
|
}
|
|
|
|
// DEFAULT: @___asan_gen_{{.*}} = {{.*}} c"global_h\00"
|
|
// DEFAULT: @___asan_gen_{{.*}} = {{.*}} c"global_c\00"
|
|
// IGNORE-NOT: @___asan_gen_
|
|
|
|
// CHECK-LABEL: define {{.*}}@load(
|
|
// DEFAULT: call void @__ubsan_handle_type_mismatch_v1_abort(
|
|
// DEFAULT: call void @__asan_report_load4(
|
|
// IGNORE-NOT: call void @__ubsan_handle_type_mismatch_v1_abort(
|
|
// IGNORE-NOT: call void @__asan_report_load4(
|