xref: /llvm-project/flang/test/Integration/debug-module-2.f90 (revision db64e69fa250ea3a8d7a761220a7922fbdad0f2c)
1f156b9ceSAbid Qadeer! RUN: %flang_fc1 -emit-llvm -debug-info-kind=standalone %s -o - | FileCheck %s
2f156b9ceSAbid Qadeer! RUN: %flang_fc1 -emit-llvm -debug-info-kind=line-tables-only %s -o - | FileCheck --check-prefix=LINEONLY %s
3f156b9ceSAbid Qadeer
4f156b9ceSAbid Qadeer! CHECK-DAG: ![[FILE:.*]] = !DIFile(filename: {{.*}}debug-module-2.f90{{.*}})
5f156b9ceSAbid Qadeer! CHECK-DAG: ![[FILE2:.*]] = !DIFile(filename: {{.*}}debug-module-2.f90{{.*}})
6f156b9ceSAbid Qadeer! CHECK-DAG: ![[CU:.*]] = distinct !DICompileUnit({{.*}}file: ![[FILE]]{{.*}} globals: ![[GLOBALS:.*]])
7f156b9ceSAbid Qadeer! CHECK-DAG: ![[MOD:.*]] = !DIModule(scope: ![[CU]], name: "helper", file: ![[FILE]]{{.*}})
8f156b9ceSAbid Qadeer! CHECK-DAG: ![[R4:.*]] = !DIBasicType(name: "real", size: 32, encoding: DW_ATE_float)
9f156b9ceSAbid Qadeer! CHECK-DAG: ![[I4:.*]] = !DIBasicType(name: "integer", size: 32, encoding: DW_ATE_signed)
10f156b9ceSAbid Qadeermodule helper
11f156b9ceSAbid Qadeer! CHECK-DAG: ![[GLR:.*]] = distinct !DIGlobalVariable(name: "glr", linkageName: "_QMhelperEglr", scope: ![[MOD]], file: ![[FILE]], line: [[@LINE+2]], type: ![[R4]], isLocal: false, isDefinition: true)
12f156b9ceSAbid Qadeer! CHECK-DAG: ![[GLRX:.*]] = !DIGlobalVariableExpression(var: ![[GLR]], expr: !DIExpression())
13f156b9ceSAbid Qadeer  real glr
14f156b9ceSAbid Qadeer
15f156b9ceSAbid Qadeer! CHECK-DAG: ![[GLI:.*]] = distinct !DIGlobalVariable(name: "gli", linkageName: "_QMhelperEgli", scope: ![[MOD]], file: ![[FILE]], line: [[@LINE+2]], type: ![[I4]], isLocal: false, isDefinition: true)
16f156b9ceSAbid Qadeer! CHECK-DAG: ![[GLIX:.*]] = !DIGlobalVariableExpression(var: ![[GLI]], expr: !DIExpression())
17f156b9ceSAbid Qadeer  integer gli
18f156b9ceSAbid Qadeer
19f156b9ceSAbid Qadeer  contains
20*db64e69fSAbid Qadeer!CHECK-DAG: !DISubprogram(name: "test", linkageName: "_QMhelperPtest", scope: ![[MOD]], file: ![[FILE2]], line: [[@LINE+1]]{{.*}}unit: ![[CU]]{{.*}})
21f156b9ceSAbid Qadeer    subroutine test()
22f156b9ceSAbid Qadeer    glr = 12.34
23f156b9ceSAbid Qadeer    gli = 67
24f156b9ceSAbid Qadeer
25f156b9ceSAbid Qadeer    end subroutine
26f156b9ceSAbid Qadeerend module helper
27f156b9ceSAbid Qadeer
28f156b9ceSAbid Qadeerprogram test
29f156b9ceSAbid Qadeeruse helper
30f156b9ceSAbid Qadeerimplicit none
31f156b9ceSAbid Qadeer
32f156b9ceSAbid Qadeer  glr = 3.14
33f156b9ceSAbid Qadeer  gli = 2
34f156b9ceSAbid Qadeer  call test()
35f156b9ceSAbid Qadeer
36f156b9ceSAbid Qadeerend program test
37f156b9ceSAbid Qadeer
38f156b9ceSAbid Qadeer! CHECK-DAG: ![[GLOBALS]] = !{![[GLIX]], ![[GLRX]]}
39f156b9ceSAbid Qadeer! LINEONLY-NOT: DIGlobalVariable
40