Home | History | Annotate | Download | only in Linker
      1 ; RUN: llvm-as %s -o %t.bc
      2 ; RUN: llvm-link -S %t.bc -o - | FileCheck %s
      3 ; RUN: llvm-link -S %s -o - | FileCheck %s
      4 
      5 ; Test that we don't try to map %C.0 and C and then try to map %C to a new type.
      6 ; This used to happen when lazy loading since we wouldn't then identify %C
      7 ; as a destination type until it was too late.
      8 
      9 ; CHECK: %C.0 = type { %B }
     10 ; CHECK-NEXT: %B = type { %A }
     11 ; CHECK-NEXT: %A = type { i8 }
     12 
     13 ; CHECK: @g1 = global %C.0 zeroinitializer
     14 ; CHECK:  getelementptr %C.0, %C.0* null, i64 0, i32 0, i32 0
     15 
     16 %A   = type { i8 }
     17 %B   = type { %A }
     18 %C   = type { %B }
     19 %C.0 = type { %B }
     20 define void @f1() {
     21   getelementptr %C, %C* null, i64 0, i32 0, i32 0
     22   ret void
     23 }
     24 @g1 = global %C.0 zeroinitializer
     25