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
This commit is contained in:
Reid Spencer
2007-03-03 18:18:11 +00:00
parent bdc75089ab
commit c923435a59

View File

@ -76,7 +76,7 @@ protected:
// To avoid having libexecutionengine depend on the JIT and interpreter // To avoid having libexecutionengine depend on the JIT and interpreter
// libraries, the JIT and Interpreter set these functions to ctor pointers // libraries, the JIT and Interpreter set these functions to ctor pointers
// at startup time if they are linked in. // at startup time if they are linked in.
typedef ExecutionEngine *(*EECtorFn)(ModuleProvider*); typedef ExecutionEngine *(*EECtorFn)(ModuleProvider*, std::string*);
static EECtorFn JITCtor, InterpCtor; static EECtorFn JITCtor, InterpCtor;
public: public:
@ -106,7 +106,8 @@ public:
/// create - This is the factory method for creating an execution engine which /// create - This is the factory method for creating an execution engine which
/// is appropriate for the current machine. /// is appropriate for the current machine.
static ExecutionEngine *create(ModuleProvider *MP, static ExecutionEngine *create(ModuleProvider *MP,
bool ForceInterpreter = false); bool ForceInterpreter = false,
std::string *ErrorStr = 0);
/// runFunction - Execute the specified function with the specified arguments, /// runFunction - Execute the specified function with the specified arguments,
/// and return the result. /// and return the result.