This reverts commit r373299. It broke tests:
http://lab.llvm.org:8011/builders/clang-x86_64-debian-fast/builds/18485
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@373311
91177308-0d34-0410-b5e6-
96231b3b80d8
external lookup_global : string -> llmodule -> llvalue option
= "llvm_lookup_global"
external delete_global : llvalue -> unit = "llvm_delete_global"
-external global_initializer : llvalue -> llvalue option = "llvm_global_initializer"
+external global_initializer : llvalue -> llvalue = "LLVMGetInitializer"
external set_initializer : llvalue -> llvalue -> unit = "llvm_set_initializer"
external remove_initializer : llvalue -> unit = "llvm_remove_initializer"
external is_thread_local : llvalue -> bool = "llvm_is_thread_local"
See the method [llvm::GlobalVariable::setConstant]. *)
val set_global_constant : bool -> llvalue -> unit
-(** [global_initializer gv] If global variable [gv] has an initializer it is returned,
- otherwise returns [None]. See the method [llvm::GlobalVariable::getInitializer]. *)
-val global_initializer : llvalue -> llvalue option
+(** [global_initializer gv] returns the initializer for the global variable
+ [gv]. See the method [llvm::GlobalVariable::getInitializer]. *)
+val global_initializer : llvalue -> llvalue
(** [set_initializer c gv] sets the initializer for the global variable
[gv] to the constant [c].
return Val_unit;
}
-/* 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));
-}
-
/* llvalue -> llvalue -> unit */
CAMLprim value llvm_set_initializer(LLVMValueRef ConstantVal,
LLVMValueRef GlobalVar) {