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 a local clone.

dmd.argtypes

Break down a D type into basic (register) types for the Itanium C++ ABI.
Authors:

Source argtypes.d

TypeTuple toArgTypes(Type t);
This breaks a type down into 'simpler' types that can be passed to a function in registers, and returned in registers. It's highly platform dependent.
Parameters:
Type t type to break down
Returns:
tuple of types, each element can be passed in a register. A tuple of zero length means the type cannot be passed/returned in registers. null indicates a void.

References For 64 bit code, follows Itanium C++ ABI 1.86 Chapter 3 http://refspecs.linux-foundation.org/cxxabi-1.86.html#calls