[Issue 5956] New: Undocumented mangling of struct value
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sun May 8 07:42:18 PDT 2011
http://d.puremagic.com/issues/show_bug.cgi?id=5956
Summary: Undocumented mangling of struct value
Product: D
Version: D2
Platform: All
URL: http://d-programming-language.org/abi.html
OS/Version: All
Status: NEW
Keywords: spec
Severity: normal
Priority: P2
Component: websites
AssignedTo: nobody at puremagic.com
ReportedBy: kennytm at gmail.com
--- Comment #0 from kennytm at gmail.com 2011-05-08 07:38:22 PDT ---
Consider the program:
----------------------------------------
module y;
template fffff(alias s) {
void fffff() {
}
}
struct U {
int v;
}
void main() {
fffff!( U(4) )();
}
----------------------------------------
The mangled symbol of fffff!( U(4) ) is:
_D1y20__T5fffffVS1y1US1i4Z5fffffFZv
which means
_D (MangledName)
1y (LName: y)
20__T (TemplateInstanceName)
5fffff (LName: fffff)
V (TemplateArg: value)
S (TypeStruct)
1y (LName: y)
1U (LName: U)
S1 (***UNDOCUMENTED*** struct value with 1 argument)
i4 (integer: 4)
Z (end of TemplateInstanceName)
5fffff (LName: fffff)
FZv (TypeFunction: void _())
Above, the mangling
Value:
'S' Number Value...
is not documented at all. The D spec should mention it.
(Also, the spec should also mention 'A Number Value...' can represent
associative array literal as well.)
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list