From 74ff8164d719306e7ceaacff7ccb59d489603aa1 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Thu, 23 Oct 2014 18:44:07 +0000 Subject: [PATCH] Make this test a bit stricter. This now: * Forces the linker to include the internal definition. * Checks the full output. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220494 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/Linker/2003-01-30-LinkerRename.ll | 19 +++++++++++++------ test/Linker/Inputs/2003-01-30-LinkerRename.ll | 4 ++++ 2 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 test/Linker/Inputs/2003-01-30-LinkerRename.ll 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 +}