summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorPeter Collingbourne <peter@pcc.me.uk>2016-05-27 05:21:35 +0000
committerPeter Collingbourne <peter@pcc.me.uk>2016-05-27 05:21:35 +0000
commit1eaa97f43912b6d4571e1397bbed9a72018e3dc4 (patch)
treee1d104c37f85d7db5a654131198670b428e8fe18 /llvm/test
parent8ef190c7b0d2ebfb6ba8e7249179c4c26143d69e (diff)
downloadbcm5719-llvm-1eaa97f43912b6d4571e1397bbed9a72018e3dc4.tar.gz
bcm5719-llvm-1eaa97f43912b6d4571e1397bbed9a72018e3dc4.zip
Linker: teach the IR mover to return llvm::Error.
This will be needed in order to consistently return an Error to clients of the API being developed in D20268. Differential Revision: http://reviews.llvm.org/D20550 llvm-svn: 270967
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/Linker/module-flags-4-a.ll2
-rw-r--r--llvm/test/Linker/module-flags-4-b.ll2
-rw-r--r--llvm/test/tools/gold/X86/Inputs/irmover-error.ll3
-rw-r--r--llvm/test/tools/gold/X86/irmover-error.ll9
4 files changed, 14 insertions, 2 deletions
diff --git a/llvm/test/Linker/module-flags-4-a.ll b/llvm/test/Linker/module-flags-4-a.ll
index 14d850dd59c..1c50680054a 100644
--- a/llvm/test/Linker/module-flags-4-a.ll
+++ b/llvm/test/Linker/module-flags-4-a.ll
@@ -5,6 +5,6 @@
; CHECK: linking module flags 'bar': does not have the required value
!0 = !{ i32 1, !"foo", i32 37 }
-!1 = !{ i32 1, !"bar", i32 927 }
+!1 = !{ i32 4, !"bar", i32 927 }
!llvm.module.flags = !{ !0, !1 }
diff --git a/llvm/test/Linker/module-flags-4-b.ll b/llvm/test/Linker/module-flags-4-b.ll
index 02d26033b51..c567e314d42 100644
--- a/llvm/test/Linker/module-flags-4-b.ll
+++ b/llvm/test/Linker/module-flags-4-b.ll
@@ -2,6 +2,6 @@
; RUN: true
!0 = !{i32 3, !"foo", !{!"bar", i32 42}}
-!1 = !{i32 2, !"bar", i32 42}
+!1 = !{i32 1, !"bar", i32 42}
!llvm.module.flags = !{ !0, !1 }
diff --git a/llvm/test/tools/gold/X86/Inputs/irmover-error.ll b/llvm/test/tools/gold/X86/Inputs/irmover-error.ll
new file mode 100644
index 00000000000..1ed82c284a7
--- /dev/null
+++ b/llvm/test/tools/gold/X86/Inputs/irmover-error.ll
@@ -0,0 +1,3 @@
+!0 = !{ i32 1, !"foo", i32 2 }
+
+!llvm.module.flags = !{ !0 }
diff --git a/llvm/test/tools/gold/X86/irmover-error.ll b/llvm/test/tools/gold/X86/irmover-error.ll
new file mode 100644
index 00000000000..2bfbaf4e8af
--- /dev/null
+++ b/llvm/test/tools/gold/X86/irmover-error.ll
@@ -0,0 +1,9 @@
+; RUN: llvm-as -o %t1.bc %s
+; RUN: llvm-as -o %t2.bc %S/Inputs/irmover-error.ll
+; RUN: not %gold -plugin %llvmshlibdir/LLVMgold.so -o %t %t1.bc %t2.bc 2>&1 | FileCheck %s
+
+; CHECK: fatal error: Failed to link module {{.*}}2.bc: linking module flags 'foo': IDs have conflicting values
+
+!0 = !{ i32 1, !"foo", i32 1 }
+
+!llvm.module.flags = !{ !0 }
OpenPOWER on IntegriCloud