xref: /llvm-project/clang/test/CodeGen/debug-info-extern-callback.c (revision ed509fe296375eb7c01d3d9aeec15cc784695210)
1 // RUN: %clang_cc1 -x c -debug-info-kind=limited -triple bpf-linux-gnu -emit-llvm %s -o - | FileCheck %s
2 
3 extern int do_work1(int);
4 long bpf_helper1(void *callback_fn);
prog1(void)5 long prog1(void) {
6   return bpf_helper1(&do_work1);
7 }
8 
9 extern int do_work2(void);
prog2_1(void)10 long prog2_1(void) {
11   return (long)&do_work2;
12 }
do_work2(void)13 int do_work2(void) { return 0; }
prog2_2(void)14 long prog2_2(void) {
15   return (long)&do_work2;
16 }
17 
18 // CHECK: declare !dbg ![[FUNC1:[0-9]+]] i32 @do_work1
19 // CHECK: define dso_local i32 @do_work2() #{{[0-9]+}} !dbg ![[FUNC2:[0-9]+]]
20 
21 // CHECK: ![[FUNC1]] = !DISubprogram(name: "do_work1"
22 // CHECK: ![[FUNC2]] = distinct !DISubprogram(name: "do_work2"
23