92 lines · plain
1!RUN: %flang_fc1 -fdebug-dump-symbols %s 2>&1 | FileCheck %s2!CHECK: p1a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1a3!CHECK: p1b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1b4!CHECK: p1c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:P1c5!CHECK: p2a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2a6!CHECK: p2b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2b7!CHECK: p2c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:P2c8!CHECK: p3a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3a9!CHECK: p3b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3b10!CHECK: p3c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:P3c11module m112 procedure(s1) :: p1a13 procedure(s1), bind(c) :: p1b14 procedure(s1), bind(c,name='P1c') :: p1c15 procedure(s2) :: p2a16 procedure(s2), bind(c) :: p2b17 procedure(s2), bind(c,name='P2c') :: p2c18 procedure(s3) :: p3a19 procedure(s3), bind(c) :: p3b20 procedure(s3), bind(c,name='P3c') :: p3c21 contains22 subroutine s1() bind(c)23 end24 subroutine s2() bind(c,name='')25 end26 subroutine s3() bind(c,name='foo')27 end28end29 30!CHECK: p1a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1a31!CHECK: p1b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1b32!CHECK: p1c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:P1c33!CHECK: p2a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2a34!CHECK: p2b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2b35!CHECK: p2c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:P2c36!CHECK: p3a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3a37!CHECK: p3b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3b38!CHECK: p3c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:P3c39module m240 interface41 subroutine s1() bind(c)42 end43 subroutine s2() bind(c,name='')44 end45 subroutine s3() bind(c,name='foo')46 end47 end interface48 procedure(s1) :: p1a49 procedure(s1), bind(c) :: p1b50 procedure(s1), bind(c,name='P1c') :: p1c51 procedure(s2) :: p2a52 procedure(s2), bind(c) :: p2b53 procedure(s2), bind(c,name='P2c') :: p2c54 procedure(s3) :: p3a55 procedure(s3), bind(c) :: p3b56 procedure(s3), bind(c,name='P3c') :: p3c57end58 59!CHECK: p1a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1a60!CHECK: p1b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1b61!CHECK: p1c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:P1c62!CHECK: p2a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2a63!CHECK: p2b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2b64!CHECK: p2c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:P2c65!CHECK: p3a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3a66!CHECK: p3b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3b67!CHECK: p3c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:P3c68module m369 procedure(s1) :: p1a70 procedure(s1), bind(c) :: p1b71 procedure(s1), bind(c,name='P1c') :: p1c72 procedure(s2) :: p2a73 procedure(s2), bind(c) :: p2b74 procedure(s2), bind(c,name='P2c') :: p2c75 procedure(s3) :: p3a76 procedure(s3), bind(c) :: p3b77 procedure(s3), bind(c,name='P3c') :: p3c78 interface79 subroutine s1() bind(c)80 end81 subroutine s2() bind(c,name='')82 end83 subroutine s3() bind(c,name='foo')84 end85 end interface86end87 88!CHECK: cdef01, BIND(C), PUBLIC size=4 offset=0: ObjectEntity type: REAL(4) bindName:cDef01 CDEFINED89module m490 real, bind(c, name='cDef01', cdefined) :: cdef0191end92