[Issue 15496] New: Documentation about special/'__' symbols
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Fri Jan 1 17:25:42 PST 2016
https://issues.dlang.org/show_bug.cgi?id=15496
Issue ID: 15496
Summary: Documentation about special/'__' symbols
Product: D
Version: D2
Hardware: x86_64
OS: Windows
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: turkeyman at gmail.com
DMD emit's a lot of special/magic symbols.
In my current case, I'm piles of link errors like:
error LNK2001: unresolved external symbol
_D5libep6string12SharedString14__aggrPostblitMFNbNiZv
error LNK2001: unresolved external symbol
_D5libep6string12SharedString11__fieldDtorMFNbNiZv
error LNK2001: unresolved external symbol
_D5libep6string12SharedString15__fieldPostblitMFNbNiZv
I don't know why, and I have no idea what those functions are supposed to do,
or what actual functions those special names represent? Are they all compiler
generated, or are they something that I'm supposed to write?
There seems to be a massive suite of '__x' functions; I'd like to see a
reference listing all possible such symbols that users may encounter, and
explain what they are, and how they are written or generated. This isn't the
first time I've wondered about the many '__' functions.
The only reference that seems to exist are various hacks in phobos where there
is code that occasionally checks if they exist to determine some sort of
traits.
This doc should ideally also include ClassInfo and any other magic symbols that
exist.
--
More information about the Digitalmars-d-bugs
mailing list