Mercurial > projects > ldc
diff tools/binding/llvm/executionengine.d @ 1274:4ff9ab0d472c
Check in some old changes to the binding, from before I had commit access.
- Add bindings for InsertValue and ExtractValue
- Updates to use new APIs where they were renamed or removed.
- Add generic error messages if LLVM didn't provide one.
- Enable typesafe variadic arguments for GetGEP.
author | Frits van Bommel <fvbommel wxs.nl> |
---|---|
date | Mon, 27 Apr 2009 22:34:36 +0200 |
parents | 1ba61de8796b |
children |
line wrap: on
line diff
--- a/tools/binding/llvm/executionengine.d Mon Apr 27 22:33:17 2009 +0200 +++ b/tools/binding/llvm/executionengine.d Mon Apr 27 22:34:36 2009 +0200 @@ -100,6 +100,8 @@ { auto errmsg = from_stringz(err).dup; LLVMDisposeMessage(err); + if (errmsg.length == 0) + errmsg = "Error creating execution engine"; throw new LLVMException(errmsg); } return new ExecutionEngine(ee); @@ -113,6 +115,8 @@ { auto errmsg = from_stringz(err).dup; LLVMDisposeMessage(err); + if (errmsg.length == 0) + errmsg = "Error creating interpreter"; throw new LLVMException(errmsg); } return new ExecutionEngine(ee); @@ -126,6 +130,8 @@ { auto errmsg = from_stringz(err).dup; LLVMDisposeMessage(err); + if (errmsg.length == 0) + errmsg = "Error creating JIT"; throw new LLVMException(errmsg); } return new ExecutionEngine(ee); @@ -199,6 +205,8 @@ { auto errmsg = from_stringz(err).dup; LLVMDisposeMessage(err); + if (errmsg.length == 0) + errmsg = "Error removing ModuleProvider from ExecutionEngine"; throw new LLVMException(errmsg); } return Module.GetExisting(mod);