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.

dmd.target.Target/target - multiple declarations

Variable target

Target target ;

Struct 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
architectureName const(char)[]Architecture name
c TargetCC ABI
classinfosize ubytesize of ClassInfo
cpp TargetCPPC++ ABI
dll_ext const(char)[]extension for dynamic library files
DoubleProperties Target.FPTypeProperties!(double)
FloatProperties Target.FPTypeProperties!(float)
lib_ext const(char)[]extension for static library files
maxStaticDataSize ulongmaximum size of static data
obj_ext const(char)[]extension for object files
objc TargetObjCObjective-C ABI
ptrsize ubytesize of a pointer in bytes
realalignsize ubytealignment for reals
realpad ubytepadding added to the CPU real size to bring it up to realsize
RealProperties Target.FPTypeProperties!(real)
realsize ubytesize a real consumes in memory
run_noext boolallow -run sources without extensions

Properties

NameTypeDescription
isPOSIX[get] bool

Methods

NameDescription
_init (params) Initialize the Target
addPredefinedGlobalIdentifiers () Add predefined global identifiers that are determied by the target
alignsize (type) Requested target memory alignment size of the given type.
deinitialize () Deinitializes the global state of the compiler.
fieldalign (type) Requested target field alignment size of the given type.
getTargetInfo (name, loc) Get targetInfo by key
isCalleeDestroyingArgs (tf)
isReturnOnStack (tf, needsThis) Determine return style of function - whether in registers or through a hidden pointer to the caller's stack.
isVectorOpSupported (type, op, t2) Checks whether the target supports the given operation for vectors.
isVectorTypeSupported (sz, type) Checks whether the target supports a vector type.
isXmmSupported ()
libraryObjectMonitors (fd, fbody) Returns true if the implementation for object monitors is always defined in the D runtime library (rt/monitor_.d).
parameterSize (loc, t) Determine the size a value of type t will be when it is passed on the function parameter stack.
preferPassByRef (t) Decides whether an in parameter of the specified POD type is to be passed by reference or by value. To be used with -preview=in only!
setCPU () Determine the instruction set to be used
systemLinkage () Default system linkage for the target.
toArgTypes (t) Describes how an argument type is passed to a function on target.
va_listType (loc, sc) Type for the va_list type for the target; e.g., required for _argptr declarations.

Inner structs

NameDescription
FPTypeProperties Values representing all properties for floating point types

Enums

NameDescription
OS Bit decoding of the Target.OS

Authors

Walter Bright

License

Boost License 1.0