Clang Project

clang_source_code/test/CodeGen/ubsan-debuglog-return.c
1// RUN: %clang_cc1 -x c -debug-info-kind=line-tables-only -emit-llvm -fsanitize=returns-nonnull-attribute -o - %s | FileCheck %s
2// The UBSAN function call in the epilogue needs to have a debug location.
3
4__attribute__((returns_nonnull)) void *allocate() {}
5
6// CHECK: define {{.*}}nonnull i8* @allocate(){{.*}} !dbg
7// CHECK: call void @__ubsan_handle_nonnull_return_v1_abort
8// CHECK-SAME:  !dbg ![[LOC:[0-9]+]]
9// CHECK: ret i8*
10// CHECK-SAME:  !dbg ![[LOC]]
11