January 02, 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@digitalmars.com
        ReportedBy: torhu@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@Z
In D:   ?dfunc@@YAXPAX@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.


-- 

February 08, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1762


torhu@yahoo.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |FIXED




------- Comment #1 from torhu@yahoo.com  2008-02-07 19:42 -------
Fixed DMD 2.010.


--