[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