llvm.org GIT mirror llvm / 36d852b
Linker: Clarify test/Linker/type-unique-odr-a.ll, NFC Split up the long RUN and clarify the CHECK lines: - Explicitly confirm there are no other subprograms inside of "A". - Remove checks for "bar" and "baz", which were just implicitly checking that there were no other subprograms inside of "A". This prepares for adding a RUN line which links the two files in the opposite direction. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@266543 91177308-0d34-0410-b5e6-96231b3b80d8 Duncan P. N. Exon Smith 4 years ago
1 changed file(s) with 23 addition(s) and 17 deletion(s). Raw diff Collapse all Expand all
0 ; REQUIRES: default_triple, object-emission
11 ;
2 ; RUN: llvm-link %s %p/type-unique-odr-b.ll -S -o - | %llc_dwarf -dwarf-linkage-names=Enable -filetype=obj -O0 | llvm-dwarfdump -debug-dump=info - | FileCheck %s
2 ; RUN: llvm-link %s %p/type-unique-odr-b.ll -S -o - \
3 ; RUN: | %llc_dwarf -dwarf-linkage-names=Enable -filetype=obj -O0 \
4 ; RUN: | llvm-dwarfdump -debug-dump=info - \
5 ; RUN: | FileCheck %s
36 ;
47 ; Test ODR-based type uniquing for C++ class members.
58 ; rdar://problem/15851313.
2326 ;
2427 ; CHECK: DW_TAG_class_type
2528 ; CHECK-NEXT: DW_AT_name {{.*}} "A"
29 ; CHECK-NOT: DW_TAG
30 ; CHECK: DW_TAG_member
31 ; CHECK-NEXT: DW_AT_name {{.*}} "data"
32 ; CHECK-NOT: DW_TAG
33 ; CHECK: DW_TAG_subprogram
34 ; CHECK-NOT: DW_TAG
35 ; CHECK: DW_AT_linkage_name {{.*}} "_ZN1A6getFooEv"
36 ; CHECK-NOT: DW_TAG
37 ; CHECK: DW_AT_name {{.*}} "getFoo"
38
39 ; Ensure that there aren't any other subprograms in class A.
40 ; CHECK-NOT: DW_TAG
41 ; CHECK: DW_TAG_formal_parameter
42 ; CHECK-NOT: DW_TAG
43 ; CHECK: NULL
44 ; CHECK-NOT: DW_TAG
45 ; CHECK: NULL
2646 ; CHECK-NOT: DW_TAG
27 ; CHECK: DW_TAG_member
28 ; CHECK-NEXT: DW_AT_name {{.*}} "data"
29 ; CHECK-NOT: DW_TAG
30 ; CHECK: DW_TAG_subprogram
31 ; CHECK-NOT: DW_TAG
32 ; CHECK: DW_AT_linkage_name {{.*}} "_ZN1A6getFooEv"
33 ; CHECK-NOT: DW_TAG
34 ; CHECK: DW_AT_name {{.*}} "getFoo"
35 ; CHECK: DW_TAG_subprogram
36 ; CHECK-NOT: DW_TAG
37 ; CHECK: DW_AT_linkage_name {{.*}} "_Z3bazv"
38 ; CHECK: DW_TAG_subprogram
39 ; CHECK-NOT: DW_TAG
40 ; CHECK: DW_AT_linkage_name {{.*}} "_ZL3barv"
47 ; CHECK: DW_TAG_base_type
4148
42 ; getFoo and A may only appear once.
49 ; Ensure that getFoo and A are only emitted once.
4350 ; CHECK-NOT: AT_name{{.*(getFoo)|("A")}}
44
4551
4652 ; ModuleID = 'type-unique-odr-a.cpp'
4753