; This one fails because the LLVM runtime is allowing two null pointers of
; the same type to be created!
-; RUN: echo "%T = type int" | llvm-as > %t.2.bc
-; RUN: llvm-as < %s > %t.1.bc
-; RUN: llvm-link %t.[12].bc
+; RUN: echo "%%T = type i32" | llvm-as > %t.2.bc
+; RUN: llvm-as %s -o %t.1.bc
+; RUN: llvm-link %t.1.bc %t.2.bc
%T = type opaque
-declare %T* %create()
+declare %T* @create()
-implementation
-
-void %test() {
- %X = call %T* %create()
- %v = seteq %T* %X, null
+define void @test() {
+ %X = call %T* @create( ) ; <%T*> [#uses=1]
+ %v = icmp eq %T* %X, null ; <i1> [#uses=0]
ret void
}