1*9880d681SAndroid Build Coastguard Worker; This one fails because the LLVM runtime is allowing two null pointers of 2*9880d681SAndroid Build Coastguard Worker; the same type to be created! 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Worker; RUN: echo "%%T = type i32" | llvm-as > %t.2.bc 5*9880d681SAndroid Build Coastguard Worker; RUN: llvm-as %s -o %t.1.bc 6*9880d681SAndroid Build Coastguard Worker; RUN: llvm-link %t.1.bc %t.2.bc 7*9880d681SAndroid Build Coastguard Worker 8*9880d681SAndroid Build Coastguard Worker%T = type opaque 9*9880d681SAndroid Build Coastguard Worker 10*9880d681SAndroid Build Coastguard Workerdeclare %T* @create() 11*9880d681SAndroid Build Coastguard Worker 12*9880d681SAndroid Build Coastguard Workerdefine void @test() { 13*9880d681SAndroid Build Coastguard Worker %X = call %T* @create( ) ; <%T*> [#uses=1] 14*9880d681SAndroid Build Coastguard Worker %v = icmp eq %T* %X, null ; <i1> [#uses=0] 15*9880d681SAndroid Build Coastguard Worker ret void 16*9880d681SAndroid Build Coastguard Worker} 17*9880d681SAndroid Build Coastguard Worker 18