From b06c669114e2e903ca3941e3ec738f868c863eee Mon Sep 17 00:00:00 2001 From: Josh Berdine Date: Thu, 25 Mar 2021 23:07:46 +0000 Subject: [PATCH] [NFC][OCaml] Simplify llvm_global_initializer using ptr_to_option This diff uses ptr_to_option to convert a nullable C pointer to an OCaml option instead of the redundant implementation in llvm_global_initializer. Differential Revision: https://reviews.llvm.org/D99391 --- llvm/bindings/ocaml/llvm/llvm_ocaml.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/llvm/bindings/ocaml/llvm/llvm_ocaml.c b/llvm/bindings/ocaml/llvm/llvm_ocaml.c index 04f9796..af655f9 100644 --- a/llvm/bindings/ocaml/llvm/llvm_ocaml.c +++ b/llvm/bindings/ocaml/llvm/llvm_ocaml.c @@ -1349,14 +1349,7 @@ CAMLprim value llvm_delete_global(LLVMValueRef GlobalVar) { /* llvalue -> llvalue option */ CAMLprim value llvm_global_initializer(LLVMValueRef GlobalVar) { - CAMLparam0(); - LLVMValueRef Init; - if ((Init = LLVMGetInitializer(GlobalVar))) { - value Option = alloc(1, 0); - Field(Option, 0) = (value) Init; - CAMLreturn(Option); - } - CAMLreturn(Val_int(0)); + return ptr_to_option(LLVMGetInitializer(GlobalVar)); } /* llvalue -> llvalue -> unit */ -- 2.7.4