Module Gccjit.Type

type type_kind =
  1. | Void
  2. | Void_ptr
  3. | Bool
  4. | Char
  5. | Signed_char
  6. | Unsigned_char
  7. | Short
  8. | Unsigned_short
  9. | Int
  10. | Unsigned_int
  11. | Long
  12. | Unsigned_long
  13. | Long_long
  14. | Unsigned_long_long
  15. | Float
  16. | Double
  17. | Long_double
  18. | Const_char_ptr
  19. | Size_t
  20. | File_ptr
  21. | Complex_float
  22. | Complex_double
  23. | Complex_long_double
val get : context -> type_kind -> type_

Access a standard type. See type_kind.

val int : context -> ?signed:bool -> int -> type_

Get the integer type of the given size and signedness.

val pointer : type_ -> type_

Given type T, get type T*

val const : type_ -> type_

Given type T, get type const T.

val volatile : type_ -> type_

Given type T, get type volatile T.

val array : context -> ?loc:location -> type_ -> int -> type_

Given type T, get type T[N] (for a constant N).

val function_ptr : context -> ?loc:location -> ?variadic:bool -> type_ list -> type_ -> type_
val struct_ : struct_ -> type_
val union : context -> ?loc:location -> string -> field list -> type_

Unions work similarly to structs.

val to_string : type_ -> string

Get a human-readable description of this object.