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()5 long prog1() {
6   return bpf_helper1(&do_work1);
7 }
8 
9 extern int do_work2();
prog2_1()10 long prog2_1() {
11   return (long)&do_work2;
12 }
do_work2()13 int do_work2() { return 0; }
prog2_2()14 long prog2_2() {
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