Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 543422 | Differences between
and this patch

Collapse All | Expand All

(-)llvm-3.6.0.src.orig/bindings/ocaml/executionengine/llvm_executionengine.ml (-5 / +5 lines)
Lines 43-53 Link Here
43
  = "llvm_ee_run_static_dtors"
43
  = "llvm_ee_run_static_dtors"
44
external data_layout : llexecutionengine -> Llvm_target.DataLayout.t
44
external data_layout : llexecutionengine -> Llvm_target.DataLayout.t
45
  = "llvm_ee_get_data_layout"
45
  = "llvm_ee_get_data_layout"
46
external add_global_mapping_ : Llvm.llvalue -> int64 -> llexecutionengine -> unit
46
external add_global_mapping_ : Llvm.llvalue -> nativeint -> llexecutionengine -> unit
47
  = "llvm_ee_add_global_mapping"
47
  = "llvm_ee_add_global_mapping"
48
external get_global_value_address_ : string -> llexecutionengine -> int64
48
external get_global_value_address_ : string -> llexecutionengine -> nativeint
49
  = "llvm_ee_get_global_value_address"
49
  = "llvm_ee_get_global_value_address"
50
external get_function_address_ : string -> llexecutionengine -> int64
50
external get_function_address_ : string -> llexecutionengine -> nativeint
51
  = "llvm_ee_get_function_address"
51
  = "llvm_ee_get_function_address"
52
52
53
let add_global_mapping llval ptr ee =
53
let add_global_mapping llval ptr ee =
Lines 55-68 Link Here
55
55
56
let get_global_value_address name typ ee =
56
let get_global_value_address name typ ee =
57
  let vptr = get_global_value_address_ name ee in
57
  let vptr = get_global_value_address_ name ee in
58
  if Int64.to_int vptr <> 0 then
58
  if Nativeint.to_int vptr <> 0 then
59
    let open Ctypes in !@ (coerce (ptr void) (ptr typ) (ptr_of_raw_address vptr))
59
    let open Ctypes in !@ (coerce (ptr void) (ptr typ) (ptr_of_raw_address vptr))
60
  else
60
  else
61
    raise (Error ("Value " ^ name ^ " not found"))
61
    raise (Error ("Value " ^ name ^ " not found"))
62
62
63
let get_function_address name typ ee =
63
let get_function_address name typ ee =
64
  let fptr = get_function_address_ name ee in
64
  let fptr = get_function_address_ name ee in
65
  if Int64.to_int fptr <> 0 then
65
  if Nativeint.to_int fptr <> 0 then
66
    let open Ctypes in coerce (ptr void) typ (ptr_of_raw_address fptr)
66
    let open Ctypes in coerce (ptr void) typ (ptr_of_raw_address fptr)
67
  else
67
  else
68
    raise (Error ("Function " ^ name ^ " not found"))
68
    raise (Error ("Function " ^ name ^ " not found"))

Return to bug 543422