Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Downloads
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Calendar
  - Forums
  - IRC
  - Community Discord
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Contributors
  - Foundation
  - Security Team
  - Donate
  - Sponsors
- Resources
  - Tour
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - run.dlang.io
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
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.dmangle

Does name mangling for extern(D) symbols.

Specification Name Mangling

Authors:
Walter Bright, http://www.digitalmars.com
License:
Boost License 1.0

Source dmangle.d

Documentation https://dlang.org/phobos/dmd_dmangle.html

Coverage https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmangle.d

References https://dlang.org/blog/2017/12/20/ds-newfangled-name-mangling/

package nothrow bool `isValidMangling`(dchar `c`);
  Returns:
  true if the given character is a valid mangled character
const(char)* `mangleExact`(FuncDeclaration `fd`);
  Returns exact mangled name of function.
void `mangleToFuncSignature`(ref OutBuffer `buf`, FuncDeclaration `fd`);
  Mangle function signatures ('this' qualifier, and parameter types) to check conflicts in function overloads. It's different from fd.type.deco. For example, fd.type.deco would be null if fd is an auto function.
  Parameters:

  OutBuffer `buf` | OutBuffer to write the mangled function signature to
  FuncDeclaration `fd` | FuncDeclaration to mangle

Copyright © 1999-2020 by the D Language Foundation | Page generated by Ddoc on Sat Aug 15 10:00:57 2020