sig
  type function_kind = Exported | Internal | Imported | Always_inline
  val create :
    Gccjit.context ->
    ?loc:Gccjit.location ->
    ?variadic:bool ->
    Gccjit.Function.function_kind ->
    Gccjit.type_ -> string -> Gccjit.param list -> Gccjit.function_
  val builtin : Gccjit.context -> string -> Gccjit.function_
  val param : Gccjit.function_ -> int -> Gccjit.param
  val dump_dot : Gccjit.function_ -> string -> unit
  val local :
    ?loc:Gccjit.location ->
    Gccjit.function_ -> Gccjit.type_ -> string -> Gccjit.lvalue
  val to_string : Gccjit.function_ -> string
end