[Issue 1762] New: Wrong name mangling for pointer args of free extern (C++) functions
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Tue Jan 1 20:35:42 PST 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1762
Summary: Wrong name mangling for pointer args of free extern
(C++) functions
Product: D
Version: 2.008
Platform: PC
OS/Version: Windows
Status: NEW
Keywords: link-failure
Severity: normal
Priority: P2
Component: DMD
AssignedTo: bugzilla at digitalmars.com
ReportedBy: torhu at yahoo.com
In C++:
void dfunc(char*);
In D:
extern (C++) void dfunc(char* s)
{
puts(s);
}
dfunc is mangled as follows:
In C++: ?dfunc@@YAXPAD at Z
In D: ?dfunc@@YAXPAX at Z
I also tried this with an int pointer, which didn't work either. Verified in
both 2.008 and 2.009.
The name mangling seems to be correct for methods.
--
More information about the Digitalmars-d-bugs
mailing list