brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 599ff8e Raw
53 lines · c
1/// Test mainfile in a sanitizer special case list.2// RUN: rm -rf %t && split-file %s %t3// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment %t/a.c -o - | FileCheck %s --check-prefixes=CHECK,SANITIZE4// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=%t/a.list %t/a.c -o - | FileCheck %s --check-prefixes=CHECK,IGNORE5// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=%t/b.list %t/a.c -o - | FileCheck %s --check-prefixes=CHECK,IGNORE6// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=%t/c.list %t/a.c -o - | FileCheck %s --check-prefixes=CHECK,SANITIZE7// RUN: %clang_cc1 -emit-llvm -triple x86_64 -fsanitize=address,alignment -fsanitize-ignorelist=%t/d.list %t/a.c -o - | FileCheck %s --check-prefixes=CHECK,IGNORE8 9//--- a.list10mainfile:*a.c11 12//--- b.list13[address]14mainfile:*a.c15 16[alignment]17mainfile:*.c18 19//--- c.list20mainfile:*a.c21mainfile:*a.c=sanitize22 23//--- d.list24mainfile:*a.c25mainfile:*a.c=sanitize26mainfile:*a.c27 28//--- a.h29int global_h;30 31static inline int load(int *x) {32  return *x;33}34 35//--- a.c36#include "a.h"37 38int global_c;39 40int foo(void *x) {41  return load(x);42}43 44// SANITIZE:     @___asan_gen_{{.*}} = {{.*}} c"global_h\00"45// SANITIZE:     @___asan_gen_{{.*}} = {{.*}} c"global_c\00"46// IGNORE-NOT:  @___asan_gen_47 48// CHECK-LABEL: define {{.*}}@load(49// SANITIZE:       call void @__ubsan_handle_type_mismatch_v1_abort(50// SANITIZE:       call void @__asan_report_load4(51// IGNORE-NOT:    call void @__ubsan_handle_type_mismatch_v1_abort(52// IGNORE-NOT:    call void @__asan_report_load4(53