1d03cd05fSPeter Klausler!RUN: %flang_fc1 -fdebug-dump-symbols %s 2>&1 | FileCheck %s 2d03cd05fSPeter Klausler!CHECK: p1a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1a 3d03cd05fSPeter Klausler!CHECK: p1b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1b 4d03cd05fSPeter Klausler!CHECK: p1c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:P1c 5d03cd05fSPeter Klausler!CHECK: p2a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2a 6d03cd05fSPeter Klausler!CHECK: p2b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2b 7d03cd05fSPeter Klausler!CHECK: p2c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:P2c 8d03cd05fSPeter Klausler!CHECK: p3a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3a 9d03cd05fSPeter Klausler!CHECK: p3b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3b 10d03cd05fSPeter Klausler!CHECK: p3c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:P3c 11d03cd05fSPeter Klauslermodule m1 12d03cd05fSPeter Klausler procedure(s1) :: p1a 13d03cd05fSPeter Klausler procedure(s1), bind(c) :: p1b 14d03cd05fSPeter Klausler procedure(s1), bind(c,name='P1c') :: p1c 15d03cd05fSPeter Klausler procedure(s2) :: p2a 16d03cd05fSPeter Klausler procedure(s2), bind(c) :: p2b 17d03cd05fSPeter Klausler procedure(s2), bind(c,name='P2c') :: p2c 18d03cd05fSPeter Klausler procedure(s3) :: p3a 19d03cd05fSPeter Klausler procedure(s3), bind(c) :: p3b 20d03cd05fSPeter Klausler procedure(s3), bind(c,name='P3c') :: p3c 21d03cd05fSPeter Klausler contains 22d03cd05fSPeter Klausler subroutine s1() bind(c) 23d03cd05fSPeter Klausler end 24d03cd05fSPeter Klausler subroutine s2() bind(c,name='') 25d03cd05fSPeter Klausler end 26d03cd05fSPeter Klausler subroutine s3() bind(c,name='foo') 27d03cd05fSPeter Klausler end 28d03cd05fSPeter Klauslerend 29d03cd05fSPeter Klausler 30d03cd05fSPeter Klausler!CHECK: p1a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1a 31d03cd05fSPeter Klausler!CHECK: p1b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1b 32d03cd05fSPeter Klausler!CHECK: p1c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:P1c 33d03cd05fSPeter Klausler!CHECK: p2a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2a 34d03cd05fSPeter Klausler!CHECK: p2b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2b 35d03cd05fSPeter Klausler!CHECK: p2c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:P2c 36d03cd05fSPeter Klausler!CHECK: p3a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3a 37d03cd05fSPeter Klausler!CHECK: p3b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3b 38d03cd05fSPeter Klausler!CHECK: p3c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:P3c 39d03cd05fSPeter Klauslermodule m2 40d03cd05fSPeter Klausler interface 41d03cd05fSPeter Klausler subroutine s1() bind(c) 42d03cd05fSPeter Klausler end 43d03cd05fSPeter Klausler subroutine s2() bind(c,name='') 44d03cd05fSPeter Klausler end 45d03cd05fSPeter Klausler subroutine s3() bind(c,name='foo') 46d03cd05fSPeter Klausler end 47d03cd05fSPeter Klausler end interface 48d03cd05fSPeter Klausler procedure(s1) :: p1a 49d03cd05fSPeter Klausler procedure(s1), bind(c) :: p1b 50d03cd05fSPeter Klausler procedure(s1), bind(c,name='P1c') :: p1c 51d03cd05fSPeter Klausler procedure(s2) :: p2a 52d03cd05fSPeter Klausler procedure(s2), bind(c) :: p2b 53d03cd05fSPeter Klausler procedure(s2), bind(c,name='P2c') :: p2c 54d03cd05fSPeter Klausler procedure(s3) :: p3a 55d03cd05fSPeter Klausler procedure(s3), bind(c) :: p3b 56d03cd05fSPeter Klausler procedure(s3), bind(c,name='P3c') :: p3c 57d03cd05fSPeter Klauslerend 58d03cd05fSPeter Klausler 59d03cd05fSPeter Klausler!CHECK: p1a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1a 60d03cd05fSPeter Klausler!CHECK: p1b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:p1b 61d03cd05fSPeter Klausler!CHECK: p1c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s1 bindName:P1c 62d03cd05fSPeter Klausler!CHECK: p2a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2a 63d03cd05fSPeter Klausler!CHECK: p2b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:p2b 64d03cd05fSPeter Klausler!CHECK: p2c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s2 bindName:P2c 65d03cd05fSPeter Klausler!CHECK: p3a, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3a 66d03cd05fSPeter Klausler!CHECK: p3b, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:p3b 67d03cd05fSPeter Klausler!CHECK: p3c, BIND(C), EXTERNAL, PUBLIC (Subroutine): ProcEntity s3 bindName:P3c 68d03cd05fSPeter Klauslermodule m3 69d03cd05fSPeter Klausler procedure(s1) :: p1a 70d03cd05fSPeter Klausler procedure(s1), bind(c) :: p1b 71d03cd05fSPeter Klausler procedure(s1), bind(c,name='P1c') :: p1c 72d03cd05fSPeter Klausler procedure(s2) :: p2a 73d03cd05fSPeter Klausler procedure(s2), bind(c) :: p2b 74d03cd05fSPeter Klausler procedure(s2), bind(c,name='P2c') :: p2c 75d03cd05fSPeter Klausler procedure(s3) :: p3a 76d03cd05fSPeter Klausler procedure(s3), bind(c) :: p3b 77d03cd05fSPeter Klausler procedure(s3), bind(c,name='P3c') :: p3c 78d03cd05fSPeter Klausler interface 79d03cd05fSPeter Klausler subroutine s1() bind(c) 80d03cd05fSPeter Klausler end 81d03cd05fSPeter Klausler subroutine s2() bind(c,name='') 82d03cd05fSPeter Klausler end 83d03cd05fSPeter Klausler subroutine s3() bind(c,name='foo') 84d03cd05fSPeter Klausler end 85d03cd05fSPeter Klausler end interface 86d03cd05fSPeter Klauslerend 87*f3c227b7SPeter Klausler 88*f3c227b7SPeter Klausler!CHECK: cdef01, BIND(C), PUBLIC size=4 offset=0: ObjectEntity type: REAL(4) bindName:cDef01 CDEFINED 89*f3c227b7SPeter Klauslermodule m4 90*f3c227b7SPeter Klausler real, bind(c, name='cDef01', cdefined) :: cdef01 91*f3c227b7SPeter Klauslerend 92