View source code
Display the source code in dmd/target.d from which this page was generated on github.
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using local clone.

Struct dmd.target.Target

Describes a back-end target. At present it is incomplete, but in the future it should grow to contain most or all target machine and target O/S specific information.

struct Target ;

In many cases, calls to sizeof() can't be used directly for getting data type sizes since cross compiling is supported and would end up using the host sizes rather than the target sizes.

Fields

NameTypeDescription
c_long_doublesize uintsize of a C long double
c_longsize uintsize of a C long or unsigned long type
classinfosize uintsize of ClassInfo
cppExceptions boolset if catching C++ exceptions is supported
maxStaticDataSize ulongmaximum size of static data
ptrsize uintsize of a pointer in bytes
realalignsize uintalignment for reals
realpad uintpadding added to the CPU real size to bring it up to realsize
realsize uintsize a real consumes in memory
reverseCppOverloads boolset if overloaded functions are grouped and in reverse order (such as in dmc and cl)
twoDtorInVtable booltarget C++ ABI puts deleting and non-deleting destructor into vtable

Methods

NameDescription
_init Initialize the Target
alignsize Requested target memory alignment size of the given type.
cppParameterType Get the type that will really be used for passing the given argument to an extern(C++) function.
cppTypeInfoMangle Get RTTI mangling of the given class declaration for C++ ABI.
cppTypeMangle Gets vendor-specific type mangling for C++ ABI.
critsecsize Size of the target OS critical section.
fieldalign Requested target field alignment size of the given type.
isReturnOnStack Determine return style of function - whether in registers or through a hidden pointer to the caller's stack.
isVectorOpSupported Checks whether the target supports the given operation for vectors.
isVectorTypeSupported Checks whether the target supports a vector type.
loadModule Perform any post parsing analysis on the given module. Certain compiler backends (ie: GDC) have special placeholder modules whose source are empty, but code gets injected immediately after loading.
paintAsType Encode the given expression, which is assumed to be an rvalue literal as another type for use in CTFE. This corresponds roughly to the idiom *cast(T*)&e.
parameterSize Determine the size a value of type t will be when it is passed on the function parameter stack.
systemLinkage Default system linkage for the target.
toArgTypes Describes how an argument type is passed to a function on target.
toCppMangle Mangle the given symbol for C++ ABI.
va_listType Type for the va_list type for the target.

Inner structs

NameDescription
FPTypeProperties Values representing all properties for floating point types

Aliases

NameDescription
DoubleProperties
FloatProperties
RealProperties

Authors

Walter Bright

License

Boost License 1.0