; This fails because the linker renames the non-opaque type not the opaque
; one...
-; RUN: echo "implementation linkonce void %foo() { ret void } " | llvm-as > %t.2.bc
-; RUN: llvm-as < %s > %t.1.bc
-; RUN: llvm-link %t.[12].bc | llvm-dis | grep foo | grep linkonce
+; RUN: echo " define linkonce void @foo() { ret void } " | \
+; RUN: llvm-as -o %t.2.bc
+; RUN: llvm-as %s -o %t.1.bc
+; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s
+; CHECK: linkonce{{.*}}foo
+
+declare void @foo()
-declare void %foo()