View source code
Display the source code in dmd/cppmangle.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.

Module dmd.cppmangle

Do mangling for C++ linkage.

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

Documentation

https://dlang.org/phobos/dmd_cppmangle.html

Coverage

https://codecov.io/gh/dlang/dmd/src/master/src/dmd/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.

Functions

NameDescription
cppThunkMangleItanium(fd, offset)
cppTypeInfoMangleItanium(s)
isPrimaryDtor(sym) Determine if sym is the 'primary' destructor, that is, the most-aggregate destructor (the one that is defined as _xdtor)
toCppMangleItanium(s)

Authors

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

License

Boost License 1.0