-; RUN: llvm-upgrade < %s | llvm-as > %t.out1.bc
-; RUN: echo {%S = external global \{ int, opaque* \} declare void %F(opaque*)}\
-; RUN: | llvm-upgrade | llvm-as > %t.out2.bc
-; RUN: llvm-link %t.out1.bc %t.out2.bc | llvm-dis | not grep opaque
+; RUN: llvm-as < %s > %t.out1.bc
+; RUN: echo {@S = external global \{ i32, opaque* \} declare void @F(opaque*)}\
+; RUN: | llvm-as > %t.out2.bc
+; RUN: llvm-link %t.out1.bc %t.out2.bc -S | not grep opaque
; After linking this testcase, there should be no opaque types left. The two
; S's should cause the opaque type to be resolved to 'int'.
-%S = global { int, int* } { int 5, int* null }
+@S = global { i32, i32* } { i32 5, i32* null } ; <{ i32, i32* }*> [#uses=0]
-declare void %F(int*)
+declare void @F(i32*)