TargetCPP

Functions and variables specific to interface with extern(C++) ABI.

Members

Functions

derivedClassOffset
uint derivedClassOffset(ClassDeclaration baseClass)

Get the starting offset position for fields of an extern(C++) class that is derived from the given base class.

fundamentalType
bool fundamentalType(Type t, bool isFundamental)

Checks whether type is a vendor-specific fundamental type.

parameterType
Type parameterType(Type t)

Get the type that will really be used for passing the given argument to an extern(C++) function, or null if unhandled.

thunkMangle
const(char)* thunkMangle(FuncDeclaration fd, int offset)

Get mangle name of a this-adjusting thunk to the given function declaration for C++ ABI.

toMangle
const(char)* toMangle(Dsymbol s)

Mangle the given symbol for C++ ABI.

typeInfoMangle
const(char)* typeInfoMangle(ClassDeclaration cd)

Get RTTI mangling of the given class declaration for C++ ABI.

typeMangle
const(char)* typeMangle(Type t)

Gets vendor-specific type mangling for C++ ABI.

Variables

exceptions
bool exceptions;

set if catching C++ exceptions is supported

reverseOverloads
bool reverseOverloads;

set if overloaded functions are grouped and in reverse order (such as in dmc and cl)

runtime
Runtime runtime;

vendor of the C++ runtime to link against

splitVBasetable
bool splitVBasetable;

set if C++ ABI uses separate tables for virtual functions and virtual bases

twoDtorInVtable
bool twoDtorInVtable;

target C++ ABI puts deleting and non-deleting destructor into vtable

wrapDtorInExternD
bool wrapDtorInExternD;

set if C++ dtors require a D wrapper to be callable from runtime

Meta