www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 3155] New: LDC2 support for druntime

reply d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155

           Summary: LDC2 support for druntime
           Product: D
           Version: future
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: P2
         Component: druntime
        AssignedTo: sean invisibleduck.org
        ReportedBy: robert octarineparrot.com


Created an attachment (id=417)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=417)
LDC2 support for druntime

I have attached a patch which adds support for ldc2 to druntime. To build use
./build-ldc.sh in the src/ directory. I created a shell script for it as I find
the current make system is far too complicated, feel free to port it to use
make though. Note that ldc2 is still largely a work in progress. I have also
moved gc/basic/*.d to gc/basic/gc/*.d, purely because ldc plays nicer this way.
You will need to update the dmd make files to reflect this change.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jul 08 2009
next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155


Hoenir <mrmocool gmx.de> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |mrmocool gmx.de



What's the status of this issue, Sean?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 05 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




---
The druntime source tree has changed to the point where it's no longer trivial
to integrate an additional compiler runtime.  I'll have to think about how to
add LDC2 support.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 05 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




Yeah, I think gdc is also gradually approaching 2.020 where druntime was
introduced and will face the same problem.
They are currently upgrading to 2.016.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 05 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




---
The correct approach may be to have a separate Druntime for each compiler. 
This is a bit less granular than the previous design where multiple compiler
runtimes could be plugged into the same SVN tree, but that design was a pain to
deal with from a maintenance perspective (though it's still functionally
feasible).  I don't really like that it would mean code merges for the GC and
core code however.  Suggestions welcome.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 09 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155


Brad Roberts <braddr puremagic.com> changed:

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



---
A separate runtime per compiler seems very wrong to me.

I can understand that the current code bases look fairly far apart due to the
length of time they've been allowed to drift, but really, shouldn't they be
very very similar for the vast majority of the code?

I recognize that ldc has introduced additional compiler emited function calls,
but there's no reason that those can't be included in druntime.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 09 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




Couldn't those parts that are compiler-specific be held in their own subfolders
or whatever to keep it clean?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 09 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




---
They were in their own folder, in fact, there was a 'compiler' folder with
subfolders for each compiler, but the structure was deemed unnecessarily
complicated when the only compiler supported was DMD.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 09 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




---
For what it's worth, part of the problem is that the path to a module must
correspond to the package name.  This makes the SVN structure a lot more
complicated when there are two compiler runtimes that both have to live in
"rt.*", for example.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Feb 09 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155


Jacob Carlborg <doob me.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |doob me.com



Why not just use the approach Tango uses?

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 30 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155




PDT ---
Druntime used to, but it's a very complicated structure.  And even the Tango
runtime was intended to originally provide only a template.  The hope was that
compiler writers would eventually each maintain their own runtime, and it
doesn't really make sense that every compiler runtime would live in the same
SVN.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jun 30 2010
prev sibling next sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155


David Simcha <dsimcha yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dsimcha yahoo.com



---

 Yeah, I think gdc is also gradually approaching 2.020 where druntime was
 introduced and will face the same problem.
 They are currently upgrading to 2.016.
As of today, they are at 2.019. (http://bitbucket.org/goshawk/gdc/changesets/) Perhaps this should be up-prioritized because I assume it's going to be a blocker of further progress. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jul 16 2010
prev sibling parent d-bugmail puremagic.com writes:
http://d.puremagic.com/issues/show_bug.cgi?id=3155


Robert Clipsham <robert octarineparrot.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID



23:17:34 GMT ---
I'm closing this at the patch is amazingly out of date. For an up-to-date
druntime for ldc, see: https://github.com/ldc-developers/druntime. More
information, including how to build can be found at
https://github.com/ldc-developers/ldc/wiki

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