summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Zotov <whitequark@whitequark.org>2013-11-03 08:27:37 +0000
committerPeter Zotov <whitequark@whitequark.org>2013-11-03 08:27:37 +0000
commit88d74c3093de563408ceb834d999613038195e98 (patch)
tree1aad08704a35031fa4c5cb274e63d78a22b0ba32
parent9d33bf70c228a5c3b57b1d9bf86ea5949bb77293 (diff)
downloadexternal_llvm-88d74c3093de563408ceb834d999613038195e98.zip
external_llvm-88d74c3093de563408ceb834d999613038195e98.tar.gz
external_llvm-88d74c3093de563408ceb834d999613038195e98.tar.bz2
[OCaml] Fix ABI incompatibility
OCaml's type unit is not compatible with C's type void. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193952 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--bindings/ocaml/llvm/llvm.ml2
-rw-r--r--bindings/ocaml/llvm/llvm_ocaml.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/bindings/ocaml/llvm/llvm.ml b/bindings/ocaml/llvm/llvm.ml
index b169b85..6742708 100644
--- a/bindings/ocaml/llvm/llvm.ml
+++ b/bindings/ocaml/llvm/llvm.ml
@@ -332,7 +332,7 @@ external value_name : llvalue -> string = "llvm_value_name"
external set_value_name : string -> llvalue -> unit = "llvm_set_value_name"
external dump_value : llvalue -> unit = "llvm_dump_value"
external replace_all_uses_with : llvalue -> llvalue -> unit
- = "LLVMReplaceAllUsesWith"
+ = "llvm_replace_all_uses_with"
(*--... Operations on uses .................................................--*)
external use_begin : llvalue -> lluse option = "llvm_use_begin"
diff --git a/bindings/ocaml/llvm/llvm_ocaml.c b/bindings/ocaml/llvm/llvm_ocaml.c
index 6de935a..80fa8c3 100644
--- a/bindings/ocaml/llvm/llvm_ocaml.c
+++ b/bindings/ocaml/llvm/llvm_ocaml.c
@@ -485,6 +485,13 @@ CAMLprim value llvm_dump_value(LLVMValueRef Val) {
return Val_unit;
}
+/* llvalue -> llvalue -> unit */
+CAMLprim value llvm_replace_all_uses_with(LLVMValueRef OldVal,
+ LLVMValueRef NewVal) {
+ LLVMReplaceAllUsesWith(OldVal, NewVal);
+ return Val_unit;
+}
+
/*--... Operations on users ................................................--*/
/* llvalue -> int -> llvalue */