1// REQUIRES: x86-registered-target
2
3// RUN: llvm-mc -filetype=obj -triple=x86_64-linux-gnu -o %t.o %s
4// RUN: echo 'FRAME %t.o 0' | llvm-symbolizer | FileCheck %s
5
6// Generated with:
7//
8// function foo(array)
9//   integer, intent(in), dimension(2:3) :: array
10// end function foo
11//
12// gcc -x f95 -g -S
13
14// CHECK: foo
15// CHECK-NEXT: array
16// CHECK-NEXT: /home/ubuntu{{/|\\}}.{{/|\\}}example.cpp:1
17// CHECK-NEXT: -24 8 ??
18
19        .file   "example.cpp"
20        .text
21.Ltext0:
22        .globl  foo_
23        .type   foo_, @function
24foo_:
25.LFB0:
26        .file 1 "./example.cpp"
27        .loc 1 1 0
28        .cfi_startproc
29        pushq   %rbp
30        .cfi_def_cfa_offset 16
31        .cfi_offset 6, -16
32        movq    %rsp, %rbp
33        .cfi_def_cfa_register 6
34        movq    %rdi, -8(%rbp)
35        .loc 1 3 0
36        nop
37        popq    %rbp
38        .cfi_def_cfa 7, 8
39        ret
40        .cfi_endproc
41.LFE0:
42        .size   foo_, .-foo_
43.Letext0:
44        .section        .debug_info,"",@progbits
45.Ldebug_info0:
46        .long   0x86
47        .value  0x4
48        .long   .Ldebug_abbrev0
49        .byte   0x8
50        .uleb128 0x1
51        .long   .LASF3
52        .byte   0xe
53        .byte   0x2
54        .long   .LASF4
55        .long   .LASF5
56        .quad   .Ltext0
57        .quad   .Letext0-.Ltext0
58        .long   .Ldebug_line0
59        .uleb128 0x2
60        .string "foo"
61        .byte   0x1
62        .byte   0x1
63        .long   .LASF6
64        .long   0x63
65        .quad   .LFB0
66        .quad   .LFE0-.LFB0
67        .uleb128 0x1
68        .byte   0x9c
69        .long   0x63
70        .uleb128 0x3
71        .long   .LASF7
72        .byte   0x1
73        .byte   0x1
74        .long   0x6a
75        .uleb128 0x3
76        .byte   0x91
77        .sleb128 -24
78        .byte   0x6
79        .byte   0
80        .uleb128 0x4
81        .byte   0x4
82        .byte   0x4
83        .long   .LASF0
84        .uleb128 0x5
85        .long   0x82
86        .long   0x7b
87        .uleb128 0x6
88        .long   0x7b
89        .sleb128 2
90        .sleb128 3
91        .byte   0
92        .uleb128 0x4
93        .byte   0x8
94        .byte   0x5
95        .long   .LASF1
96        .uleb128 0x4
97        .byte   0x4
98        .byte   0x5
99        .long   .LASF2
100        .byte   0
101        .section        .debug_abbrev,"",@progbits
102.Ldebug_abbrev0:
103        .uleb128 0x1
104        .uleb128 0x11
105        .byte   0x1
106        .uleb128 0x25
107        .uleb128 0xe
108        .uleb128 0x13
109        .uleb128 0xb
110        .uleb128 0x42
111        .uleb128 0xb
112        .uleb128 0x3
113        .uleb128 0xe
114        .uleb128 0x1b
115        .uleb128 0xe
116        .uleb128 0x11
117        .uleb128 0x1
118        .uleb128 0x12
119        .uleb128 0x7
120        .uleb128 0x10
121        .uleb128 0x17
122        .byte   0
123        .byte   0
124        .uleb128 0x2
125        .uleb128 0x2e
126        .byte   0x1
127        .uleb128 0x3f
128        .uleb128 0x19
129        .uleb128 0x3
130        .uleb128 0x8
131        .uleb128 0x3a
132        .uleb128 0xb
133        .uleb128 0x3b
134        .uleb128 0xb
135        .uleb128 0x6e
136        .uleb128 0xe
137        .uleb128 0x49
138        .uleb128 0x13
139        .uleb128 0x11
140        .uleb128 0x1
141        .uleb128 0x12
142        .uleb128 0x7
143        .uleb128 0x40
144        .uleb128 0x18
145        .uleb128 0x2117
146        .uleb128 0x19
147        .uleb128 0x1
148        .uleb128 0x13
149        .byte   0
150        .byte   0
151        .uleb128 0x3
152        .uleb128 0x5
153        .byte   0
154        .uleb128 0x3
155        .uleb128 0xe
156        .uleb128 0x3a
157        .uleb128 0xb
158        .uleb128 0x3b
159        .uleb128 0xb
160        .uleb128 0x49
161        .uleb128 0x13
162        .uleb128 0x2
163        .uleb128 0x18
164        .byte   0
165        .byte   0
166        .uleb128 0x4
167        .uleb128 0x24
168        .byte   0
169        .uleb128 0xb
170        .uleb128 0xb
171        .uleb128 0x3e
172        .uleb128 0xb
173        .uleb128 0x3
174        .uleb128 0xe
175        .byte   0
176        .byte   0
177        .uleb128 0x5
178        .uleb128 0x1
179        .byte   0x1
180        .uleb128 0x49
181        .uleb128 0x13
182        .uleb128 0x1
183        .uleb128 0x13
184        .byte   0
185        .byte   0
186        .uleb128 0x6
187        .uleb128 0x21
188        .byte   0
189        .uleb128 0x49
190        .uleb128 0x13
191        .uleb128 0x22
192        .uleb128 0xd
193        .uleb128 0x2f
194        .uleb128 0xd
195        .byte   0
196        .byte   0
197        .byte   0
198        .section        .debug_aranges,"",@progbits
199        .long   0x2c
200        .value  0x2
201        .long   .Ldebug_info0
202        .byte   0x8
203        .byte   0
204        .value  0
205        .value  0
206        .quad   .Ltext0
207        .quad   .Letext0-.Ltext0
208        .quad   0
209        .quad   0
210        .section        .debug_line,"",@progbits
211.Ldebug_line0:
212        .section        .debug_str,"MS",@progbits,1
213.LASF5:
214        .string "/home/ubuntu"
215.LASF7:
216        .string "array"
217.LASF0:
218        .string "real(kind=4)"
219.LASF2:
220        .string "integer(kind=4)"
221.LASF6:
222        .string "foo_"
223.LASF1:
224        .string "integer(kind=8)"
225.LASF3:
226        .string "GNU Fortran2008 9.1.0 -mtune=generic -march=x86-64 -g -g -fintrinsic-modules-path /opt/compiler-explorer/gcc-9.1.0/bin/../lib/gcc/x86_64-linux-gnu/9.1.0/finclude"
227.LASF4:
228        .string "./example.cpp"
229        .ident  "GCC: (Compiler-Explorer-Build) 9.1.0"
230        .section        .note.GNU-stack,"",@progbits
231