brintos

brintos / llvm-project-archived public Read only

0
0
Text · 13.0 KiB · 58945d9 Raw
316 lines · plain
1# Source:2#   struct e {3#     char f[16384];4#     char g;5#   };6#   e foo() {7#     auto E = new e;8#     return *E;9#   }10# Compile with:11#   clang -O2 -gdwarf-2 -S a.cpp -o a2.s12 13# RUN: llvm-mc %s -filetype obj -triple x86_64-apple-darwin -o %t.o14# RUN: llvm-dwarfdump -debug-info -name g %t.o | FileCheck %s15 16# CHECK: DW_TAG_member17# CHECK: DW_AT_name ("g")18# CHECK: DW_AT_data_member_location (DW_OP_plus_uconst 0x4000)19 20	.section	__TEXT,__text,regular,pure_instructions21	.macosx_version_min 10, 1422	.globl	__Z3foov                ## -- Begin function _Z3foov23	.p2align	4, 0x9024__Z3foov:                               ## @_Z3foov25Lfunc_begin0:26	.file	1 "/private/tmp" "a.cpp"27	.loc	1 5 0                   ## a.cpp:5:028	.cfi_startproc29## %bb.0:                               ## %entry30	pushq	%rbp31	.cfi_def_cfa_offset 1632	.cfi_offset %rbp, -1633	movq	%rsp, %rbp34	.cfi_def_cfa_register %rbp35	pushq	%rbx36	pushq	%rax37	.cfi_offset %rbx, -2438	movq	%rdi, %rbx39Ltmp0:40	.loc	1 6 12 prologue_end     ## a.cpp:6:1241	movl	$16385, %edi            ## imm = 0x400142	callq	__Znwm43Ltmp1:44	##DEBUG_VALUE: foo:E <- $rax45	.loc	1 7 10                  ## a.cpp:7:1046	movl	$16385, %edx            ## imm = 0x400147	movq	%rbx, %rdi48	movq	%rax, %rsi49	callq	_memcpy50Ltmp2:51	.loc	1 8 1                   ## a.cpp:8:152	movq	%rbx, %rax53	addq	$8, %rsp54	popq	%rbx55	popq	%rbp56	retq57Ltmp3:58Lfunc_end0:59	.cfi_endproc60                                        ## -- End function61	.section	__DWARF,__debug_str,regular,debug62Linfo_string:63	.asciz	"clang version 9.0.0 (git@github.com:llvm/llvm-project.git 10de39548976ae224709acdc1c337e33cf12f3c0)" ## string offset=064	.asciz	"a.cpp"                 ## string offset=10065	.asciz	"/private/tmp"          ## string offset=10666	.asciz	"foo"                   ## string offset=11967	.asciz	"_Z3foov"               ## string offset=12368	.asciz	"e"                     ## string offset=13169	.asciz	"f"                     ## string offset=13370	.asciz	"char"                  ## string offset=13571	.asciz	"__ARRAY_SIZE_TYPE__"   ## string offset=14072	.asciz	"g"                     ## string offset=16073	.asciz	"E"                     ## string offset=16274	.section	__DWARF,__debug_loc,regular,debug75Lsection_debug_loc:76Ldebug_loc0:77.set Lset0, Ltmp1-Lfunc_begin078	.quad	Lset079.set Lset1, Ltmp2-Lfunc_begin080	.quad	Lset181	.short	1                       ## Loc expr size82	.byte	80                      ## DW_OP_reg083	.quad	084	.quad	085	.section	__DWARF,__debug_abbrev,regular,debug86Lsection_abbrev:87	.byte	1                       ## Abbreviation Code88	.byte	17                      ## DW_TAG_compile_unit89	.byte	1                       ## DW_CHILDREN_yes90	.byte	37                      ## DW_AT_producer91	.byte	14                      ## DW_FORM_strp92	.byte	19                      ## DW_AT_language93	.byte	5                       ## DW_FORM_data294	.byte	3                       ## DW_AT_name95	.byte	14                      ## DW_FORM_strp96	.byte	16                      ## DW_AT_stmt_list97	.byte	6                       ## DW_FORM_data498	.byte	27                      ## DW_AT_comp_dir99	.byte	14                      ## DW_FORM_strp100	.ascii	"\264B"                 ## DW_AT_GNU_pubnames101	.byte	12                      ## DW_FORM_flag102	.ascii	"\341\177"              ## DW_AT_APPLE_optimized103	.byte	12                      ## DW_FORM_flag104	.byte	17                      ## DW_AT_low_pc105	.byte	1                       ## DW_FORM_addr106	.byte	18                      ## DW_AT_high_pc107	.byte	1                       ## DW_FORM_addr108	.byte	0                       ## EOM(1)109	.byte	0                       ## EOM(2)110	.byte	2                       ## Abbreviation Code111	.byte	46                      ## DW_TAG_subprogram112	.byte	1                       ## DW_CHILDREN_yes113	.byte	17                      ## DW_AT_low_pc114	.byte	1                       ## DW_FORM_addr115	.byte	18                      ## DW_AT_high_pc116	.byte	1                       ## DW_FORM_addr117	.byte	64                      ## DW_AT_frame_base118	.byte	10                      ## DW_FORM_block1119	.ascii	"\207@"                 ## DW_AT_MIPS_linkage_name120	.byte	14                      ## DW_FORM_strp121	.byte	3                       ## DW_AT_name122	.byte	14                      ## DW_FORM_strp123	.byte	58                      ## DW_AT_decl_file124	.byte	11                      ## DW_FORM_data1125	.byte	59                      ## DW_AT_decl_line126	.byte	11                      ## DW_FORM_data1127	.byte	73                      ## DW_AT_type128	.byte	19                      ## DW_FORM_ref4129	.byte	63                      ## DW_AT_external130	.byte	12                      ## DW_FORM_flag131	.ascii	"\341\177"              ## DW_AT_APPLE_optimized132	.byte	12                      ## DW_FORM_flag133	.byte	0                       ## EOM(1)134	.byte	0                       ## EOM(2)135	.byte	3                       ## Abbreviation Code136	.byte	52                      ## DW_TAG_variable137	.byte	0                       ## DW_CHILDREN_no138	.byte	2                       ## DW_AT_location139	.byte	6                       ## DW_FORM_data4140	.byte	3                       ## DW_AT_name141	.byte	14                      ## DW_FORM_strp142	.byte	58                      ## DW_AT_decl_file143	.byte	11                      ## DW_FORM_data1144	.byte	59                      ## DW_AT_decl_line145	.byte	11                      ## DW_FORM_data1146	.byte	73                      ## DW_AT_type147	.byte	19                      ## DW_FORM_ref4148	.byte	0                       ## EOM(1)149	.byte	0                       ## EOM(2)150	.byte	4                       ## Abbreviation Code151	.byte	19                      ## DW_TAG_structure_type152	.byte	1                       ## DW_CHILDREN_yes153	.byte	54                      ## DW_AT_calling_convention154	.byte	11                      ## DW_FORM_data1155	.byte	3                       ## DW_AT_name156	.byte	14                      ## DW_FORM_strp157	.byte	11                      ## DW_AT_byte_size158	.byte	5                       ## DW_FORM_data2159	.byte	58                      ## DW_AT_decl_file160	.byte	11                      ## DW_FORM_data1161	.byte	59                      ## DW_AT_decl_line162	.byte	11                      ## DW_FORM_data1163	.byte	0                       ## EOM(1)164	.byte	0                       ## EOM(2)165	.byte	5                       ## Abbreviation Code166	.byte	13                      ## DW_TAG_member167	.byte	0                       ## DW_CHILDREN_no168	.byte	3                       ## DW_AT_name169	.byte	14                      ## DW_FORM_strp170	.byte	73                      ## DW_AT_type171	.byte	19                      ## DW_FORM_ref4172	.byte	58                      ## DW_AT_decl_file173	.byte	11                      ## DW_FORM_data1174	.byte	59                      ## DW_AT_decl_line175	.byte	11                      ## DW_FORM_data1176	.byte	56                      ## DW_AT_data_member_location177	.byte	10                      ## DW_FORM_block1178	.byte	0                       ## EOM(1)179	.byte	0                       ## EOM(2)180	.byte	6                       ## Abbreviation Code181	.byte	1                       ## DW_TAG_array_type182	.byte	1                       ## DW_CHILDREN_yes183	.byte	73                      ## DW_AT_type184	.byte	19                      ## DW_FORM_ref4185	.byte	0                       ## EOM(1)186	.byte	0                       ## EOM(2)187	.byte	7                       ## Abbreviation Code188	.byte	33                      ## DW_TAG_subrange_type189	.byte	0                       ## DW_CHILDREN_no190	.byte	73                      ## DW_AT_type191	.byte	19                      ## DW_FORM_ref4192	.byte	55                      ## DW_AT_count193	.byte	5                       ## DW_FORM_data2194	.byte	0                       ## EOM(1)195	.byte	0                       ## EOM(2)196	.byte	8                       ## Abbreviation Code197	.byte	36                      ## DW_TAG_base_type198	.byte	0                       ## DW_CHILDREN_no199	.byte	3                       ## DW_AT_name200	.byte	14                      ## DW_FORM_strp201	.byte	62                      ## DW_AT_encoding202	.byte	11                      ## DW_FORM_data1203	.byte	11                      ## DW_AT_byte_size204	.byte	11                      ## DW_FORM_data1205	.byte	0                       ## EOM(1)206	.byte	0                       ## EOM(2)207	.byte	9                       ## Abbreviation Code208	.byte	36                      ## DW_TAG_base_type209	.byte	0                       ## DW_CHILDREN_no210	.byte	3                       ## DW_AT_name211	.byte	14                      ## DW_FORM_strp212	.byte	11                      ## DW_AT_byte_size213	.byte	11                      ## DW_FORM_data1214	.byte	62                      ## DW_AT_encoding215	.byte	11                      ## DW_FORM_data1216	.byte	0                       ## EOM(1)217	.byte	0                       ## EOM(2)218	.byte	10                      ## Abbreviation Code219	.byte	15                      ## DW_TAG_pointer_type220	.byte	0                       ## DW_CHILDREN_no221	.byte	73                      ## DW_AT_type222	.byte	19                      ## DW_FORM_ref4223	.byte	0                       ## EOM(1)224	.byte	0                       ## EOM(2)225	.byte	0                       ## EOM(3)226	.section	__DWARF,__debug_info,regular,debug227Lsection_info:228Lcu_begin0:229.set Lset2, Ldebug_info_end0-Ldebug_info_start0 ## Length of Unit230	.long	Lset2231Ldebug_info_start0:232	.short	2                       ## DWARF version number233.set Lset3, Lsection_abbrev-Lsection_abbrev ## Offset Into Abbrev. Section234	.long	Lset3235	.byte	8                       ## Address Size (in bytes)236	.byte	1                       ## Abbrev [1] 0xb:0xa2 DW_TAG_compile_unit237	.long	0                       ## DW_AT_producer238	.short	4                       ## DW_AT_language239	.long	100                     ## DW_AT_name240.set Lset4, Lline_table_start0-Lsection_line ## DW_AT_stmt_list241	.long	Lset4242	.long	106                     ## DW_AT_comp_dir243	.byte	1                       ## DW_AT_GNU_pubnames244	.byte	1                       ## DW_AT_APPLE_optimized245	.quad	Lfunc_begin0            ## DW_AT_low_pc246	.quad	Lfunc_end0              ## DW_AT_high_pc247	.byte	2                       ## Abbrev [2] 0x30:0x33 DW_TAG_subprogram248	.quad	Lfunc_begin0            ## DW_AT_low_pc249	.quad	Lfunc_end0              ## DW_AT_high_pc250	.byte	1                       ## DW_AT_frame_base251	.byte	86252	.long	123                     ## DW_AT_MIPS_linkage_name253	.long	119                     ## DW_AT_name254	.byte	1                       ## DW_AT_decl_file255	.byte	5                       ## DW_AT_decl_line256	.long	99                      ## DW_AT_type257	.byte	1                       ## DW_AT_external258	.byte	1                       ## DW_AT_APPLE_optimized259	.byte	3                       ## Abbrev [3] 0x53:0xf DW_TAG_variable260.set Lset5, Ldebug_loc0-Lsection_debug_loc ## DW_AT_location261	.long	Lset5262	.long	162                     ## DW_AT_name263	.byte	1                       ## DW_AT_decl_file264	.byte	6                       ## DW_AT_decl_line265	.long	167                     ## DW_AT_type266	.byte	0                       ## End Of Children Mark267	.byte	4                       ## Abbrev [4] 0x63:0x29 DW_TAG_structure_type268	.byte	5                       ## DW_AT_calling_convention269	.long	131                     ## DW_AT_name270	.short	16385                   ## DW_AT_byte_size271	.byte	1                       ## DW_AT_decl_file272	.byte	1                       ## DW_AT_decl_line273	.byte	5                       ## Abbrev [5] 0x6d:0xe DW_TAG_member274	.long	133                     ## DW_AT_name275	.long	140                     ## DW_AT_type276	.byte	1                       ## DW_AT_decl_file277	.byte	2                       ## DW_AT_decl_line278	.byte	2                       ## DW_AT_data_member_location279	.byte	35280	.byte	0281	.byte	5                       ## Abbrev [5] 0x7b:0x10 DW_TAG_member282	.long	160                     ## DW_AT_name283	.long	153                     ## DW_AT_type284	.byte	1                       ## DW_AT_decl_file285	.byte	3                       ## DW_AT_decl_line286	.byte	4                       ## DW_AT_data_member_location287	.byte	35288	.ascii	"\200\200\001"289	.byte	0                       ## End Of Children Mark290	.byte	6                       ## Abbrev [6] 0x8c:0xd DW_TAG_array_type291	.long	153                     ## DW_AT_type292	.byte	7                       ## Abbrev [7] 0x91:0x7 DW_TAG_subrange_type293	.long	160                     ## DW_AT_type294	.short	16384                   ## DW_AT_count295	.byte	0                       ## End Of Children Mark296	.byte	8                       ## Abbrev [8] 0x99:0x7 DW_TAG_base_type297	.long	135                     ## DW_AT_name298	.byte	6                       ## DW_AT_encoding299	.byte	1                       ## DW_AT_byte_size300	.byte	9                       ## Abbrev [9] 0xa0:0x7 DW_TAG_base_type301	.long	140                     ## DW_AT_name302	.byte	8                       ## DW_AT_byte_size303	.byte	7                       ## DW_AT_encoding304	.byte	10                      ## Abbrev [10] 0xa7:0x5 DW_TAG_pointer_type305	.long	99                      ## DW_AT_type306	.byte	0                       ## End Of Children Mark307Ldebug_info_end0:308	.section	__DWARF,__debug_macinfo,regular,debug309Ldebug_macinfo:310	.byte	0                       ## End Of Macro List Mark311 312.subsections_via_symbols313	.section	__DWARF,__debug_line,regular,debug314Lsection_line:315Lline_table_start0:316