dmd.backend.type

Types for the back end

Compiler implementation of the D programming language.

Members

Aliases

type_flags_t
alias type_flags_t = ushort

Values for Tflags:

Functions

param_append_type (from dmd.backend.dtype)
param_t* param_append_type(param_t** pp, type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a param_t of type t, and append it to parameter list.

param_calloc (from dmd.backend.dtype)
param_t* param_calloc() via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a param_t.

param_free (from dmd.backend.dtype)
void param_free(param_t** pparamlst) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Free parameter list. Output: paramlst = null

param_free_l (from dmd.backend.dtype)
void param_free_l(param_t* p) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Version of param_free() suitable for list_free().

param_search (from dmd.backend.dtype)
Symbol* param_search(const(char)* name, param_t** pp) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Search for member, create symbol as needed. Used for symbol tables for VLA's such as: void func(int n, int an);

symbol_struct_addBaseClass (from dmd.backend.symbol)
void symbol_struct_addBaseClass(Symbol* s, type* t, uint offset) via public import dmd.backend.symbol : symbol_struct_addField, symbol_struct_addBitField, symbol_struct_hasBitFields, symbol_struct_addBaseClass;

Add a base class to a struct s. Input: s the struct/class symbol t the type of the base class offset offset of the base class in the struct/class

symbol_struct_addBitField (from dmd.backend.symbol)
void symbol_struct_addBitField(Symbol* s, const(char)* name, type* t, uint offset, uint fieldWidth, uint bitOffset) via public import dmd.backend.symbol : symbol_struct_addField, symbol_struct_addBitField, symbol_struct_hasBitFields, symbol_struct_addBaseClass;

Add a bit field to a struct s.

symbol_struct_addField (from dmd.backend.symbol)
void symbol_struct_addField(Symbol* s, const(char)* name, type* t, uint offset) via public import dmd.backend.symbol : symbol_struct_addField, symbol_struct_addBitField, symbol_struct_hasBitFields, symbol_struct_addBaseClass;

Add a field to a struct s.

symbol_struct_hasBitFields (from dmd.backend.symbol)
void symbol_struct_hasBitFields(Symbol* s) via public import dmd.backend.symbol : symbol_struct_addField, symbol_struct_addBitField, symbol_struct_hasBitFields, symbol_struct_addBaseClass;

Mark struct s as having bit fields

type_alignsize (from dmd.backend.dtype)
uint type_alignsize(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Return the size of a type for alignment purposes.

type_alloc (from dmd.backend.dtype)
type* type_alloc(tym_t ty) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Create a type & initialize it. Input: ty = TYxxxx

type_allocn (from dmd.backend.dtype)
type* type_allocn(tym_t ty, type* tn) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a type of ty with a Tnext of tn.

type_assoc_array (from dmd.backend.dtype)
type* type_assoc_array(type* tkey, type* tvalue) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate an associative array type, which are key=value pairs

type_copy (from dmd.backend.dtype)
type* type_copy(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Make copy of a type.

type_delegate (from dmd.backend.dtype)
type* type_delegate(type* tnext) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a delegate type.

type_dyn_array (from dmd.backend.dtype)
type* type_dyn_array(type* tnext) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a dynamic array type.

type_embed (from dmd.backend.dtype)
int type_embed(type* t, type* u) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Recursively check if type u is embedded in type t.

type_enum (from dmd.backend.dtype)
type* type_enum(const(char)* name, type* tbase) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Create an enum type. Input: name name of enum tbase "base" type of enum

type_fake (from dmd.backend.dtype)
type* type_fake(tym_t ty) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Fake a type & initialize it. Input: ty = TYxxxx

type_free (from dmd.backend.dtype)
void type_free(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Free up data type.

type_function (from dmd.backend.dtype)
type* type_function(tym_t tyf, type*[] ptypes, bool variadic, type* tret) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocation a function type.

type_init (from dmd.backend.dtype)
void type_init() via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
type_isdependent (from dmd.backend.dtype)
int type_isdependent(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Determine if type t is a dependent type.

type_isvla (from dmd.backend.dtype)
int type_isvla(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Determine if type is a VLA.

type_parameterSize (from dmd.backend.dtype)
uint type_parameterSize(type* t, tym_t tyf) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Compute the size of a single parameter.

type_paramsize (from dmd.backend.dtype)
uint type_paramsize(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Compute the total size of parameters for function call. Used for stdcall name mangling. Note that hidden parameters do not contribute to size.

type_pointer (from dmd.backend.dtype)
type* type_pointer(type* tnext) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a pointer type.

type_print (from dmd.backend.dtype)
void type_print(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Pretty-print a type.

type_setcv (from dmd.backend.dtype)
type* type_setcv(type** pt, tym_t cv) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Set/clear const and volatile bits in *pt according to the settings in cv.

type_setdependent (from dmd.backend.dtype)
type* type_setdependent(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Create a 'dependent' version of type t.

type_setdim (from dmd.backend.dtype)
type* type_setdim(type** pt, targ_size_t dim) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Set dimension of array.

type_setmangle (from dmd.backend.dtype)
type* type_setmangle(type** pt, mangle_t mangle) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Modify the Tmangle field of a type.

type_setty (from dmd.backend.dtype)
type* type_setty(type** pt, uint newty) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Modify the tym_t field of a type.

type_settype (from dmd.backend.dtype)
type* type_settype(type** pt, type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Set type field of some object to t.

type_size (from dmd.backend.dtype)
targ_size_t type_size(type* t) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Compute size of type in bytes.

type_static_array (from dmd.backend.dtype)
type* type_static_array(targ_size_t dim, type* tnext) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Allocate a static array type.

type_struct_class (from dmd.backend.dtype)
type* type_struct_class(const(char)* name, uint alignsize, uint structsize, type* arg1type, type* arg2type, bool isUnion, bool isClass, bool isPOD, bool is0size) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Create a struct/union/class type.

type_term (from dmd.backend.dtype)
void type_term() via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Free type_list.

type_zeroSize (from dmd.backend.dtype)
bool type_zeroSize(type* t, tym_t tyf) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

Compute special zero sized struct.

typematch (from dmd.backend.dtype)
int typematch(type* t1, type* t2, int relax) via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;

A cheap version of exp2.typematch() and exp2.paramlstmatch(), so that we can get cpp_mangle() to work for MARS. It's less complex because it doesn't do templates and can rely on strict typechecking.

Static variables

chartype (from dmd.backend.var)
type* chartype; via public import dmd.backend.var : chartype;
Undocumented in source.
tsclib (from dmd.backend.dtype)
type* tsclib; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tsdlib (from dmd.backend.dtype)
type* tsdlib; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tslogical (from dmd.backend.dtype)
type* tslogical; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tspcvoid (from dmd.backend.dtype)
type* tspcvoid; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tsptr2types (from dmd.backend.dtype)
type*[TYMAX] tsptr2types; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tsptrdiff (from dmd.backend.dtype)
type* tsptrdiff; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tspvoid (from dmd.backend.dtype)
type* tspvoid; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tssize (from dmd.backend.dtype)
type* tssize; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tstrace (from dmd.backend.dtype)
type* tstrace; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.
tstypes (from dmd.backend.dtype)
type*[TYMAX] tstypes; via public import dmd.backend.dtype : type_print, type_free, type_init, type_term, type_copy, type_setdim, type_setdependent, type_isdependent, type_size, type_alignsize, type_zeroSize, type_parameterSize, type_paramsize, type_alloc, type_allocn, type_fake, type_setty, type_settype, type_setmangle, type_setcv, type_embed, type_isvla, param_calloc, param_append_type, param_free_l, param_free, param_search, typematch, type_pointer, type_dyn_array, type_static_array, type_assoc_array, type_delegate, type_function, type_enum, type_struct_class, tstypes, tsptr2types, tslogical, tsclib, tsdlib, tspvoid, tspcvoid, tsptrdiff, tssize, tstrace;
Undocumented in source.

Meta