forked from OSchip/llvm-project
Update LLD for D20550.
Differential Revision: http://reviews.llvm.org/D20704 llvm-svn: 270968
This commit is contained in:
parent
1eaa97f439
commit
5079f3b727
|
@ -218,8 +218,12 @@ void BitcodeCompiler::add(BitcodeFile &F) {
|
|||
Keep.push_back(GV);
|
||||
}
|
||||
|
||||
Mover.move(Obj->takeModule(), Keep,
|
||||
[](GlobalValue &, IRMover::ValueAdder) {});
|
||||
if (Error E = Mover.move(Obj->takeModule(), Keep,
|
||||
[](GlobalValue &, IRMover::ValueAdder) {})) {
|
||||
handleAllErrors(std::move(E), [&](const llvm::ErrorInfoBase &EIB) {
|
||||
fatal("failed to link module " + F.getName() + ": " + EIB.message());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
static void internalize(GlobalValue &GV) {
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
target triple = "x86_64-unknown-linux-gnu"
|
||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
|
||||
!0 = !{ i32 1, !"foo", i32 2 }
|
||||
|
||||
!llvm.module.flags = !{ !0 }
|
|
@ -0,0 +1,12 @@
|
|||
; RUN: llvm-as -o %t1.bc %s
|
||||
; RUN: llvm-as -o %t2.bc %S/Inputs/irmover-error.ll
|
||||
; RUN: not ld.lld -m elf_x86_64 %t1.bc %t2.bc -o %t 2>&1 | FileCheck %s
|
||||
|
||||
; CHECK: failed to link module {{.*}}2.bc: linking module flags 'foo': IDs have conflicting values
|
||||
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
|
||||
|
||||
!0 = !{ i32 1, !"foo", i32 1 }
|
||||
|
||||
!llvm.module.flags = !{ !0 }
|
Loading…
Reference in New Issue