143 lines · plain
1## Test that DWARFv5 DW_FORM_implicit_const is correctly recognized2## and copied into the result.3 4# RUN: yaml2obj %s -o %t.o5 6# RUN: llvm-dwarfutil %t.o %t17# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK8# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s9 10# RUN: llvm-dwarfutil --linker parallel %t.o %t111# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK12# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s13 14# RUN: llvm-dwarfutil --no-garbage-collection %t.o %t115# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK16# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s17 18# RUN: llvm-dwarfutil --linker parallel --no-garbage-collection %t.o %t119# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK20# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s21 22# RUN: llvm-dwarfutil --no-garbage-collection --build-accelerator=DWARF %t.o %t123# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK24# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s25 26# RUN: llvm-dwarfutil --linker parallel --no-garbage-collection --build-accelerator=DWARF %t.o %t127# RUN: llvm-dwarfdump -verify %t1 | FileCheck %s --check-prefix VERIFY-CHECK28# RUN: llvm-dwarfdump -a --verbose %t1 | FileCheck %s29 30#VERIFY-CHECK: No errors.31 32#CHECK: .debug_abbrev33#CHECK: DW_TAG_compile_unit34#CHECK: DW_TAG_subprogram35#CHECK: DW_TAG_base_type36#CHECK: DW_TAG_variable37#CHECK: DW_AT_name38#CHECK: DW_AT_const_value DW_FORM_implicit_const 3339#CHECK: DW_AT_type40#CHECK: DW_TAG_compile_unit41#CHECK: DW_AT_name {{.*}}"CU1"42#CHECK: DW_AT_low_pc43#CHECK: DW_AT_high_pc44#CHECK: DW_TAG_subprogram45#CHECK: DW_AT_name {{.*}}"foo1"46#CHECK: DW_AT_low_pc47#CHECK: DW_AT_high_pc48#CHECK: DW_TAG_variable49#CHECK: DW_AT_name {{.*}}"var1"50#CHECK: DW_AT_const_value [DW_FORM_implicit_const] (33)51#CHECK: DW_AT_type {{.*}}"int"52 53--- !ELF54FileHeader:55 Class: ELFCLASS6456 Data: ELFDATA2LSB57 Type: ET_REL58 Machine: EM_X86_6459Sections:60 - Name: .text61 Type: SHT_PROGBITS62 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]63 Address: 0x113064 Size: 0x6065DWARF:66 debug_abbrev:67 - Table:68 - Tag: DW_TAG_compile_unit69 Children: DW_CHILDREN_yes70 Attributes:71 - Attribute: DW_AT_producer72 Form: DW_FORM_string73 - Attribute: DW_AT_language74 Form: DW_FORM_data275 - Attribute: DW_AT_name76 Form: DW_FORM_string77 - Attribute: DW_AT_low_pc78 Form: DW_FORM_addrx79 - Attribute: DW_AT_high_pc80 Form: DW_FORM_data881 - Attribute: DW_AT_addr_base82 Form: DW_FORM_sec_offset83 - Tag: DW_TAG_subprogram84 Children: DW_CHILDREN_yes85 Attributes:86 - Attribute: DW_AT_name87 Form: DW_FORM_string88 - Attribute: DW_AT_low_pc89 Form: DW_FORM_addrx90 - Attribute: DW_AT_high_pc91 Form: DW_FORM_data892 - Attribute: DW_AT_type93 Form: DW_FORM_ref494 - Tag: DW_TAG_base_type95 Children: DW_CHILDREN_no96 Attributes:97 - Attribute: DW_AT_name98 Form: DW_FORM_string99 - Tag: DW_TAG_variable100 Children: DW_CHILDREN_no101 Attributes:102 - Attribute: DW_AT_name103 Form: DW_FORM_string104 - Attribute: DW_AT_const_value105 Form: DW_FORM_implicit_const106 Value: 33107 - Attribute: DW_AT_type108 Form: DW_FORM_ref4109 debug_info:110 - Version: 5111 UnitType: DW_UT_compile112 Entries:113 - AbbrCode: 1114 Values:115 - CStr: by_hand116 - Value: 0x04117 - CStr: CU1118 - Value: 0x0119 - Value: 0x10120 - Value: 0x8121 - AbbrCode: 2122 Values:123 - CStr: foo1124 - Value: 0x0125 - Value: 0x10126 - Value: 0x3c127 - AbbrCode: 0128 - AbbrCode: 3129 Values:130 - CStr: int131 - AbbrCode: 4132 Values:133 - CStr: var1134 - Value: 0x00000000135 - Value: 0x0000003c136 - AbbrCode: 0137 debug_addr:138 - Version: 5139 AddressSize: 0x08140 Entries:141 - Address: 0x1130142...143