diff --git a/llvm/lib/Transforms/IPO/FunctionImport.cpp b/llvm/lib/Transforms/IPO/FunctionImport.cpp --- a/llvm/lib/Transforms/IPO/FunctionImport.cpp +++ b/llvm/lib/Transforms/IPO/FunctionImport.cpp @@ -1243,10 +1243,12 @@ << " from " << SrcModule->getSourceFileName() << "\n"; } - if (Mover.move(std::move(SrcModule), GlobalsToImport.getArrayRef(), - [](GlobalValue &, IRMover::ValueAdder) {}, - /*IsPerformingImport=*/true)) - report_fatal_error("Function Import: link error"); + if (Error Err = Mover.move( + std::move(SrcModule), GlobalsToImport.getArrayRef(), + [](GlobalValue &, IRMover::ValueAdder) {}, + /*IsPerformingImport=*/true)) + report_fatal_error("Function Import: link error: " + + toString(std::move(Err))); ImportedCount += GlobalsToImport.size(); NumImportedModules++;