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
criticalSectionSize uintsize of os critical section
DoubleProperties Target.FPTypeProperties!(double)
FloatProperties Target.FPTypeProperties!(float)
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
RealProperties Target.FPTypeProperties!(real)
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.
cppFundamentalType Checks whether type is a vendor-specific fundamental 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.
deinitialize Deinitializes the global state of the compiler.
fieldalign Requested target field alignment size of the given type.
getTargetInfo Get targetInfo by key
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.
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

Authors

Walter Bright

License

Boost License 1.0