1 ## This test checks that debug info related to deleted code (marked with
2 ## default tombstone value) is removed.
4 # RUN: yaml2obj %s -o %t.o
6 # RUN: llvm-dwarfutil --no-odr %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
8 # RUN: llvm-dwarfutil --no-odr --linker classic %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
10 # RUN: llvm-dwarfutil --no-odr --linker parallel %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
12 # RUN: llvm-dwarfutil --no-odr --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
14 # RUN: llvm-dwarfutil --no-odr --no-garbage-collection --garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
16 # RUN: llvm-dwarfutil --no-odr --garbage-collection --no-garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-NOGC
18 # RUN: llvm-dwarfutil --no-odr --linker parallel --garbage-collection --no-garbage-collection %t.o - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-NOGC
20 # RUN: llvm-dwarfutil --no-odr %t.o --tombstone=universal - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
22 # RUN: llvm-dwarfutil --no-odr --linker parallel %t.o --tombstone=universal - | llvm-dwarfdump -a - | FileCheck %s --check-prefixes=CHECK,CHECK-GC
24 # CHECK: DW_TAG_compile_unit
25 # CHECK: DW_AT_name{{.*}}"CU1"
26 # CHECK: DW_TAG_class_type
27 # CHECK: DW_AT_name{{.*}}"class1"
28 # CHECK-GC-NOT: DW_TAG_class_type
29 # CHECK-GC-NOT: "class2"
30 # CHECK-GC-NOT: "class3"
31 # CHECK-NOGC: DW_TAG_class_type
32 # CHECK-NOGC: "class2"
33 # CHECK-NOGC: "class3"
34 # CHECK: DW_TAG_subprogram
35 # CHECK: DW_AT_name{{.*}}"foo1"
36 # CHECK: DW_AT_low_pc{{.*}}0x0000000000001000
37 # CHECK: DW_AT_high_pc{{.*}}0x0000000000001010
38 # CHECK: DW_AT_type{{.*}}"class1"
39 # CHECK-GC-NOT: DW_TAG_subprogram
40 # CHECK-GC-NOT: "foo2"
41 # CHECK-NOGC: DW_TAG_subprogram
54 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
60 - Tag: DW_TAG_compile_unit
61 Children: DW_CHILDREN_yes
63 - Attribute: DW_AT_producer
65 - Attribute: DW_AT_language
67 - Attribute: DW_AT_name
69 - Attribute: DW_AT_low_pc
71 - Attribute: DW_AT_high_pc
73 - Tag: DW_TAG_subprogram
74 Children: DW_CHILDREN_no
76 - Attribute: DW_AT_name
78 - Attribute: DW_AT_low_pc
80 - Attribute: DW_AT_high_pc
82 - Attribute: DW_AT_type
84 - Tag: DW_TAG_class_type
85 Children: DW_CHILDREN_yes
87 - Attribute: DW_AT_name
90 Children: DW_CHILDREN_no
92 - Attribute: DW_AT_type
94 - Attribute: DW_AT_name
96 - Tag: DW_TAG_class_type
97 Children: DW_CHILDREN_no
99 - Attribute: DW_AT_name
101 - Attribute: DW_AT_declaration
102 Form: DW_FORM_flag_present
103 - Tag: DW_TAG_class_type
104 Children: DW_CHILDREN_yes
106 - Attribute: DW_AT_name
108 - Attribute: DW_AT_declaration
109 Form: DW_FORM_flag_present
110 - Tag: DW_TAG_template_type_parameter
111 Children: DW_CHILDREN_no
113 - Attribute: DW_AT_type
115 - Tag: DW_TAG_base_type
116 Children: DW_CHILDREN_no
118 - Attribute: DW_AT_name