Make the creation functions take an error string. This will help the
ExecutionEngine report errors on creation (like bytecode stuff) and also
help to get rid of exception handling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@34886 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h
index 3ebc65c..71aa18e 100644
--- a/include/llvm/ExecutionEngine/ExecutionEngine.h
+++ b/include/llvm/ExecutionEngine/ExecutionEngine.h
@@ -76,7 +76,7 @@
// To avoid having libexecutionengine depend on the JIT and interpreter
// libraries, the JIT and Interpreter set these functions to ctor pointers
// at startup time if they are linked in.
- typedef ExecutionEngine *(*EECtorFn)(ModuleProvider*);
+ typedef ExecutionEngine *(*EECtorFn)(ModuleProvider*, std::string*);
static EECtorFn JITCtor, InterpCtor;
public:
@@ -106,7 +106,8 @@
/// create - This is the factory method for creating an execution engine which
/// is appropriate for the current machine.
static ExecutionEngine *create(ModuleProvider *MP,
- bool ForceInterpreter = false);
+ bool ForceInterpreter = false,
+ std::string *ErrorStr = 0);
/// runFunction - Execute the specified function with the specified arguments,
/// and return the result.