[Transforms] Silence a warning in SROA.cpp (NFC)
[llvm-project.git] / llvm / test / tools / llvm-dwarfdump / X86 / formclass4.s
blob5b3cdfc97790243a073f6b9df76a5221d2960a7b
1 # RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o %t.o
2 # RUN: llvm-dwarfdump -debug-info -name g %t.o | FileCheck %s
4 # CHECK: DW_TAG_member
5 # CHECK: DW_AT_name ("g")
6 # CHECK: DW_AT_data_member_location (0x4000)
8 .ifdef GEN
9 #--- a.cpp
10 struct e {
11 enum {} f[16384];
12 short g;
14 e foo() {
15 auto E = new e;
16 return *E;
18 #--- gen
19 clang --target=x86_64-apple-macosx -O2 -gdwarf-4 -S a.cpp -o -
20 .endif
22 .section __TEXT,__text,regular,pure_instructions
23 .macosx_version_min 10, 14
24 .globl __Z3foov ## -- Begin function _Z3foov
25 .p2align 4, 0x90
26 __Z3foov: ## @_Z3foov
27 Lfunc_begin0:
28 .file 1 "/private/tmp" "a.cpp"
29 .loc 1 5 0 ## a.cpp:5:0
30 .cfi_startproc
31 ## %bb.0: ## %entry
32 pushq %rbp
33 .cfi_def_cfa_offset 16
34 .cfi_offset %rbp, -16
35 movq %rsp, %rbp
36 .cfi_def_cfa_register %rbp
37 pushq %rbx
38 pushq %rax
39 .cfi_offset %rbx, -24
40 movq %rdi, %rbx
41 Ltmp0:
42 .loc 1 6 12 prologue_end ## a.cpp:6:12
43 movl $16385, %edi ## imm = 0x4001
44 callq __Znwm
45 Ltmp1:
46 ##DEBUG_VALUE: foo:E <- $rax
47 .loc 1 7 10 ## a.cpp:7:10
48 movl $16385, %edx ## imm = 0x4001
49 movq %rbx, %rdi
50 movq %rax, %rsi
51 callq _memcpy
52 Ltmp2:
53 .loc 1 8 1 ## a.cpp:8:1
54 movq %rbx, %rax
55 addq $8, %rsp
56 popq %rbx
57 popq %rbp
58 retq
59 Ltmp3:
60 Lfunc_end0:
61 .cfi_endproc
62 ## -- End function
63 .section __DWARF,__debug_str,regular,debug
64 Linfo_string:
65 .asciz "clang version 9.0.0 (git@github.com:llvm/llvm-project.git 10de39548976ae224709acdc1c337e33cf12f3c0)" ## string offset=0
66 .asciz "a.cpp" ## string offset=100
67 .asciz "/private/tmp" ## string offset=106
68 .asciz "foo" ## string offset=119
69 .asciz "_Z3foov" ## string offset=123
70 .asciz "e" ## string offset=131
71 .asciz "f" ## string offset=133
72 .asciz "char" ## string offset=135
73 .asciz "__ARRAY_SIZE_TYPE__" ## string offset=140
74 .asciz "g" ## string offset=160
75 .asciz "E" ## string offset=162
76 .section __DWARF,__debug_loc,regular,debug
77 Lsection_debug_loc:
78 Ldebug_loc0:
79 .set Lset0, Ltmp1-Lfunc_begin0
80 .quad Lset0
81 .set Lset1, Ltmp2-Lfunc_begin0
82 .quad Lset1
83 .short 1 ## Loc expr size
84 .byte 80 ## DW_OP_reg0
85 .quad 0
86 .quad 0
87 .section __DWARF,__debug_abbrev,regular,debug
88 Lsection_abbrev:
89 .byte 1 ## Abbreviation Code
90 .byte 17 ## DW_TAG_compile_unit
91 .byte 1 ## DW_CHILDREN_yes
92 .byte 37 ## DW_AT_producer
93 .byte 14 ## DW_FORM_strp
94 .byte 19 ## DW_AT_language
95 .byte 5 ## DW_FORM_data2
96 .byte 3 ## DW_AT_name
97 .byte 14 ## DW_FORM_strp
98 .byte 16 ## DW_AT_stmt_list
99 .byte 23 ## DW_FORM_sec_offset
100 .byte 27 ## DW_AT_comp_dir
101 .byte 14 ## DW_FORM_strp
102 .ascii "\264B" ## DW_AT_GNU_pubnames
103 .byte 25 ## DW_FORM_flag_present
104 .ascii "\341\177" ## DW_AT_APPLE_optimized
105 .byte 25 ## DW_FORM_flag_present
106 .byte 17 ## DW_AT_low_pc
107 .byte 1 ## DW_FORM_addr
108 .byte 18 ## DW_AT_high_pc
109 .byte 6 ## DW_FORM_data4
110 .byte 0 ## EOM(1)
111 .byte 0 ## EOM(2)
112 .byte 2 ## Abbreviation Code
113 .byte 46 ## DW_TAG_subprogram
114 .byte 1 ## DW_CHILDREN_yes
115 .byte 17 ## DW_AT_low_pc
116 .byte 1 ## DW_FORM_addr
117 .byte 18 ## DW_AT_high_pc
118 .byte 6 ## DW_FORM_data4
119 .byte 64 ## DW_AT_frame_base
120 .byte 24 ## DW_FORM_exprloc
121 .byte 122 ## DW_AT_call_all_calls
122 .byte 25 ## DW_FORM_flag_present
123 .byte 110 ## DW_AT_linkage_name
124 .byte 14 ## DW_FORM_strp
125 .byte 3 ## DW_AT_name
126 .byte 14 ## DW_FORM_strp
127 .byte 58 ## DW_AT_decl_file
128 .byte 11 ## DW_FORM_data1
129 .byte 59 ## DW_AT_decl_line
130 .byte 11 ## DW_FORM_data1
131 .byte 73 ## DW_AT_type
132 .byte 19 ## DW_FORM_ref4
133 .byte 63 ## DW_AT_external
134 .byte 25 ## DW_FORM_flag_present
135 .ascii "\341\177" ## DW_AT_APPLE_optimized
136 .byte 25 ## DW_FORM_flag_present
137 .byte 0 ## EOM(1)
138 .byte 0 ## EOM(2)
139 .byte 3 ## Abbreviation Code
140 .byte 52 ## DW_TAG_variable
141 .byte 0 ## DW_CHILDREN_no
142 .byte 2 ## DW_AT_location
143 .byte 23 ## DW_FORM_sec_offset
144 .byte 3 ## DW_AT_name
145 .byte 14 ## DW_FORM_strp
146 .byte 58 ## DW_AT_decl_file
147 .byte 11 ## DW_FORM_data1
148 .byte 59 ## DW_AT_decl_line
149 .byte 11 ## DW_FORM_data1
150 .byte 73 ## DW_AT_type
151 .byte 19 ## DW_FORM_ref4
152 .byte 0 ## EOM(1)
153 .byte 0 ## EOM(2)
154 .byte 4 ## Abbreviation Code
155 .byte 19 ## DW_TAG_structure_type
156 .byte 1 ## DW_CHILDREN_yes
157 .byte 54 ## DW_AT_calling_convention
158 .byte 11 ## DW_FORM_data1
159 .byte 3 ## DW_AT_name
160 .byte 14 ## DW_FORM_strp
161 .byte 11 ## DW_AT_byte_size
162 .byte 5 ## DW_FORM_data2
163 .byte 58 ## DW_AT_decl_file
164 .byte 11 ## DW_FORM_data1
165 .byte 59 ## DW_AT_decl_line
166 .byte 11 ## DW_FORM_data1
167 .byte 0 ## EOM(1)
168 .byte 0 ## EOM(2)
169 .byte 5 ## Abbreviation Code
170 .byte 13 ## DW_TAG_member
171 .byte 0 ## DW_CHILDREN_no
172 .byte 3 ## DW_AT_name
173 .byte 14 ## DW_FORM_strp
174 .byte 73 ## DW_AT_type
175 .byte 19 ## DW_FORM_ref4
176 .byte 58 ## DW_AT_decl_file
177 .byte 11 ## DW_FORM_data1
178 .byte 59 ## DW_AT_decl_line
179 .byte 11 ## DW_FORM_data1
180 .byte 56 ## DW_AT_data_member_location
181 .byte 11 ## DW_FORM_data1
182 .byte 0 ## EOM(1)
183 .byte 0 ## EOM(2)
184 .byte 6 ## Abbreviation Code
185 .byte 13 ## DW_TAG_member
186 .byte 0 ## DW_CHILDREN_no
187 .byte 3 ## DW_AT_name
188 .byte 14 ## DW_FORM_strp
189 .byte 73 ## DW_AT_type
190 .byte 19 ## DW_FORM_ref4
191 .byte 58 ## DW_AT_decl_file
192 .byte 11 ## DW_FORM_data1
193 .byte 59 ## DW_AT_decl_line
194 .byte 11 ## DW_FORM_data1
195 .byte 56 ## DW_AT_data_member_location
196 .byte 5 ## DW_FORM_data2
197 .byte 0 ## EOM(1)
198 .byte 0 ## EOM(2)
199 .byte 7 ## Abbreviation Code
200 .byte 1 ## DW_TAG_array_type
201 .byte 1 ## DW_CHILDREN_yes
202 .byte 73 ## DW_AT_type
203 .byte 19 ## DW_FORM_ref4
204 .byte 0 ## EOM(1)
205 .byte 0 ## EOM(2)
206 .byte 8 ## Abbreviation Code
207 .byte 33 ## DW_TAG_subrange_type
208 .byte 0 ## DW_CHILDREN_no
209 .byte 73 ## DW_AT_type
210 .byte 19 ## DW_FORM_ref4
211 .byte 55 ## DW_AT_count
212 .byte 5 ## DW_FORM_data2
213 .byte 0 ## EOM(1)
214 .byte 0 ## EOM(2)
215 .byte 9 ## Abbreviation Code
216 .byte 36 ## DW_TAG_base_type
217 .byte 0 ## DW_CHILDREN_no
218 .byte 3 ## DW_AT_name
219 .byte 14 ## DW_FORM_strp
220 .byte 62 ## DW_AT_encoding
221 .byte 11 ## DW_FORM_data1
222 .byte 11 ## DW_AT_byte_size
223 .byte 11 ## DW_FORM_data1
224 .byte 0 ## EOM(1)
225 .byte 0 ## EOM(2)
226 .byte 10 ## Abbreviation Code
227 .byte 36 ## DW_TAG_base_type
228 .byte 0 ## DW_CHILDREN_no
229 .byte 3 ## DW_AT_name
230 .byte 14 ## DW_FORM_strp
231 .byte 11 ## DW_AT_byte_size
232 .byte 11 ## DW_FORM_data1
233 .byte 62 ## DW_AT_encoding
234 .byte 11 ## DW_FORM_data1
235 .byte 0 ## EOM(1)
236 .byte 0 ## EOM(2)
237 .byte 11 ## Abbreviation Code
238 .byte 15 ## DW_TAG_pointer_type
239 .byte 0 ## DW_CHILDREN_no
240 .byte 73 ## DW_AT_type
241 .byte 19 ## DW_FORM_ref4
242 .byte 0 ## EOM(1)
243 .byte 0 ## EOM(2)
244 .byte 0 ## EOM(3)
245 .section __DWARF,__debug_info,regular,debug
246 Lsection_info:
247 Lcu_begin0:
248 .set Lset2, Ldebug_info_end0-Ldebug_info_start0 ## Length of Unit
249 .long Lset2
250 Ldebug_info_start0:
251 .short 4 ## DWARF version number
252 .set Lset3, Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section
253 .long Lset3
254 .byte 8 ## Address Size (in bytes)
255 .byte 1 ## Abbrev [1] 0xb:0x91 DW_TAG_compile_unit
256 .long 0 ## DW_AT_producer
257 .short 4 ## DW_AT_language
258 .long 100 ## DW_AT_name
259 .set Lset4, Lline_table_start0-Lsection_line ## DW_AT_stmt_list
260 .long Lset4
261 .long 106 ## DW_AT_comp_dir
262 ## DW_AT_GNU_pubnames
263 ## DW_AT_APPLE_optimized
264 .quad Lfunc_begin0 ## DW_AT_low_pc
265 .set Lset5, Lfunc_end0-Lfunc_begin0 ## DW_AT_high_pc
266 .long Lset5
267 .byte 2 ## Abbrev [2] 0x2a:0x2d DW_TAG_subprogram
268 .quad Lfunc_begin0 ## DW_AT_low_pc
269 .set Lset6, Lfunc_end0-Lfunc_begin0 ## DW_AT_high_pc
270 .long Lset6
271 .byte 1 ## DW_AT_frame_base
272 .byte 86
273 ## DW_AT_call_all_calls
274 .long 123 ## DW_AT_linkage_name
275 .long 119 ## DW_AT_name
276 .byte 1 ## DW_AT_decl_file
277 .byte 5 ## DW_AT_decl_line
278 .long 87 ## DW_AT_type
279 ## DW_AT_external
280 ## DW_AT_APPLE_optimized
281 .byte 3 ## Abbrev [3] 0x47:0xf DW_TAG_variable
282 .set Lset7, Ldebug_loc0-Lsection_debug_loc ## DW_AT_location
283 .long Lset7
284 .long 162 ## DW_AT_name
285 .byte 1 ## DW_AT_decl_file
286 .byte 6 ## DW_AT_decl_line
287 .long 150 ## DW_AT_type
288 .byte 0 ## End Of Children Mark
289 .byte 4 ## Abbrev [4] 0x57:0x24 DW_TAG_structure_type
290 .byte 5 ## DW_AT_calling_convention
291 .long 131 ## DW_AT_name
292 .short 16385 ## DW_AT_byte_size
293 .byte 1 ## DW_AT_decl_file
294 .byte 1 ## DW_AT_decl_line
295 .byte 5 ## Abbrev [5] 0x61:0xc DW_TAG_member
296 .long 133 ## DW_AT_name
297 .long 123 ## DW_AT_type
298 .byte 1 ## DW_AT_decl_file
299 .byte 2 ## DW_AT_decl_line
300 .byte 0 ## DW_AT_data_member_location
301 .byte 6 ## Abbrev [6] 0x6d:0xd DW_TAG_member
302 .long 160 ## DW_AT_name
303 .long 136 ## DW_AT_type
304 .byte 1 ## DW_AT_decl_file
305 .byte 3 ## DW_AT_decl_line
306 .short 16384 ## DW_AT_data_member_location
307 .byte 0 ## End Of Children Mark
308 .byte 7 ## Abbrev [7] 0x7b:0xd DW_TAG_array_type
309 .long 136 ## DW_AT_type
310 .byte 8 ## Abbrev [8] 0x80:0x7 DW_TAG_subrange_type
311 .long 143 ## DW_AT_type
312 .short 16384 ## DW_AT_count
313 .byte 0 ## End Of Children Mark
314 .byte 9 ## Abbrev [9] 0x88:0x7 DW_TAG_base_type
315 .long 135 ## DW_AT_name
316 .byte 6 ## DW_AT_encoding
317 .byte 1 ## DW_AT_byte_size
318 .byte 10 ## Abbrev [10] 0x8f:0x7 DW_TAG_base_type
319 .long 140 ## DW_AT_name
320 .byte 8 ## DW_AT_byte_size
321 .byte 7 ## DW_AT_encoding
322 .byte 11 ## Abbrev [11] 0x96:0x5 DW_TAG_pointer_type
323 .long 87 ## DW_AT_type
324 .byte 0 ## End Of Children Mark
325 Ldebug_info_end0:
326 .section __DWARF,__debug_macinfo,regular,debug
327 Ldebug_macinfo:
328 .byte 0 ## End Of Macro List Mark
330 .subsections_via_symbols
331 .section __DWARF,__debug_line,regular,debug
332 Lsection_line:
333 Lline_table_start0: