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