[DebugInfo][RemoveDIs] Emulate inserting insts in dbg.value sequences (#73350)
[llvm-project.git] / flang / test / Lower / bindc_procs.f90
blob514f7713c383b598d22c4b626d1b2bfea9e18e0b
1 ! RUN: bbc -emit-fir %s -o - | FileCheck %s
3 ! CHECK-DAG: func.func private @proc1() attributes {fir.bindc_name = "proc1"}
4 module decl1
5 interface
6 subroutine proc_iface() bind(C)
7 end subroutine proc_iface
8 end interface
9 procedure (proc_iface) PrOc1
10 end module decl1
11 subroutine test1(x)
12 use decl1
13 call PrOc1
14 end subroutine test1
16 ! CHECK-DAG: func.func private @proc2() attributes {fir.bindc_name = "proc2"}
17 module decl2
18 interface
19 subroutine proc_iface() bind(C)
20 end subroutine proc_iface
21 end interface
22 end module decl2
23 subroutine test2(x)
24 use decl2
25 procedure (proc_iface) PrOc2
26 call PrOc2
27 end subroutine test2
29 ! CHECK-DAG: func.func private @func3() -> f32 attributes {fir.bindc_name = "func3"}
30 module decl3
31 interface
32 real function func_iface() bind(C)
33 end function func_iface
34 end interface
35 procedure (func_iface) FuNc3
36 end module decl3
37 subroutine test3(x)
38 use decl3
39 real :: x
40 x = FuNc3()
41 end subroutine test3
43 ! CHECK-DAG: func.func private @func4() -> f32 attributes {fir.bindc_name = "func4"}
44 module decl4
45 interface
46 real function func_iface() bind(C)
47 end function func_iface
48 end interface
49 end module decl4
50 subroutine test4(x)
51 use decl4
52 procedure (func_iface) FuNc4
53 real :: x
54 x = FuNc4()
55 end subroutine test4