aboutsummaryrefslogtreecommitdiff
path: root/tools/llvm-link/llvm-link.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-link/llvm-link.cpp')
-rw-r--r--tools/llvm-link/llvm-link.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/tools/llvm-link/llvm-link.cpp b/tools/llvm-link/llvm-link.cpp
index cdd5434611..0ae39228d9 100644
--- a/tools/llvm-link/llvm-link.cpp
+++ b/tools/llvm-link/llvm-link.cpp
@@ -33,26 +33,30 @@ int main(int argc, char **argv) {
assert(InputFilenames.size() > 0 && "OneOrMore is not working");
// TODO: TEST argv[0]
-
-
+ string ErrorMessage;
+
if (Verbose) cerr << "Loading '" << InputFilenames[0] << "'\n";
- std::auto_ptr<Module> Composite(ParseBytecodeFile(InputFilenames[0]));
+ std::auto_ptr<Module> Composite(ParseBytecodeFile(InputFilenames[0],
+ &ErrorMessage));
if (Composite.get() == 0) {
- cerr << "Error opening bytecode file: '" << InputFilenames[0] << "'\n";
+ cerr << "Error opening bytecode file: '" << InputFilenames[0] << "'";
+ if (ErrorMessage.size()) cerr << ": " << ErrorMessage;
+ cerr << endl;
return 1;
}
for (unsigned i = 1; i < InputFilenames.size(); ++i) {
if (Verbose) cerr << "Loading '" << InputFilenames[i] << "'\n";
- auto_ptr<Module> M(ParseBytecodeFile(InputFilenames[i]));
+ auto_ptr<Module> M(ParseBytecodeFile(InputFilenames[i], &ErrorMessage));
if (M.get() == 0) {
- cerr << "Error opening bytecode file: '" << InputFilenames[i] << "'\n";
+ cerr << "Error opening bytecode file: '" << InputFilenames[i] << "'";
+ if (ErrorMessage.size()) cerr << ": " << ErrorMessage;
+ cerr << endl;
return 1;
}
if (Verbose) cerr << "Linking in '" << InputFilenames[i] << "'\n";
- string ErrorMessage;
if (LinkModules(Composite.get(), M.get(), &ErrorMessage)) {
cerr << "Error linking in '" << InputFilenames[i] << "': "
<< ErrorMessage << endl;