Clang Project

clang_source_code/test/CodeGenCXX/ubsan-check-debuglocs.cpp
1// RUN: %clang_cc1 -emit-llvm -debug-info-kind=limited \
2// RUN:   -fsanitize=null %s -o - | FileCheck %s
3
4// Check that santizer check calls have a !dbg location.
5// CHECK: define {{.*}}acquire{{.*}} !dbg
6// CHECK-NOT: define
7// CHECK: call void {{.*}}@__ubsan_handle_type_mismatch_v1
8// CHECK-SAME: !dbg
9
10struct SourceLocation {
11  SourceLocation acquire() {};
12};
13extern "C" void __ubsan_handle_type_mismatch_v1(SourceLocation *Loc);
14static void handleTypeMismatchImpl(SourceLocation *Loc) { Loc->acquire(); }
15void __ubsan_handle_type_mismatch_v1(SourceLocation *Loc) {
16  handleTypeMismatchImpl(Loc);
17}
18