brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.9 KiB · 5b3cdfc Raw
334 lines · plain
1# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o %t.o2# RUN: llvm-dwarfdump -debug-info -name g %t.o | FileCheck %s3 4# CHECK: DW_TAG_member5# CHECK: DW_AT_name ("g")6# CHECK: DW_AT_data_member_location    (0x4000)7 8.ifdef GEN9#--- a.cpp10struct e {11  enum {} f[16384];12  short g;13};14e foo() {15  auto E = new e;16  return *E;17}18#--- gen19clang --target=x86_64-apple-macosx -O2 -gdwarf-4 -S a.cpp -o -20.endif21 22	.section	__TEXT,__text,regular,pure_instructions23	.macosx_version_min 10, 1424	.globl	__Z3foov                ## -- Begin function _Z3foov25	.p2align	4, 0x9026__Z3foov:                               ## @_Z3foov27Lfunc_begin0:28	.file	1 "/private/tmp" "a.cpp"29	.loc	1 5 0                   ## a.cpp:5:030	.cfi_startproc31## %bb.0:                               ## %entry32	pushq	%rbp33	.cfi_def_cfa_offset 1634	.cfi_offset %rbp, -1635	movq	%rsp, %rbp36	.cfi_def_cfa_register %rbp37	pushq	%rbx38	pushq	%rax39	.cfi_offset %rbx, -2440	movq	%rdi, %rbx41Ltmp0:42	.loc	1 6 12 prologue_end     ## a.cpp:6:1243	movl	$16385, %edi            ## imm = 0x400144	callq	__Znwm45Ltmp1:46	##DEBUG_VALUE: foo:E <- $rax47	.loc	1 7 10                  ## a.cpp:7:1048	movl	$16385, %edx            ## imm = 0x400149	movq	%rbx, %rdi50	movq	%rax, %rsi51	callq	_memcpy52Ltmp2:53	.loc	1 8 1                   ## a.cpp:8:154	movq	%rbx, %rax55	addq	$8, %rsp56	popq	%rbx57	popq	%rbp58	retq59Ltmp3:60Lfunc_end0:61	.cfi_endproc62                                        ## -- End function63	.section	__DWARF,__debug_str,regular,debug64Linfo_string:65	.asciz	"clang version 9.0.0 (git@github.com:llvm/llvm-project.git 10de39548976ae224709acdc1c337e33cf12f3c0)" ## string offset=066	.asciz	"a.cpp"                 ## string offset=10067	.asciz	"/private/tmp"          ## string offset=10668	.asciz	"foo"                   ## string offset=11969	.asciz	"_Z3foov"               ## string offset=12370	.asciz	"e"                     ## string offset=13171	.asciz	"f"                     ## string offset=13372	.asciz	"char"                  ## string offset=13573	.asciz	"__ARRAY_SIZE_TYPE__"   ## string offset=14074	.asciz	"g"                     ## string offset=16075	.asciz	"E"                     ## string offset=16276	.section	__DWARF,__debug_loc,regular,debug77Lsection_debug_loc:78Ldebug_loc0:79.set Lset0, Ltmp1-Lfunc_begin080	.quad	Lset081.set Lset1, Ltmp2-Lfunc_begin082	.quad	Lset183	.short	1                       ## Loc expr size84	.byte	80                      ## DW_OP_reg085	.quad	086	.quad	087	.section	__DWARF,__debug_abbrev,regular,debug88Lsection_abbrev:89	.byte	1                       ## Abbreviation Code90	.byte	17                      ## DW_TAG_compile_unit91	.byte	1                       ## DW_CHILDREN_yes92	.byte	37                      ## DW_AT_producer93	.byte	14                      ## DW_FORM_strp94	.byte	19                      ## DW_AT_language95	.byte	5                       ## DW_FORM_data296	.byte	3                       ## DW_AT_name97	.byte	14                      ## DW_FORM_strp98	.byte	16                      ## DW_AT_stmt_list99	.byte	23                      ## DW_FORM_sec_offset100	.byte	27                      ## DW_AT_comp_dir101	.byte	14                      ## DW_FORM_strp102	.ascii	"\264B"                 ## DW_AT_GNU_pubnames103	.byte	25                      ## DW_FORM_flag_present104	.ascii	"\341\177"              ## DW_AT_APPLE_optimized105	.byte	25                      ## DW_FORM_flag_present106	.byte	17                      ## DW_AT_low_pc107	.byte	1                       ## DW_FORM_addr108	.byte	18                      ## DW_AT_high_pc109	.byte	6                       ## DW_FORM_data4110	.byte	0                       ## EOM(1)111	.byte	0                       ## EOM(2)112	.byte	2                       ## Abbreviation Code113	.byte	46                      ## DW_TAG_subprogram114	.byte	1                       ## DW_CHILDREN_yes115	.byte	17                      ## DW_AT_low_pc116	.byte	1                       ## DW_FORM_addr117	.byte	18                      ## DW_AT_high_pc118	.byte	6                       ## DW_FORM_data4119	.byte	64                      ## DW_AT_frame_base120	.byte	24                      ## DW_FORM_exprloc121	.byte	122                     ## DW_AT_call_all_calls122	.byte	25                      ## DW_FORM_flag_present123	.byte	110                     ## DW_AT_linkage_name124	.byte	14                      ## DW_FORM_strp125	.byte	3                       ## DW_AT_name126	.byte	14                      ## DW_FORM_strp127	.byte	58                      ## DW_AT_decl_file128	.byte	11                      ## DW_FORM_data1129	.byte	59                      ## DW_AT_decl_line130	.byte	11                      ## DW_FORM_data1131	.byte	73                      ## DW_AT_type132	.byte	19                      ## DW_FORM_ref4133	.byte	63                      ## DW_AT_external134	.byte	25                      ## DW_FORM_flag_present135	.ascii	"\341\177"              ## DW_AT_APPLE_optimized136	.byte	25                      ## DW_FORM_flag_present137	.byte	0                       ## EOM(1)138	.byte	0                       ## EOM(2)139	.byte	3                       ## Abbreviation Code140	.byte	52                      ## DW_TAG_variable141	.byte	0                       ## DW_CHILDREN_no142	.byte	2                       ## DW_AT_location143	.byte	23                      ## DW_FORM_sec_offset144	.byte	3                       ## DW_AT_name145	.byte	14                      ## DW_FORM_strp146	.byte	58                      ## DW_AT_decl_file147	.byte	11                      ## DW_FORM_data1148	.byte	59                      ## DW_AT_decl_line149	.byte	11                      ## DW_FORM_data1150	.byte	73                      ## DW_AT_type151	.byte	19                      ## DW_FORM_ref4152	.byte	0                       ## EOM(1)153	.byte	0                       ## EOM(2)154	.byte	4                       ## Abbreviation Code155	.byte	19                      ## DW_TAG_structure_type156	.byte	1                       ## DW_CHILDREN_yes157	.byte	54                      ## DW_AT_calling_convention158	.byte	11                      ## DW_FORM_data1159	.byte	3                       ## DW_AT_name160	.byte	14                      ## DW_FORM_strp161	.byte	11                      ## DW_AT_byte_size162	.byte	5                       ## DW_FORM_data2163	.byte	58                      ## DW_AT_decl_file164	.byte	11                      ## DW_FORM_data1165	.byte	59                      ## DW_AT_decl_line166	.byte	11                      ## DW_FORM_data1167	.byte	0                       ## EOM(1)168	.byte	0                       ## EOM(2)169	.byte	5                       ## Abbreviation Code170	.byte	13                      ## DW_TAG_member171	.byte	0                       ## DW_CHILDREN_no172	.byte	3                       ## DW_AT_name173	.byte	14                      ## DW_FORM_strp174	.byte	73                      ## DW_AT_type175	.byte	19                      ## DW_FORM_ref4176	.byte	58                      ## DW_AT_decl_file177	.byte	11                      ## DW_FORM_data1178	.byte	59                      ## DW_AT_decl_line179	.byte	11                      ## DW_FORM_data1180	.byte	56                      ## DW_AT_data_member_location181	.byte	11                      ## DW_FORM_data1182	.byte	0                       ## EOM(1)183	.byte	0                       ## EOM(2)184	.byte	6                       ## Abbreviation Code185	.byte	13                      ## DW_TAG_member186	.byte	0                       ## DW_CHILDREN_no187	.byte	3                       ## DW_AT_name188	.byte	14                      ## DW_FORM_strp189	.byte	73                      ## DW_AT_type190	.byte	19                      ## DW_FORM_ref4191	.byte	58                      ## DW_AT_decl_file192	.byte	11                      ## DW_FORM_data1193	.byte	59                      ## DW_AT_decl_line194	.byte	11                      ## DW_FORM_data1195	.byte	56                      ## DW_AT_data_member_location196	.byte	5                       ## DW_FORM_data2197	.byte	0                       ## EOM(1)198	.byte	0                       ## EOM(2)199	.byte	7                       ## Abbreviation Code200	.byte	1                       ## DW_TAG_array_type201	.byte	1                       ## DW_CHILDREN_yes202	.byte	73                      ## DW_AT_type203	.byte	19                      ## DW_FORM_ref4204	.byte	0                       ## EOM(1)205	.byte	0                       ## EOM(2)206	.byte	8                       ## Abbreviation Code207	.byte	33                      ## DW_TAG_subrange_type208	.byte	0                       ## DW_CHILDREN_no209	.byte	73                      ## DW_AT_type210	.byte	19                      ## DW_FORM_ref4211	.byte	55                      ## DW_AT_count212	.byte	5                       ## DW_FORM_data2213	.byte	0                       ## EOM(1)214	.byte	0                       ## EOM(2)215	.byte	9                       ## Abbreviation Code216	.byte	36                      ## DW_TAG_base_type217	.byte	0                       ## DW_CHILDREN_no218	.byte	3                       ## DW_AT_name219	.byte	14                      ## DW_FORM_strp220	.byte	62                      ## DW_AT_encoding221	.byte	11                      ## DW_FORM_data1222	.byte	11                      ## DW_AT_byte_size223	.byte	11                      ## DW_FORM_data1224	.byte	0                       ## EOM(1)225	.byte	0                       ## EOM(2)226	.byte	10                      ## Abbreviation Code227	.byte	36                      ## DW_TAG_base_type228	.byte	0                       ## DW_CHILDREN_no229	.byte	3                       ## DW_AT_name230	.byte	14                      ## DW_FORM_strp231	.byte	11                      ## DW_AT_byte_size232	.byte	11                      ## DW_FORM_data1233	.byte	62                      ## DW_AT_encoding234	.byte	11                      ## DW_FORM_data1235	.byte	0                       ## EOM(1)236	.byte	0                       ## EOM(2)237	.byte	11                      ## Abbreviation Code238	.byte	15                      ## DW_TAG_pointer_type239	.byte	0                       ## DW_CHILDREN_no240	.byte	73                      ## DW_AT_type241	.byte	19                      ## DW_FORM_ref4242	.byte	0                       ## EOM(1)243	.byte	0                       ## EOM(2)244	.byte	0                       ## EOM(3)245	.section	__DWARF,__debug_info,regular,debug246Lsection_info:247Lcu_begin0:248.set Lset2, Ldebug_info_end0-Ldebug_info_start0 ## Length of Unit249	.long	Lset2250Ldebug_info_start0:251	.short	4                       ## DWARF version number252.set Lset3, Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section253	.long	Lset3254	.byte	8                       ## Address Size (in bytes)255	.byte	1                       ## Abbrev [1] 0xb:0x91 DW_TAG_compile_unit256	.long	0                       ## DW_AT_producer257	.short	4                       ## DW_AT_language258	.long	100                     ## DW_AT_name259.set Lset4, Lline_table_start0-Lsection_line ## DW_AT_stmt_list260	.long	Lset4261	.long	106                     ## DW_AT_comp_dir262                                        ## DW_AT_GNU_pubnames263                                        ## DW_AT_APPLE_optimized264	.quad	Lfunc_begin0            ## DW_AT_low_pc265.set Lset5, Lfunc_end0-Lfunc_begin0     ## DW_AT_high_pc266	.long	Lset5267	.byte	2                       ## Abbrev [2] 0x2a:0x2d DW_TAG_subprogram268	.quad	Lfunc_begin0            ## DW_AT_low_pc269.set Lset6, Lfunc_end0-Lfunc_begin0     ## DW_AT_high_pc270	.long	Lset6271	.byte	1                       ## DW_AT_frame_base272	.byte	86273                                        ## DW_AT_call_all_calls274	.long	123                     ## DW_AT_linkage_name275	.long	119                     ## DW_AT_name276	.byte	1                       ## DW_AT_decl_file277	.byte	5                       ## DW_AT_decl_line278	.long	87                      ## DW_AT_type279                                        ## DW_AT_external280                                        ## DW_AT_APPLE_optimized281	.byte	3                       ## Abbrev [3] 0x47:0xf DW_TAG_variable282.set Lset7, Ldebug_loc0-Lsection_debug_loc ## DW_AT_location283	.long	Lset7284	.long	162                     ## DW_AT_name285	.byte	1                       ## DW_AT_decl_file286	.byte	6                       ## DW_AT_decl_line287	.long	150                     ## DW_AT_type288	.byte	0                       ## End Of Children Mark289	.byte	4                       ## Abbrev [4] 0x57:0x24 DW_TAG_structure_type290	.byte	5                       ## DW_AT_calling_convention291	.long	131                     ## DW_AT_name292	.short	16385                   ## DW_AT_byte_size293	.byte	1                       ## DW_AT_decl_file294	.byte	1                       ## DW_AT_decl_line295	.byte	5                       ## Abbrev [5] 0x61:0xc DW_TAG_member296	.long	133                     ## DW_AT_name297	.long	123                     ## DW_AT_type298	.byte	1                       ## DW_AT_decl_file299	.byte	2                       ## DW_AT_decl_line300	.byte	0                       ## DW_AT_data_member_location301	.byte	6                       ## Abbrev [6] 0x6d:0xd DW_TAG_member302	.long	160                     ## DW_AT_name303	.long	136                     ## DW_AT_type304	.byte	1                       ## DW_AT_decl_file305	.byte	3                       ## DW_AT_decl_line306	.short	16384                   ## DW_AT_data_member_location307	.byte	0                       ## End Of Children Mark308	.byte	7                       ## Abbrev [7] 0x7b:0xd DW_TAG_array_type309	.long	136                     ## DW_AT_type310	.byte	8                       ## Abbrev [8] 0x80:0x7 DW_TAG_subrange_type311	.long	143                     ## DW_AT_type312	.short	16384                   ## DW_AT_count313	.byte	0                       ## End Of Children Mark314	.byte	9                       ## Abbrev [9] 0x88:0x7 DW_TAG_base_type315	.long	135                     ## DW_AT_name316	.byte	6                       ## DW_AT_encoding317	.byte	1                       ## DW_AT_byte_size318	.byte	10                      ## Abbrev [10] 0x8f:0x7 DW_TAG_base_type319	.long	140                     ## DW_AT_name320	.byte	8                       ## DW_AT_byte_size321	.byte	7                       ## DW_AT_encoding322	.byte	11                      ## Abbrev [11] 0x96:0x5 DW_TAG_pointer_type323	.long	87                      ## DW_AT_type324	.byte	0                       ## End Of Children Mark325Ldebug_info_end0:326	.section	__DWARF,__debug_macinfo,regular,debug327Ldebug_macinfo:328	.byte	0                       ## End Of Macro List Mark329 330.subsections_via_symbols331	.section	__DWARF,__debug_line,regular,debug332Lsection_line:333Lline_table_start0:334