summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-17 00:26:17 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2016-04-17 00:26:17 +0000
commit4f6f15d2df3a53597d218f3224a4496e19b9d01e (patch)
tree41b2baf24016ffd7a18094294ebd12c2849168f3
parentf22912780dd565f5cc1f173a90f1460f2a0d28b1 (diff)
downloadbcm5719-llvm-4f6f15d2df3a53597d218f3224a4496e19b9d01e.tar.gz
bcm5719-llvm-4f6f15d2df3a53597d218f3224a4496e19b9d01e.zip
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. llvm-svn: 266543
-rw-r--r--llvm/test/Linker/type-unique-odr-a.ll40
1 files changed, 23 insertions, 17 deletions
diff --git a/llvm/test/Linker/type-unique-odr-a.ll b/llvm/test/Linker/type-unique-odr-a.ll
index fe3ae5b2540..eeb1db763eb 100644
--- a/llvm/test/Linker/type-unique-odr-a.ll
+++ b/llvm/test/Linker/type-unique-odr-a.ll
@@ -1,6 +1,9 @@
; REQUIRES: default_triple, object-emission
;
-; 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
+; RUN: llvm-link %s %p/type-unique-odr-b.ll -S -o - \
+; RUN: | %llc_dwarf -dwarf-linkage-names=Enable -filetype=obj -O0 \
+; RUN: | llvm-dwarfdump -debug-dump=info - \
+; RUN: | FileCheck %s
;
; Test ODR-based type uniquing for C++ class members.
; rdar://problem/15851313.
@@ -24,26 +27,29 @@
;
; CHECK: DW_TAG_class_type
; CHECK-NEXT: DW_AT_name {{.*}} "A"
+; CHECK-NOT: DW_TAG
+; CHECK: DW_TAG_member
+; CHECK-NEXT: DW_AT_name {{.*}} "data"
+; CHECK-NOT: DW_TAG
+; CHECK: DW_TAG_subprogram
+; CHECK-NOT: DW_TAG
+; CHECK: DW_AT_linkage_name {{.*}} "_ZN1A6getFooEv"
+; CHECK-NOT: DW_TAG
+; CHECK: DW_AT_name {{.*}} "getFoo"
+
+; Ensure that there aren't any other subprograms in class A.
+; CHECK-NOT: DW_TAG
+; CHECK: DW_TAG_formal_parameter
+; CHECK-NOT: DW_TAG
+; CHECK: NULL
+; CHECK-NOT: DW_TAG
+; CHECK: NULL
; CHECK-NOT: DW_TAG
-; CHECK: DW_TAG_member
-; CHECK-NEXT: DW_AT_name {{.*}} "data"
-; CHECK-NOT: DW_TAG
-; CHECK: DW_TAG_subprogram
-; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_linkage_name {{.*}} "_ZN1A6getFooEv"
-; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_name {{.*}} "getFoo"
-; CHECK: DW_TAG_subprogram
-; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_linkage_name {{.*}} "_Z3bazv"
-; CHECK: DW_TAG_subprogram
-; CHECK-NOT: DW_TAG
-; CHECK: DW_AT_linkage_name {{.*}} "_ZL3barv"
+; CHECK: DW_TAG_base_type
-; getFoo and A may only appear once.
+; Ensure that getFoo and A are only emitted once.
; CHECK-NOT: AT_name{{.*(getFoo)|("A")}}
-
; ModuleID = 'type-unique-odr-a.cpp'
%class.A = type { i32 }
OpenPOWER on IntegriCloud