dmd.cppmangle

Do mangling for C++ linkage.

Discussion

This is the POSIX side of the implementation. It exports two functions to C++, toCppMangleItanium and cppTypeInfoMangleItanium.

Authors

Walter Bright, http://www.digitalmars.com

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.

  • Declaration

    const(char)* toCppMangleItanium(Dsymbol s);

  • Declaration

    const(char)* cppTypeInfoMangleItanium(Dsymbol s);

  • Declaration

    const(char)* cppThunkMangleItanium(FuncDeclaration fd, int offset);

  • Declaration

    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

    Return Value

    true if sym is the primary destructor for an aggregate