-; This fails because the linker renames the non-opaque type not the opaque
-; one...
-
-; 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 | llvm-dis | grep foo | grep linkonce
+; RUN: echo " define linkonce void @foo() { ret void } " > %t.ll
+; RUN: llvm-link %s %t.ll -S | FileCheck %s
+; CHECK: linkonce{{.*}}foo
declare void @foo()
+define void @use_foo() {
+ call void @foo()
+ ret void
+}