; This fails because the linker renames the external symbol not the internal
; one...
-; RUN: echo "implementation internal int %foo() { ret int 7 }" | as > Output/%s.1.bc
-; RUN: as < %s > Output/%s.2.bc
-; RUN: link Output/%s.[12].bc | dis | grep '%foo()' | grep -v internal
+; RUN: echo "define internal i32 @foo() { ret i32 7 } " | llvm-as > %t.1.bc
+; RUN: llvm-as %s -o %t.2.bc
+; RUN: llvm-link %t.1.bc %t.2.bc -S | FileCheck %s
+; CHECK: internal{{.*}}@foo{{[0-9]}}()
-implementation
-int %foo() { ret int 0 }
+define i32 @foo() { ret i32 0 }