1*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link %p/opaque.ll %p/Inputs/opaque.ll -S -o - | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: %A = type {} 4*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: %B = type { %C, %C, %B* } 5*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: %B.1 = type { %D, %E, %B.1* } 6*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: %C = type { %A } 7*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: %D = type { %E } 8*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: %E = type opaque 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @g1 = external global %B 11*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @g2 = external global %A 12*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: @g3 = external global %B.1 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Worker; CHECK-DAG: getelementptr %A, %A* null, i32 0 15*9880d681SAndroid Build Coastguard Worker 16*9880d681SAndroid Build Coastguard Worker%A = type opaque 17*9880d681SAndroid Build Coastguard Worker%B = type { %C, %C, %B* } 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker%C = type { %A } 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Worker@g1 = external global %B 22*9880d681SAndroid Build Coastguard Worker 23*9880d681SAndroid Build Coastguard Workerdefine %B* @use_g1() { 24*9880d681SAndroid Build Coastguard Worker ret %B* @g1 25*9880d681SAndroid Build Coastguard Worker} 26