Jump to page: 1 2
Thread overview
[Issue 690] New: ABI not fully documented
Dec 17, 2006
d-bugmail
Sep 15, 2008
d-bugmail
Mar 01, 2009
d-bugmail
Mar 01, 2009
d-bugmail
Mar 01, 2009
d-bugmail
Mar 01, 2009
d-bugmail
Mar 12, 2009
d-bugmail
Mar 12, 2009
d-bugmail
Jun 07, 2009
Brad Roberts
Nov 09, 2010
Walter Bright
December 17, 2006
http://d.puremagic.com/issues/show_bug.cgi?id=690

           Summary: ABI not fully documented
           Product: D
           Version: 0.177
          Platform: All
               URL: http://www.digitalmars.com/d/abi.html
        OS/Version: All
            Status: NEW
          Keywords: spec
          Severity: major
          Priority: P2
         Component: www.digitalmars.com
        AssignedTo: bugzilla@digitalmars.com
        ReportedBy: smjg@iname.com
OtherBugsDependingO 677
             nThis:


There are still many instances of "TBD" in the ABI.  These need to be replaced with real documentation.


-- 

September 15, 2008
http://d.puremagic.com/issues/show_bug.cgi?id=690


tomas@famolsen.dk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|major                       |blocker




------- Comment #1 from tomas@famolsen.dk  2008-09-15 09:32 -------
This is a blocker for LLVMDC. We need proper ABI documentation or it's impossible to live up to Don's pretty agressive stance on how ABI incompatibility basically creates a new language.

Not only is there a bunch on TBD's scattered all over it, it also has contradictory information, as well as differences to the actual code generated by DMD.


-- 

March 01, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690





------- Comment #2 from bugzilla@digitalmars.com  2009-03-01 04:39 -------
I fleshed out all the TBDs. As you find other problems with it, please add specifics to this report.


-- 

March 01, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690





------- Comment #3 from smjg@iname.com  2009-03-01 08:21 -------
On a quick look, I've found one thing that's puzzling me.  In the ABI for interfaces, where does the object pointer itself come in?


-- 

March 01, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690


tomas@famolsen.dk changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED




------- Comment #4 from tomas@famolsen.dk  2009-03-01 08:29 -------
I think there should be some notes on what happens inside the class when an interface is implemented. It took some serious trial and error to get this working in LDC (we even fixed some issues DMD still has), but I'm not sure we're ABI compatible.


-- 

March 01, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690





------- Comment #5 from tomas@famolsen.dk  2009-03-01 08:36 -------
especially cases where multiple interfaces are implemented but each of these interface inherit the same base interface. also derived classes reimplementing an interface etc... all these special cases should be documented, as I already said, I spent a long time looking through the DMD sources and testing things on DMD/LDC, doing obj2asm and so on to get to something that *seems* to work identically!


-- 

March 12, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690





------- Comment #6 from jlquinn@optonline.net  2009-03-11 23:45 -------
I would argue that associative arrays need more definition than "pointer to opaque type".  If a compiler compiles a source file with an assoc array, and another compiler generates a reference to it, how will the 2nd compiler know how to use it?

An API is needed to make this happen.  Because assoc arrays are part of the core language, there needs to be a shareable interface, even though it can allow for different definitions.  Only then can one compiler use the assoc array generated by another compiler, if they don't share the same core runtime library.


-- 

March 12, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690





------- Comment #7 from bugzilla@digitalmars.com  2009-03-12 03:57 -------
What issues does DMD still have with interfaces? Did you fix the dmd source?


-- 

June 07, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690


Brad Roberts <braddr@puremagic.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |braddr@puremagic.com




--- Comment #8 from Brad Roberts <braddr@puremagic.com>  2009-06-07 15:56:03 PDT ---
This bug needs to gain some specifics or, preferably, be broken into several smaller bugs.  It's been open for a long time and it's not clear exactly what's left to be done.

Thomas, the last comment was directed to you to add specifics about what LDC had done or changed related to interfaces.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
June 08, 2009
http://d.puremagic.com/issues/show_bug.cgi?id=690





--- Comment #9 from Tomas Lindquist Olsen <tomas@famolsen.dk>  2009-06-08 03:10:48 PDT ---
I'm not sure about the interface differences anymore, I think they might be fixed in DMD, in any case we didn't change the frontend code, just the backend.

However, what happens when a class implements an interface is still not described in the spec. Especially the cases where multiple interface inheritance is involved, and the case where an interface is reimplemented, are not specified.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
« First   ‹ Prev
1 2