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.cppmangle

Compiler implementation of the D programming language
Do mangling for C++ linkage. This is the POSIX side of the implementation. It exports two functions to C++, toCppMangleItanium and cppTypeInfoMangleItanium.
Authors:

Source cppmangle.d

References Follows Itanium C++ ABI 1.86 section 5.1 http://refspecs.linux-foundation.org/cxxabi-1.86.html#mangling which is where the grammar comments come from.

Bugs:
https://issues.dlang.org/query.cgi enter C++, mangling as the keywords.
const(char)* toCppMangleItanium(Dsymbol s);
const(char)* cppTypeInfoMangleItanium(Dsymbol s);
bool isPrimaryDtor(const Dsymbol sym);
Determine if sym is the 'primary' destructor, that is, the most-aggregate destructor (the one that is defined as _xdtor)
Parameters:
Dsymbol sym Dsymbol
Returns:
true if sym is the primary destructor for an aggregate