202 lines · plain
1# RUN: yaml2obj %s -o %t.o2# RUN: echo '---' > %t2.map3# RUN: echo "triple: 'x86_64-apple-darwin'" >> %t2.map4# RUN: echo 'objects:' >> %t2.map5# RUN: echo " - filename: '%t.o'" >> %t2.map6# RUN: echo ' symbols:' >> %t2.map7# RUN: echo ' - { sym: __Z3foov, objAddr: 0x0, binAddr: 0x10000, size: 0x10 }' >> %t2.map8# RUN: echo '...' >> %t2.map9# RUN: dsymutil --linker=parallel -y %t2.map -f -o - | llvm-dwarfdump -a - | FileCheck %s10 11## This test checks debug info for the template parameters of the class.12## (i.e. number of the parameters is correct, names of the parameters13## are correct, types of the parameters are correct)14 15# CHECK: file format Mach-O 64-bit x86-6416# CHECK: 0x0000000b: DW_TAG_compile_unit17# CHECK: DW_AT_producer{{.*}}"llvm DWARFLinkerParallel library version18# CHECK: DW_AT_language{{.*}}DW_LANG_C_plus_plus19# CHECK: DW_AT_name{{.*}}"__artificial_type_unit"20# CHECK: 0x[[CHAR:[0-9a-f]*]]: DW_TAG_base_type21# CHECK: DW_AT_name{{.*}}"char"22# CHECK: 0x[[FLOAT:[0-9a-f]*]]: DW_TAG_base_type23# CHECK: DW_AT_name{{.*}}"float"24# CHECK: 0x[[INT:[0-9a-f]*]]: DW_TAG_base_type25# CHECK: DW_AT_name{{.*}}"int"26# CHECK: 0x[[CLASS:[0-9a-f]*]]: DW_TAG_class_type27# CHECK: DW_AT_name{{.*}}"parametrized-class"28# CHECK: DW_TAG_template_type_parameter29# CHECK: DW_AT_type{{.*}}(0x[[INT]] "int"30# CHECK: DW_AT_name{{.*}}"Type1"31# CHECK: DW_AT_type{{.*}}(0x[[CHAR]] "char"32# CHECK: DW_AT_name{{.*}}"Type2"33# CHECK: DW_AT_type{{.*}}(0x[[FLOAT]] "float"34# CHECK: DW_AT_name{{.*}}"Type3"35# CHECK: DW_TAG_compile_unit36# CHECK: DW_TAG_variable37# CHECK: DW_AT_type (0x00000000[[CLASS]]38 39 40--- !mach-o41FileHeader:42 magic: 0xFEEDFACF43 cputype: 0x0100000744 cpusubtype: 0x0000000345 filetype: 0x0000000146 ncmds: 247 sizeofcmds: 37648 flags: 0x0000200049 reserved: 0x0000000050LoadCommands:51 - cmd: LC_SEGMENT_6452 cmdsize: 23253 segname: ''54 vmaddr: 0x0055 vmsize: 0x30056 fileoff: 0x30057 filesize: 0x30058 maxprot: 759 initprot: 760 nsects: 261 flags: 062 Sections:63 - sectname: __debug_abbrev64 segname: __DWARF65 addr: 0x000000000000000F66 size: 0x3767 offset: 0x0000038068 align: 069 reloff: 0x0000000070 nreloc: 071 flags: 0x0200000072 reserved1: 0x0000000073 reserved2: 0x0000000074 reserved3: 0x0000000075 - sectname: __debug_info76 segname: __DWARF77 addr: 0x00000000000010078 size: 0x7B79 offset: 0x000003B780 align: 081 reloff: 0x0000060082 nreloc: 183 flags: 0x0200000084 reserved1: 0x0000000085 reserved2: 0x0000000086 reserved3: 0x0000000087 relocations:88 - address: 0x000001FC89 symbolnum: 190 pcrel: true91 length: 392 extern: false93 type: 094 scattered: false95 value: 096 - cmd: LC_SYMTAB97 cmdsize: 2498 symoff: 0x70099 nsyms: 1100 stroff: 0x710101 strsize: 10102LinkEditData:103 NameList:104 - n_strx: 1105 n_type: 0x0F106 n_sect: 1107 n_desc: 0108 n_value: 0109 StringTable:110 - ''111 - '__Z3foov'112 - ''113DWARF:114 debug_abbrev:115 - Table:116 - Tag: DW_TAG_compile_unit117 Children: DW_CHILDREN_yes118 Attributes:119 - Attribute: DW_AT_producer120 Form: DW_FORM_string121 - Attribute: DW_AT_language122 Form: DW_FORM_data2123 - Tag: DW_TAG_class_type124 Children: DW_CHILDREN_yes125 Attributes:126 - Attribute: DW_AT_name127 Form: DW_FORM_string128 - Tag: DW_TAG_template_type_parameter129 Children: DW_CHILDREN_no130 Attributes:131 - Attribute: DW_AT_type132 Form: DW_FORM_ref_addr133 - Attribute: DW_AT_name134 Form: DW_FORM_string135 - Tag: DW_TAG_template_value_parameter136 Children: DW_CHILDREN_no137 Attributes:138 - Attribute: DW_AT_type139 Form: DW_FORM_ref_addr140 - Attribute: DW_AT_name141 Form: DW_FORM_string142 - Attribute: DW_AT_const_value143 Form: DW_FORM_data4144 - Tag: DW_TAG_base_type145 Children: DW_CHILDREN_no146 Attributes:147 - Attribute: DW_AT_name148 Form: DW_FORM_string149 - Tag: DW_TAG_variable150 Children: DW_CHILDREN_no151 Attributes:152 - Attribute: DW_AT_name153 Form: DW_FORM_string154 - Attribute: DW_AT_const_value155 Form: DW_FORM_data4156 - Attribute: DW_AT_type157 Form: DW_FORM_ref_addr158 debug_info:159 - Version: 4160 Entries:161 - AbbrCode: 1162 Values:163 - CStr: by_hand164 - Value: 0x04165 - AbbrCode: 2166 Values:167 - CStr: parametrized-class168 - AbbrCode: 3169 Values:170 - Value: 0x0000005B171 - CStr: Type1172 - AbbrCode: 3173 Values:174 - Value: 0x00000060175 - CStr: Type2176 - AbbrCode: 4177 Values:178 - Value: 0x0000005B179 - CStr: Type1180 - Value: 0x0FE181 - AbbrCode: 3182 Values:183 - Value: 0x00000066184 - CStr: Type3185 - AbbrCode: 0186 - AbbrCode: 5187 Values:188 - CStr: int189 - AbbrCode: 5190 Values:191 - CStr: char192 - AbbrCode: 5193 Values:194 - CStr: float195 - AbbrCode: 6196 Values:197 - CStr: var198 - Value: 0x000000FF199 - Value: 0x00000016200 - AbbrCode: 0201...202