diff --git a/test/Linker/2003-01-30-LinkerRename.ll b/test/Linker/2003-01-30-LinkerRename.ll index cbf75413341..1e25d3eef0c 100644 --- a/test/Linker/2003-01-30-LinkerRename.ll +++ b/test/Linker/2003-01-30-LinkerRename.ll @@ -1,10 +1,17 @@ -; This fails because the linker renames the external symbol not the internal -; one... - -; RUN: echo "define internal i32 @foo() { ret i32 7 } " | llvm-as > %t.1.bc +; RUN: llvm-as %S/Inputs/2003-01-30-LinkerRename.ll -o %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]}}() -define i32 @foo() { ret i32 0 } +; CHECK: @bar = global i32 ()* @foo2 +; CHECK: define internal i32 @foo2() { +; CHECK-NEXT: ret i32 7 +; CHECK-NEXT: } + +; CHECK: define i32 @foo() { +; CHECK-NEXT: ret i32 0 +; CHECK-NEXT: } + +define i32 @foo() { + ret i32 0 +} diff --git a/test/Linker/Inputs/2003-01-30-LinkerRename.ll b/test/Linker/Inputs/2003-01-30-LinkerRename.ll new file mode 100644 index 00000000000..5c6b5f567ff --- /dev/null +++ b/test/Linker/Inputs/2003-01-30-LinkerRename.ll @@ -0,0 +1,4 @@ +@bar = global i32()* @foo +define internal i32 @foo() { + ret i32 7 +}