D.gnu - [Issue 1805] New: GDC does not implement the D calling convention
- d-bugmail puremagic.com (25/25) Jan 25 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1805
- d-bugmail puremagic.com (5/5) Jun 30 2008 http://d.puremagic.com/issues/show_bug.cgi?id=1805
- d-bugmail puremagic.com (8/8) Mar 12 2012 http://d.puremagic.com/issues/show_bug.cgi?id=1805
- d-bugmail puremagic.com (22/22) Jul 06 2012 http://d.puremagic.com/issues/show_bug.cgi?id=1805
http://d.puremagic.com/issues/show_bug.cgi?id=1805 Summary: GDC does not implement the D calling convention Product: DGCC aka GDC Version: 0.24 Platform: Other OS/Version: All Status: NEW Keywords: wrong-code Severity: major Priority: P2 Component: glue layer AssignedTo: dvdfrdmn users.sf.net ReportedBy: larsivar igesund.net OtherBugsDependingO 670,1230 nThis: From the GDC homepage: " Known Differences from DMD: ... Currently, GDC uses the C calling convention for all functions except those declared extern (Windows). " Considering that the spec doesn't mandate this to be an implementation specific detail, this is a bug, which in addition cause several issues. --
Jan 25 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1805 Additionally: I don't think it should have D_InlineAsm set as long as it is ignoring the ABI like this. (It should probably set GDC_InlineAsm_X86 instead). --
Jun 30 2008
http://d.puremagic.com/issues/show_bug.cgi?id=1805 After some discussion a while ago, GCC core devs are not too keen on adding yet another calling convention to i386 on top of what's already supported - that makes this report a wontfix. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Mar 12 2012
http://d.puremagic.com/issues/show_bug.cgi?id=1805 Iain Buclaw <ibuclaw ubuntu.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WONTFIX From the D spec: """ The extern (C) and extern (D) calling convention matches the C calling convention used by the supported C compiler on the host system. Except that the extern (D) calling convention for Windows x86 is described here. """ So GDC is compliant with the spec across all platforms except Windows (which uses stdcall rather than the D calling convention as used by DMD). D_InlineAsm is no longer set by GDC. This avoids any issues to do with library devs writing assembly which assumes the calling convention matches whatever the DMD compiler does. Marking as wontfix. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 06 2012