[llvm] r266543 - Linker: Clarify test/Linker/type-unique-odr-a.ll, NFC

Duncan P. N. Exon Smith via llvm-commits llvm-commits at lists.llvm.org
Sat Apr 16 17:26:19 PDT 2016


Author: dexonsmith
Date: Sat Apr 16 19:26:17 2016
New Revision: 266543

URL: http://llvm.org/viewvc/llvm-project?rev=266543&view=rev
Log:
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.

Modified:
    llvm/trunk/test/Linker/type-unique-odr-a.ll

Modified: llvm/trunk/test/Linker/type-unique-odr-a.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Linker/type-unique-odr-a.ll?rev=266543&r1=266542&r2=266543&view=diff
==============================================================================
--- llvm/trunk/test/Linker/type-unique-odr-a.ll (original)
+++ llvm/trunk/test/Linker/type-unique-odr-a.ll Sat Apr 16 19:26:17 2016
@@ -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 }




More information about the llvm-commits mailing list