1! RUN: %flang_fc1 -emit-llvm -debug-info-kind=standalone %s -o - | FileCheck %s 2 3module test 4 integer d1(3) 5 integer d2(1:4, -1:3) 6 real d3(-2:6, 0:5, 3:7) 7end 8 9program mn 10 use test 11 12 i8 = fn1(d1, d2, d3) 13contains 14 function fn1(a1, b1, c1) result (res) 15 integer a1(3) 16 integer b1(-1:0, 5:9) 17 real c1(-2:6, 0:5, 3:7) 18 integer res 19 res = a1(1) + b1(0,6) + c1(3, 3, 4) 20 end function 21 22end program 23 24! CHECK-DAG: ![[INT:.*]] = !DIBasicType(name: "integer", size: 32, encoding: DW_ATE_signed) 25! CHECK-DAG: ![[REAL:.*]] = !DIBasicType(name: "real", size: 32, encoding: DW_ATE_float) 26! CHECK-DAG: ![[R1:.*]] = !DISubrange(count: 3) 27! CHECK-DAG: ![[SUB1:.*]] = !{![[R1]]} 28! CHECK-DAG: ![[D1TY:.*]] = !DICompositeType(tag: DW_TAG_array_type, baseType: ![[INT]], elements: ![[SUB1]]) 29 30! CHECK-DAG: ![[R21:.*]] = !DISubrange(count: 4) 31! CHECK-DAG: ![[R22:.*]] = !DISubrange(count: 5, lowerBound: -1) 32! CHECK-DAG: ![[SUB2:.*]] = !{![[R21]], ![[R22]]} 33! CHECK-DAG: ![[D2TY:.*]] = !DICompositeType(tag: DW_TAG_array_type, baseType: ![[INT]], elements: ![[SUB2]]) 34 35! CHECK-DAG: ![[R31:.*]] = !DISubrange(count: 9, lowerBound: -2) 36! CHECK-DAG: ![[R32:.*]] = !DISubrange(count: 6, lowerBound: 0) 37! CHECK-DAG: ![[R33:.*]] = !DISubrange(count: 5, lowerBound: 3) 38! CHECK-DAG: ![[SUB3:.*]] = !{![[R31]], ![[R32]], ![[R33]]} 39! CHECK-DAG: ![[D3TY:.*]] = !DICompositeType(tag: DW_TAG_array_type, baseType: ![[REAL]], elements: ![[SUB3]]) 40 41! CHECK-DAG: ![[B11:.*]] = !DISubrange(count: 2, lowerBound: -1) 42! CHECK-DAG: ![[B12:.*]] = !DISubrange(count: 5, lowerBound: 5) 43! CHECK-DAG: ![[B1:.*]] = !{![[B11]], ![[B12]]} 44! CHECK-DAG: ![[B1TY:.*]] = !DICompositeType(tag: DW_TAG_array_type, baseType: ![[INT]], elements: ![[B1]]) 45 46! CHECK-DAG: {{.*}}!DIGlobalVariable(name: "d1"{{.*}}type: ![[D1TY]]{{.*}}) 47! CHECK-DAG: {{.*}}!DIGlobalVariable(name: "d2"{{.*}}type: ![[D2TY]]{{.*}}) 48! CHECK-DAG: {{.*}}!DIGlobalVariable(name: "d3"{{.*}}type: ![[D3TY]]{{.*}}) 49 50! CHECK-DAG: !DILocalVariable(name: "a1", arg: 1{{.*}}type: ![[D1TY]]) 51! CHECK-DAG: !DILocalVariable(name: "b1", arg: 2{{.*}}type: ![[B1TY]]) 52! CHECK-DAG: !DILocalVariable(name: "c1", arg: 3{{.*}}type: ![[D3TY]]) 53