| RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %p/../Inputs/type_dedup/b.dwo -o %t |
| RUN: llvm-dwarfdump -v %t | FileCheck %s |
| RUN: llvm-dwp %p/../Inputs/type_dedup/b.dwo -o %tb.dwp |
| RUN: llvm-dwp %p/../Inputs/type_dedup/a.dwo %tb.dwp -o %t |
| RUN: llvm-dwarfdump -v %t | FileCheck %s |
| |
| a.cpp: |
| struct common { }; |
| common a1; |
| struct adistinct { }; |
| adistinct a2; |
| |
| b.cpp: |
| struct common { }; |
| common b1; |
| struct bdistinct { }; |
| bdistinct b2; |
| |
| CHECK-LABEL: .debug_types.dwo contents: |
| CHECK: [[COMMONUOFF:0x[0-9a-f]*]]: |
| CHECK-LABEL: Type Unit: length = 0x00000020 version = 0x0004 abbr_offset = |
| CHECK: 0x0000 addr_size = 0x08 name = 'common' type_signature = [[COMMONSIG:0x[0-9a-f]*]] type_offset = 0x[[COMMONOFF:.*]] (next unit at [[AUOFF:.*]]) |
| CHECK: DW_TAG_type_unit |
| CHECK: [[COMMONOFF]]: DW_TAG_structure_type |
| CHECK: DW_AT_name {{.*}} "common" |
| CHECK: [[AUOFF]]: |
| CHECK-LABEL: Type Unit: length = 0x00000020 version = 0x0004 abbr_offset = |
| CHECK: 0x0000 addr_size = 0x08 name = 'adistinct' type_signature = [[ASIG:0x[0-9a-f]*]] type_offset = 0x[[AOFF:.*]] (next unit at [[BUOFF:.*]]) |
| CHECK: DW_TAG_type_unit |
| CHECK: 0x00000042: DW_TAG_structure_type |
| CHECK: DW_AT_name {{.*}} "adistinct" |
| CHECK: [[BUOFF]]: |
| CHECK-LABEL: Type Unit: length = 0x00000020 version = 0x0004 abbr_offset = |
| CHECK: 0x{{.*}} addr_size = 0x08 name = 'bdistinct' type_signature = [[BSIG:0x[0-9a-f]*]] type_offset = 0x[[BOFF:.*]] (next unit at [[XUOFF:.*]]) |
| CHECK: DW_TAG_type_unit |
| CHECK: 0x00000066: DW_TAG_structure_type |
| CHECK: DW_AT_name {{.*}} "bdistinct" |
| CHECK-NOT: Type Unit |