From 1eaa97f43912b6d4571e1397bbed9a72018e3dc4 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 27 May 2016 05:21:35 +0000 Subject: 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 --- llvm/test/Linker/module-flags-4-a.ll | 2 +- llvm/test/Linker/module-flags-4-b.ll | 2 +- llvm/test/tools/gold/X86/Inputs/irmover-error.ll | 3 +++ llvm/test/tools/gold/X86/irmover-error.ll | 9 +++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 llvm/test/tools/gold/X86/Inputs/irmover-error.ll create mode 100644 llvm/test/tools/gold/X86/irmover-error.ll (limited to 'llvm/test') 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 } -- cgit v1.2.3