xref: /aosp_15_r20/external/llvm/test/Linker/2003-04-26-NullPtrLinkProblem.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
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