[Issue 5264] New: x86_64 changes for druntime 2

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Nov 23 22:18:51 PST 2010


http://d.puremagic.com/issues/show_bug.cgi?id=5264

           Summary: x86_64 changes for druntime 2
           Product: D
           Version: D2
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: druntime
        AssignedTo: sean at invisibleduck.org
        ReportedBy: braddr at puremagic.com


--- Comment #0 from Brad Roberts <braddr at puremagic.com> 2010-11-23 22:17:28 PST ---
Created an attachment (id=830)
most of the changes to get druntime 2 to build with dmd -m64

I spent a couple hours today working on getting druntime 2 to build with the
x86_64 dmd compiler.  It's not 100% so far, but almost there.

What's broken:

1) lifetime.d has 4 va_arg calls commented out.  The compiler croaks with:

src/core/stdc/stdarg.d(229): Error: static assert  "not a valid argument type
for va_arg"
src/rt/lifetime.d(814):        instantiated from here: va_arg!(ulong)

2) lifetime.d _d_arrayappendcT needs to be altered to work with varargs
properly.  The 64 bit support is fragile/hacky/whatever and I haven't pieced
together how this code evolved between d1 and d2's runtimes.

3) lifetime.d _d_arrayshrinkfit() crashes the backend of the compiler:

function  _d_arrayshrinkfit
cod2.c:1769:  assert(stackpush == stackpushsave) // 0xfffffffc == 0

Normally I'd create 3 bugs since there's 3 different issues, but I don't think
that'd be useful here.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list