1 ## This test checks that overlapping compile unit address ranges
2 ## are ignored (i.e. left unchanged) by --garbage-collection
5 # RUN: yaml2obj %s -o %t.o
6 # RUN: llvm-dwarfutil --no-odr --garbage-collection %t.o %t1
7 # RUN: llvm-dwarfdump -a %t1 | FileCheck %s
9 # RUN: llvm-dwarfutil --no-odr --linker parallel --garbage-collection %t.o %t1
10 # RUN: llvm-dwarfdump -a %t1 | FileCheck %s
12 # CHECK: DW_TAG_compile_unit
13 # CHECK: DW_AT_name{{.*}}"CU1"
14 # CHECK: DW_TAG_class_type
15 # CHECK: DW_AT_name{{.*}}"class1"
16 # CHECK: DW_TAG_subprogram
17 # CHECK: DW_AT_name{{.*}}"foo1"
18 # CHECK: DW_AT_low_pc{{.*}}0x0000000000001000
19 # CHECK: DW_AT_high_pc{{.*}}0x0000000000001010
20 # CHECK: DW_TAG_subprogram
21 # CHECK: DW_AT_name{{.*}}"foo2"
22 # CHECK: DW_AT_low_pc{{.*}}0x0000000000001000
23 # CHECK: DW_AT_high_pc{{.*}}0x0000000000001010
24 # CHECK: DW_AT_type{{.*}}"class2"
35 Flags: [ SHF_ALLOC, SHF_EXECINSTR ]
37 AddressAlign: 0x0000000000000010
38 Content: "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
42 - Tag: DW_TAG_compile_unit
43 Children: DW_CHILDREN_yes
45 - Attribute: DW_AT_producer
47 - Attribute: DW_AT_language
49 - Attribute: DW_AT_name
51 - Attribute: DW_AT_low_pc
53 - Attribute: DW_AT_high_pc
55 - Tag: DW_TAG_subprogram
56 Children: DW_CHILDREN_no
58 - Attribute: DW_AT_name
60 - Attribute: DW_AT_low_pc
62 - Attribute: DW_AT_high_pc
64 - Attribute: DW_AT_type
66 - Tag: DW_TAG_class_type
67 Children: DW_CHILDREN_yes
69 - Attribute: DW_AT_name
72 Children: DW_CHILDREN_no
74 - Attribute: DW_AT_type
76 - Attribute: DW_AT_name
78 - Tag: DW_TAG_class_type
79 Children: DW_CHILDREN_no
81 - Attribute: DW_AT_name
83 - Attribute: DW_AT_declaration
84 Form: DW_FORM_flag_present
85 - Tag: DW_TAG_class_type
86 Children: DW_CHILDREN_yes
88 - Attribute: DW_AT_name
90 - Attribute: DW_AT_declaration
91 Form: DW_FORM_flag_present
92 - Tag: DW_TAG_template_type_parameter
93 Children: DW_CHILDREN_no
95 - Attribute: DW_AT_type
97 - Tag: DW_TAG_base_type
98 Children: DW_CHILDREN_no
100 - Attribute: DW_AT_name
103 - Tag: DW_TAG_compile_unit
104 Children: DW_CHILDREN_yes
106 - Attribute: DW_AT_producer
108 - Attribute: DW_AT_language
110 - Attribute: DW_AT_name
112 - Attribute: DW_AT_low_pc
114 - Attribute: DW_AT_high_pc
116 - Tag: DW_TAG_subprogram
117 Children: DW_CHILDREN_no
119 - Attribute: DW_AT_name
121 - Attribute: DW_AT_low_pc
123 - Attribute: DW_AT_high_pc
125 - Attribute: DW_AT_type
127 - Tag: DW_TAG_class_type
128 Children: DW_CHILDREN_yes
130 - Attribute: DW_AT_name
133 Children: DW_CHILDREN_no
135 - Attribute: DW_AT_type
137 - Attribute: DW_AT_name
139 - Tag: DW_TAG_class_type
140 Children: DW_CHILDREN_no
142 - Attribute: DW_AT_name
144 - Attribute: DW_AT_declaration
145 Form: DW_FORM_flag_present
146 - Tag: DW_TAG_class_type
147 Children: DW_CHILDREN_yes
149 - Attribute: DW_AT_name
151 - Attribute: DW_AT_declaration
152 Form: DW_FORM_flag_present
153 - Tag: DW_TAG_template_type_parameter
154 Children: DW_CHILDREN_no
156 - Attribute: DW_AT_type
158 - Tag: DW_TAG_base_type
159 Children: DW_CHILDREN_no
161 - Attribute: DW_AT_name