171 lines · plain
1## This test checks that debug info related to deleted code (marked with2## default tombstone value) is removed.3 4# RUN: yaml2obj %s -o %t.o5 6# RUN: llvm-dwarfutil --no-odr %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC7 8# RUN: llvm-dwarfutil --no-odr --linker classic %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC9 10# RUN: llvm-dwarfutil --no-odr --linker parallel %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC11 12# RUN: llvm-dwarfutil --no-odr --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC13 14# RUN: llvm-dwarfutil --no-odr --no-garbage-collection --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC15 16# RUN: llvm-dwarfutil --no-odr --garbage-collection --no-garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-NOGC17 18# RUN: llvm-dwarfutil --no-odr --linker parallel --garbage-collection --no-garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-NOGC19 20# RUN: llvm-dwarfutil --no-odr %t.o --tombstone=universal - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC21 22# RUN: llvm-dwarfutil --no-odr --linker parallel %t.o --tombstone=universal - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC23 24# CHECK: DW_TAG_compile_unit25# CHECK: DW_AT_name{{.*}}"CU1"26# CHECK: DW_TAG_class_type27# CHECK: DW_AT_name{{.*}}"class1"28# CHECK-GC-NOT: DW_TAG_class_type29# CHECK-GC-NOT: "class2"30# CHECK-GC-NOT: "class3"31# CHECK-NOGC: DW_TAG_class_type32# CHECK-NOGC: "class2"33# CHECK-NOGC: "class3"34# CHECK: DW_TAG_subprogram35# CHECK: DW_AT_name{{.*}}"foo1"36# CHECK: DW_AT_low_pc{{.*}}0x000000000000100037# CHECK: DW_AT_high_pc{{.*}}0x000000000000101038# CHECK: DW_AT_type{{.*}}"class1"39# CHECK-GC-NOT: DW_TAG_subprogram40# CHECK-GC-NOT: "foo2"41# CHECK-NOGC: DW_TAG_subprogram42# CHECK-NOGC: "foo2"43 44 45--- !ELF46FileHeader:47 Class: ELFCLASS6448 Data: ELFDATA2LSB49 Type: ET_REL50 Machine: EM_X86_6451Sections:52 - Name: .text53 Type: SHT_PROGBITS54 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]55 Address: 0x100056 Size: 0x1b57DWARF:58 debug_abbrev:59 - Table:60 - Tag: DW_TAG_compile_unit61 Children: DW_CHILDREN_yes62 Attributes:63 - Attribute: DW_AT_producer64 Form: DW_FORM_string65 - Attribute: DW_AT_language66 Form: DW_FORM_data267 - Attribute: DW_AT_name68 Form: DW_FORM_string69 - Attribute: DW_AT_low_pc70 Form: DW_FORM_addr71 - Attribute: DW_AT_high_pc72 Form: DW_FORM_data873 - Tag: DW_TAG_subprogram74 Children: DW_CHILDREN_no75 Attributes:76 - Attribute: DW_AT_name77 Form: DW_FORM_string78 - Attribute: DW_AT_low_pc79 Form: DW_FORM_addr80 - Attribute: DW_AT_high_pc81 Form: DW_FORM_data882 - Attribute: DW_AT_type83 Form: DW_FORM_ref484 - Tag: DW_TAG_class_type85 Children: DW_CHILDREN_yes86 Attributes:87 - Attribute: DW_AT_name88 Form: DW_FORM_string89 - Tag: DW_TAG_member90 Children: DW_CHILDREN_no91 Attributes:92 - Attribute: DW_AT_type93 Form: DW_FORM_ref494 - Attribute: DW_AT_name95 Form: DW_FORM_string96 - Tag: DW_TAG_class_type97 Children: DW_CHILDREN_no98 Attributes:99 - Attribute: DW_AT_name100 Form: DW_FORM_string101 - Attribute: DW_AT_declaration102 Form: DW_FORM_flag_present103 - Tag: DW_TAG_class_type104 Children: DW_CHILDREN_yes105 Attributes:106 - Attribute: DW_AT_name107 Form: DW_FORM_string108 - Attribute: DW_AT_declaration109 Form: DW_FORM_flag_present110 - Tag: DW_TAG_template_type_parameter111 Children: DW_CHILDREN_no112 Attributes:113 - Attribute: DW_AT_type114 Form: DW_FORM_ref4115 - Tag: DW_TAG_base_type116 Children: DW_CHILDREN_no117 Attributes:118 - Attribute: DW_AT_name119 Form: DW_FORM_string120 debug_info:121 - Version: 4122 Entries:123 - AbbrCode: 1124 Values:125 - CStr: by_hand126 - Value: 0x04127 - CStr: CU1128 - Value: 0x1000129 - Value: 0x1b130 - AbbrCode: 3131 Values:132 - CStr: class1133 - AbbrCode: 4134 Values:135 - Value: 0x0000006c136 - CStr: member1137 - AbbrCode: 0138 - AbbrCode: 3139 Values:140 - CStr: class2141 - AbbrCode: 4142 Values:143 - Value: 0x0000006c144 - CStr: member1145 - AbbrCode: 0146 - AbbrCode: 3147 Values:148 - CStr: class3149 - AbbrCode: 4150 Values:151 - Value: 0x0000006c152 - CStr: member1153 - AbbrCode: 0154 - AbbrCode: 8155 Values:156 - CStr: int157 - AbbrCode: 2158 Values:159 - CStr: foo1160 - Value: 0x1000161 - Value: 0x10162 - Value: 0x0000002a163 - AbbrCode: 2164 Values:165 - CStr: foo2166 - Value: 0x0167 - Value: 0x100168 - Value: 0x00000040169 - AbbrCode: 0170...171