Thread overview | |||||
---|---|---|---|---|---|
|
February 06, 2009 [Issue 2648] New: Unnecessary struct ABI inconsistency | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=2648 Summary: Unnecessary struct ABI inconsistency Product: D Version: unspecified Platform: PC OS/Version: All Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla@digitalmars.com ReportedBy: clugdbug@yahoo.com.au There is a horrible ABI difference between Linux and Windows which seems to be completely unjustified. Although extern(C) needs to be different between the systems, there's no reason for extern(D) to. Linux and Windows should use the same return algorithm for 1,2,4, and 8-byte structs. This is the only point at which the ABI differs (except for the fact that real.sizeof is different, but that's something dictacted by the OS). --- # For Windows, 1, 2 and 4 byte structs are returned in EAX. # For Windows, 8 byte structs are returned in EDX,EAX, where EDX gets the most significant half. # For other struct sizes, the return value is stored through a hidden pointer passed as an argument to the function. --- -- |
April 25, 2009 [Issue 2648] Unnecessary struct ABI inconsistency | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2648 dhasenan@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |spec ------- Comment #1 from dhasenan@gmail.com 2009-04-25 15:25 ------- The ABI as implemented in DMD with regards to returning structs appears to be as the spec describes for Windows, as confirmed by mucking about with obj2asm. (Note that, to create a 3-byte struct, you need to use align(1).) I ascertained this using dmd2.029; other versions might have different behavior. -- |
November 08, 2010 [Issue 2648] Unnecessary struct ABI inconsistency | ||||
---|---|---|---|---|
| ||||
Posted in reply to d-bugmail | http://d.puremagic.com/issues/show_bug.cgi?id=2648 Walter Bright <bugzilla@digitalmars.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bugzilla@digitalmars.com Resolution| |DUPLICATE --- Comment #2 from Walter Bright <bugzilla@digitalmars.com> 2010-11-08 01:03:29 PST --- *** This issue has been marked as a duplicate of issue 2385 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation