Linker: Clarify test/Linker/type-unique-odr-a.ll, NFC
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sun, 17 Apr 2016 00:26:17 +0000 (00:26 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Sun, 17 Apr 2016 00:26:17 +0000 (00:26 +0000)
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

llvm/test/Linker/type-unique-odr-a.ll

index fe3ae5b..eeb1db7 100644 (file)
@@ -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.
 ;
 ; 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 }