diff options
author | Peter Zotov <whitequark@whitequark.org> | 2013-11-11 14:47:11 +0000 |
---|---|---|
committer | Peter Zotov <whitequark@whitequark.org> | 2013-11-11 14:47:11 +0000 |
commit | d52cf175844393043cc59e250cf391e641158314 (patch) | |
tree | e645c638415479f57ad44044713369556e85593e /llvm/bindings/ocaml/executionengine | |
parent | d2cf791ad88fd833d0680b433bdcb98dec743f49 (diff) | |
download | bcm5719-llvm-d52cf175844393043cc59e250cf391e641158314.tar.gz bcm5719-llvm-d52cf175844393043cc59e250cf391e641158314.zip |
[OCaml] Make Llvm_target.DataLayout.t automatically managed
This breaks the API by removing Llvm_target.DataLayout.dispose.
llvm-svn: 194380
Diffstat (limited to 'llvm/bindings/ocaml/executionengine')
-rw-r--r-- | llvm/bindings/ocaml/executionengine/executionengine_ocaml.c | 7 | ||||
-rw-r--r-- | llvm/bindings/ocaml/executionengine/llvm_executionengine.ml | 3 |
2 files changed, 8 insertions, 2 deletions
diff --git a/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c b/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c index 32f6c5907cc..3d2c8b09e75 100644 --- a/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c +++ b/llvm/bindings/ocaml/executionengine/executionengine_ocaml.c @@ -324,3 +324,10 @@ CAMLprim value llvm_ee_free_machine_code(LLVMValueRef F, return Val_unit; } +extern value llvm_alloc_target_data(LLVMTargetDataRef TargetData); + +/* ExecutionEngine.t -> Llvm_target.TargetData.t */ +CAMLprim value llvm_ee_get_target_data(LLVMExecutionEngineRef EE) { + LLVMTargetDataRef TD = LLVMGetExecutionEngineTargetData(EE); + return llvm_alloc_target_data(TD); +} diff --git a/llvm/bindings/ocaml/executionengine/llvm_executionengine.ml b/llvm/bindings/ocaml/executionengine/llvm_executionengine.ml index b083b7d14e9..01991540c0b 100644 --- a/llvm/bindings/ocaml/executionengine/llvm_executionengine.ml +++ b/llvm/bindings/ocaml/executionengine/llvm_executionengine.ml @@ -84,11 +84,10 @@ module ExecutionEngine = struct = "llvm_ee_free_machine_code" external target_data: t -> Llvm_target.DataLayout.t - = "LLVMGetExecutionEngineTargetData" + = "llvm_ee_get_target_data" (* The following are not bound. Patches are welcome. - get_target_data: t -> lltargetdata add_global_mapping: llvalue -> llgenericvalue -> t -> unit clear_all_global_mappings: t -> unit update_global_mapping: llvalue -> llgenericvalue -> t -> unit |