summaryrefslogtreecommitdiff
path: root/test/Linker
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-09-04 14:59:03 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-09-04 14:59:03 +0000
commit6947f10ec467eb89d606bc96450c35864e1b4f10 (patch)
treebb86929cd698d53ab269c2251afd70ce4f24c586 /test/Linker
parent254f75095b9bdd20b43b827a918bc12fc4ad6bae (diff)
downloadllvm-6947f10ec467eb89d606bc96450c35864e1b4f10.tar.gz
llvm-6947f10ec467eb89d606bc96450c35864e1b4f10.tar.bz2
llvm-6947f10ec467eb89d606bc96450c35864e1b4f10.tar.xz
Fix linking of unnamed_addr in functions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189945 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Linker')
-rw-r--r--test/Linker/unnamed-addr1-a.ll19
-rw-r--r--test/Linker/unnamed-addr1-b.ll8
2 files changed, 27 insertions, 0 deletions
diff --git a/test/Linker/unnamed-addr1-a.ll b/test/Linker/unnamed-addr1-a.ll
index 8ab9d09aa3..adaa40024c 100644
--- a/test/Linker/unnamed-addr1-a.ll
+++ b/test/Linker/unnamed-addr1-a.ll
@@ -6,6 +6,11 @@
@global-b = common unnamed_addr global i32 0
; CHECK-DAG: @global-b = common unnamed_addr global i32 0
+define weak void @func-a() { ret void }
+; CHECK-DAG: define weak void @func-a() {
+define weak void @func-b() unnamed_addr { ret void }
+; CHECK-DAG: define weak void @func-b() unnamed_addr {
+
; Other file has unnamed_addr definition
@global-c = common unnamed_addr global i32 0
; CHECK-DAG: @global-c = common unnamed_addr global i32 0
@@ -16,6 +21,13 @@
@global-f = weak global i32 42
; CHECK-DAG: @global-f = global i32 42
+declare void @func-c()
+; CHECK-DAG: define weak void @func-c() {
+define weak void @func-d() { ret void }
+; CHECK-DAG: define weak void @func-d() {
+define weak void @func-e() unnamed_addr { ret void }
+; CHECK-DAG: define weak void @func-e() unnamed_addr {
+
; Other file has non-unnamed_addr definition
@global-g = common unnamed_addr global i32 0
; CHECK-DAG: @global-g = common global i32 0
@@ -25,3 +37,10 @@
; CHECK-DAG: @global-i = global i32 42
@global-j = weak global i32 42
; CHECK-DAG: @global-j = global i32 42
+
+declare void @func-g()
+; CHECK-DAG: define weak void @func-g() {
+define weak void @func-h() { ret void }
+; CHECK-DAG: define weak void @func-h() {
+define weak void @func-i() unnamed_addr { ret void }
+; CHECK-DAG: define weak void @func-i() {
diff --git a/test/Linker/unnamed-addr1-b.ll b/test/Linker/unnamed-addr1-b.ll
index ef009e87ec..aa1507b9c6 100644
--- a/test/Linker/unnamed-addr1-b.ll
+++ b/test/Linker/unnamed-addr1-b.ll
@@ -6,7 +6,15 @@
@global-e = unnamed_addr global i32 42
@global-f = unnamed_addr global i32 42
+define weak void @func-c() unnamed_addr { ret void }
+define weak void @func-d() unnamed_addr { ret void }
+define weak void @func-e() unnamed_addr { ret void }
+
@global-g = common global i32 42
@global-h = global i32 42
@global-i = global i32 42
@global-j = global i32 42
+
+define weak void @func-g() { ret void }
+define weak void @func-h() { ret void }
+define weak void @func-i() { ret void }