For PR797:
Remove exception throwing/handling from lib/Bytecode, and adjust its users
to compensate for changes in the interface.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29875 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/lli/lli.cpp b/tools/lli/lli.cpp
index d8f2b16..be9f999 100644
--- a/tools/lli/lli.cpp
+++ b/tools/lli/lli.cpp
@@ -59,11 +59,10 @@
// Load the bytecode...
std::string ErrorMsg;
ModuleProvider *MP = 0;
- try {
- MP = getBytecodeModuleProvider(InputFile);
- } catch (std::string &err) {
+ MP = getBytecodeModuleProvider(InputFile, &ErrorMsg);
+ if (!MP) {
std::cerr << "Error loading program '" << InputFile << "': "
- << err << "\n";
+ << ErrorMsg << "\n";
exit(1);
}
diff --git a/tools/llvmc/CompilerDriver.cpp b/tools/llvmc/CompilerDriver.cpp
index a6aff4e..46dbd89 100644
--- a/tools/llvmc/CompilerDriver.cpp
+++ b/tools/llvmc/CompilerDriver.cpp
@@ -576,7 +576,7 @@
if (fullpath.isBytecodeFile()) {
// Process the dependent libraries recursively
Module::LibraryListType modlibs;
- if (GetBytecodeDependentLibraries(fullpath.toString(),modlibs)) {
+ if (GetBytecodeDependentLibraries(fullpath.toString(),modlibs,&err)) {
// Traverse the dependent libraries list
Module::lib_iterator LI = modlibs.begin();
Module::lib_iterator LE = modlibs.end();
@@ -598,7 +598,8 @@
"The dependent libraries could not be extracted from '") +
fullpath.toString();
return false;
- }
+ } else
+ return false;
}
return true;
}