www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - DDMD just went green on all platforms for the first time

reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
https://auto-tester.puremagic.com/?projectid=10

This is a pretty big milestone for the project.  For the first time, an 
unpatched dmd can build ddmd, and that ddmd can build druntime and phobos 
and pass all the test suites.

Hopefully in the next couple of weeks the remaining minor issues will be 
fixed (eg makefile changes, ddmd runs out of memory compiling std.algorithm 
unittests on win64) and we can start adding ddmd to master alongside the C++ 
compiler.

A big thanks to Brad for upgrading the autotester, and to everyone who has 
helped fix bugs and get patches merged over the last couple of years.

Github shows 376 closed DDMD pull requests, which is about 8% of all dmd 
pull requests ever. 
Feb 21 2015
next sibling parent "Tobias Pankrath" <tobias pankrath.net> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:

Nice!
Feb 21 2015
prev sibling next sibling parent reply Andrej Mitrovic via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 2/21/15, Daniel Murphy via Digitalmars-d <digitalmars-d puremagic.com> wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first time, an
 unpatched dmd can build ddmd, and that ddmd can build druntime and phobos
 and pass all the test suites.
Awesome! It's fantastic that you kept up doing the DDMD work for so long (also thanks Brad!). I can't wait for the day the only command necessary to build DMD is going to be: $ rdmd src/main.d :)
Feb 21 2015
parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Andrej Mitrovic via Digitalmars-d"  wrote in message 
news:mailman.7024.1424528844.9932.digitalmars-d puremagic.com...

 I can't wait for the day the only command necessary to build DMD is going 
 to be:

 $ rdmd src/main.d

 :)
Something like rdmd mars.d -J.. -d glue.lib backend.lib almost works now, except I recently put all the source into a 'ddmd' package and now rdmd can't find it as it's not in a 'ddmd' directory.
Feb 21 2015
next sibling parent reply "Suliman" <evermind live.ru> writes:
Does it's mean that next release of DMD would have name DDMD?
Or it would be two branch at first time DMD and DDMD?
Or DDMD would be renamed to DMD?
Feb 21 2015
parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Suliman"  wrote in message news:daeyakftojagfwtesxas forum.dlang.org...

 Does it's mean that next release of DMD would have name DDMD?
 Or it would be two branch at first time DMD and DDMD?
 Or DDMD would be renamed to DMD?
Currently they're in two different branches, soon work will start to move ddmd into master. After that they will co-exist for a while, then we will delete the C++ frontend and switch all development to the D version, which will be renamed to DMD. It would be possible to release a ddmd version of 2.067, although it might be better to wait until the 2.068 release as 2.067 or later is required to build ddmd.
Feb 21 2015
prev sibling parent reply "Vladimir Panteleev" <vladimir thecybershadow.net> writes:
On Saturday, 21 February 2015 at 16:17:03 UTC, Daniel Murphy 
wrote:
 almost works now, except I recently put all the source into a 
 'ddmd' package and now rdmd can't find it as it's not in a 
 'ddmd' directory.
-I.. should fix that, I think
Feb 22 2015
parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Vladimir Panteleev"  wrote in message 
news:ueqnmyfvntkjybclhqzx forum.dlang.org...

 -I.. should fix that, I think
It would if the package was called 'src'.
Feb 22 2015
parent ketmar <ketmar ketmar.no-ip.org> writes:
On Mon, 23 Feb 2015 02:09:49 +1100, Daniel Murphy wrote:

 "Vladimir Panteleev"  wrote in message
 news:ueqnmyfvntkjybclhqzx forum.dlang.org...
=20
 -I.. should fix that, I think
=20 It would if the package was called 'src'.
isn't it time to introduce a new cli flag: "directory alias"? something=20 like "-A../src=3Dddmd", something that does "-I" work, but with "aliasing".= =20 so when compiler is looking for module `ddmd.a`, it will resolve "../src"=20 directory as "../ddmd". i will think about that, but i promised to not=20 making ERs anymore, so... ER, anyone?=
Feb 22 2015
prev sibling next sibling parent ketmar <ketmar ketmar.no-ip.org> writes:
On Sun, 22 Feb 2015 01:02:47 +1100, Daniel Murphy wrote:

 https://auto-tester.puremagic.com/?projectid=3D10
=20
 This is a pretty big milestone for the project.  For the first time, an
 unpatched dmd can build ddmd, and that ddmd can build druntime and
 phobos and pass all the test suites.
=20
 Hopefully in the next couple of weeks the remaining minor issues will be
 fixed (eg makefile changes, ddmd runs out of memory compiling
 std.algorithm unittests on win64) and we can start adding ddmd to master
 alongside the C++
 compiler.
=20
 A big thanks to Brad for upgrading the autotester, and to everyone who
 has helped fix bugs and get patches merged over the last couple of
 years.
=20
 Github shows 376 closed DDMD pull requests, which is about 8% of all dmd
 pull requests ever.
the only thing i can say is "WOW!" great work!=
Feb 21 2015
prev sibling next sibling parent "H. S. Teoh via Digitalmars-d" <digitalmars-d puremagic.com> writes:
On Sun, Feb 22, 2015 at 01:02:47AM +1100, Daniel Murphy via Digitalmars-d wrote:
 https://auto-tester.puremagic.com/?projectid=10
 
 This is a pretty big milestone for the project.  For the first time,
 an unpatched dmd can build ddmd, and that ddmd can build druntime and
 phobos and pass all the test suites.
Awesome!!!!
 Hopefully in the next couple of weeks the remaining minor issues will
 be fixed (eg makefile changes, ddmd runs out of memory compiling
 std.algorithm unittests on win64) and we can start adding ddmd to
 master alongside the C++ compiler.
 
 A big thanks to Brad for upgrading the autotester, and to everyone who
 has helped fix bugs and get patches merged over the last couple of
 years.
 
 Github shows 376 closed DDMD pull requests, which is about 8% of all
 dmd pull requests ever.
Thanks to all involved! Can't wait for the day when D becomes self-hosting... T -- It is widely believed that reinventing the wheel is a waste of time; but I disagree: without wheel reinventers, we would be still be stuck with wooden horse-cart wheels.
Feb 21 2015
prev sibling next sibling parent "Elie Morisse" <syniurge gmail.com> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first 
 time, an unpatched dmd can build ddmd, and that ddmd can build 
 druntime and phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor 
 issues will be fixed (eg makefile changes, ddmd runs out of 
 memory compiling std.algorithm unittests on win64) and we can 
 start adding ddmd to master alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to 
 everyone who has helped fix bugs and get patches merged over 
 the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% 
 of all dmd pull requests ever.
WOW!²
Feb 21 2015
prev sibling next sibling parent "Paulo Pinto" <pjmlp progtools.org> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first 
 time, an unpatched dmd can build ddmd, and that ddmd can build 
 druntime and phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor 
 issues will be fixed (eg makefile changes, ddmd runs out of 
 memory compiling std.algorithm unittests on win64) and we can 
 start adding ddmd to master alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to 
 everyone who has helped fix bugs and get patches merged over 
 the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% 
 of all dmd pull requests ever.
Congratulations!
Feb 21 2015
prev sibling next sibling parent Joseph Rushton Wakeling via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 21/02/15 15:02, Daniel Murphy via Digitalmars-d wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first time, an
 unpatched dmd can build ddmd, and that ddmd can build druntime and phobos and
 pass all the test suites.
That's fantastic news, congratulations! There were some nice words said about DDMD at the Berlin D Meetup last night -- Martin Nowak talked a bit about some of the potential for improving other backends' ability to integrate the frontend code -- but I didn't realize things were going quite this well. I'm sure everyone will be very happy to hear about this. :-)
Feb 21 2015
prev sibling next sibling parent Mathias Lang via Digitalmars-d <digitalmars-d puremagic.com> writes:
2015-02-21 15:02 GMT+01:00 Daniel Murphy via Digitalmars-d <
digitalmars-d puremagic.com>:

 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first time, an
 unpatched dmd can build ddmd, and that ddmd can build druntime and phobos
 and pass all the test suites.
Congratulations ! Can't wait for D to be self-hosted.
Feb 21 2015
prev sibling next sibling parent "Dicebot" <public dicebot.lv> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first 
 time, an unpatched dmd can build ddmd, and that ddmd can build 
 druntime and phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor 
 issues will be fixed (eg makefile changes, ddmd runs out of 
 memory compiling std.algorithm unittests on win64) and we can 
 start adding ddmd to master alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to 
 everyone who has helped fix bugs and get patches merged over 
 the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% 
 of all dmd pull requests ever.
This is huge. Thanks, Daniel!
Feb 21 2015
prev sibling next sibling parent reply "Jeremy DeHaan" <dehaan.jeremiah gmail.com> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first 
 time, an unpatched dmd can build ddmd, and that ddmd can build 
 druntime and phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor 
 issues will be fixed (eg makefile changes, ddmd runs out of 
 memory compiling std.algorithm unittests on win64) and we can 
 start adding ddmd to master alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to 
 everyone who has helped fix bugs and get patches merged over 
 the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% 
 of all dmd pull requests ever.
This is awesome! Does that mean we're going to see a DDMD release for 2.067?
Feb 21 2015
parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Jeremy DeHaan"  wrote in message 
news:wsowtbjrocqkdpnhfrhe forum.dlang.org...

 This is awesome! Does that mean we're going to see a DDMD release for 
 2.067?
It's possible if someone wants to update the release scripts and coordinate with Martin.
Feb 21 2015
parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/21/15 7:09 PM, Daniel Murphy wrote:
 "Jeremy DeHaan"  wrote in message
 news:wsowtbjrocqkdpnhfrhe forum.dlang.org...

 This is awesome! Does that mean we're going to see a DDMD release for
 2.067?
It's possible if someone wants to update the release scripts and coordinate with Martin.
I think we should target 2.068 at the earliest. -- Andrei
Feb 22 2015
parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Andrei Alexandrescu"  wrote in message 
news:mccu03$1ger$1 digitalmars.com...

 I think we should target 2.068 at the earliest. -- Andrei
Oh yeah, certainly not as the default. But we could provide an experimental zip that lets people try out ddmd with their projects.
Feb 22 2015
prev sibling next sibling parent reply Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/21/15 6:02 AM, Daniel Murphy wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first time, an
 unpatched dmd can build ddmd, and that ddmd can build druntime and
 phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor issues will be
 fixed (eg makefile changes, ddmd runs out of memory compiling
 std.algorithm unittests on win64) and we can start adding ddmd to master
 alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to everyone who
 has helped fix bugs and get patches merged over the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% of all dmd
 pull requests ever.
Fantastic. Thanks for hacking at this for so long. I assume going forward things will be easier because we won't accept pulls that break ddmd? Andrei
Feb 21 2015
parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Andrei Alexandrescu"  wrote in message 
news:mcb28b$2iab$1 digitalmars.com...

 Fantastic. Thanks for hacking at this for so long. I assume going forward 
 things will be easier because we won't accept pulls that break ddmd?
Yes, once everything has been moved into master the autotester will prevent changes that break ddmd from going in. Most of the time that just means updating the config file when new top-level declarations are added, being careful with comment placement and being conservative with C++ features. The next step is probably to get https://github.com/D-Programming-Language/dmd/pull/3970 in, and force everybody to get their host D toolchain configured. That pull request converts idgen to D, so a D compiler is required to build dmd. By default on posix it just invokes 'dmd', so many systems will just work. Otherwise, which compiler to use can be specified by defining the HOST_DC environment variable or passing it to make (eg make -f win32.mak HOST_DC=... )
Feb 21 2015
parent "David Nadlinger" <code klickverbot.at> writes:
On Sunday, 22 February 2015 at 03:32:38 UTC, Daniel Murphy wrote:
 The next step is probably to get 
 https://github.com/D-Programming-Language/dmd/pull/3970 in, and 
 force everybody to get their host D toolchain configured.
I'm all for doing that once the 2.067-related dust has settled down. David
Feb 22 2015
prev sibling next sibling parent reply "safety0ff" <safety0ff.dev gmail.com> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first 
 time, an unpatched dmd can build ddmd, and that ddmd can build 
 druntime and phobos and pass all the test suites.
Congrats! Does version=GC need any additional work?
Feb 21 2015
parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"safety0ff"  wrote in message news:shcmppjlvivoybbynkjo forum.dlang.org...

 Congrats!

 Does version=GC need any additional work?
Yes, version=GC is still broken. It should be enough to hook C++ new/delete and fix a few malloc vs rmem.malloc issues. All of the frontend and root (except response.c and man.c) are now in D which should make things easier. The elf headers have been fixed too, which means it should be possible to port lib*/scan* to D now as well. That just leaves the glue layer, array.h and iasm with potential non-rmem allocations.
Feb 21 2015
prev sibling next sibling parent reply Shammah Chancellor <anonymous coward.com> writes:
On 2015-02-21 14:02:47 +0000, Daniel Murphy said:

 https://auto-tester.puremagic.com/?projectid=10
 
 This is a pretty big milestone for the project.  For the first time, an 
 unpatched dmd can build ddmd, and that ddmd can build druntime and 
 phobos and pass all the test suites.
 
 Hopefully in the next couple of weeks the remaining minor issues will 
 be fixed (eg makefile changes, ddmd runs out of memory compiling 
 std.algorithm unittests on win64) and we can start adding ddmd to 
 master alongside the C++ compiler.
 
 A big thanks to Brad for upgrading the autotester, and to everyone who 
 has helped fix bugs and get patches merged over the last couple of 
 years.
 
 Github shows 376 closed DDMD pull requests, which is about 8% of all 
 dmd pull requests ever.
Awesome! Now those of us who don't want to work in C++ can start helping? Possibly? -Shammah
Feb 21 2015
parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Shammah Chancellor"  wrote in message news:mcb4nf$2kd5$1 digitalmars.com...

 Awesome!  Now those of us who don't want to work in C++ can start helping? 
 Possibly?
It will still be a while before development switches to D, at the moment all patches still need to be against the C++ source. You could always work on the D source and port your work back to the C++ version, which would be fairly easy as it's basically a 1-1 mapping. Really, DMD's source is by far the best C++ codebase I've ever worked on. It avoids many of the biggest problems with C++ and feels much more like working on D than any other project I've ever touched.
Feb 21 2015
prev sibling next sibling parent reply "deadalnix" <deadalnix gmail.com> writes:
On Saturday, 21 February 2015 at 14:02:41 UTC, Daniel Murphy 
wrote:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first 
 time, an unpatched dmd can build ddmd, and that ddmd can build 
 druntime and phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor 
 issues will be fixed (eg makefile changes, ddmd runs out of 
 memory compiling std.algorithm unittests on win64) and we can 
 start adding ddmd to master alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to 
 everyone who has helped fix bugs and get patches merged over 
 the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% 
 of all dmd pull requests ever.
2 years ago, I had this discussion with Andrej at DConf about SDC being production ready before/after DDMD. SDC and DDMD both have made tremendous progress in the meantime ! Good job guys !
Feb 21 2015
parent Andrej Mitrovic via Digitalmars-d <digitalmars-d puremagic.com> writes:
On 2/22/15, deadalnix via Digitalmars-d <digitalmars-d puremagic.com> wrote:
 2 years ago, I had this discussion with Andrej
Nope. Andrei. :p
Feb 22 2015
prev sibling next sibling parent "Ilya Yaroshenko" <ilyayaroshenko gmail.com> writes:
Congratulations!!!
Feb 22 2015
prev sibling parent reply Benjamin Thaut <code benjamin-thaut.de> writes:
Am 21.02.2015 um 15:02 schrieb Daniel Murphy:
 https://auto-tester.puremagic.com/?projectid=10

 This is a pretty big milestone for the project.  For the first time, an
 unpatched dmd can build ddmd, and that ddmd can build druntime and
 phobos and pass all the test suites.

 Hopefully in the next couple of weeks the remaining minor issues will be
 fixed (eg makefile changes, ddmd runs out of memory compiling
 std.algorithm unittests on win64) and we can start adding ddmd to master
 alongside the C++ compiler.

 A big thanks to Brad for upgrading the autotester, and to everyone who
 has helped fix bugs and get patches merged over the last couple of years.

 Github shows 376 closed DDMD pull requests, which is about 8% of all dmd
 pull requests ever.
Congrats, nice work. Are there any performance comparisons? E.g. how long das DDMD take to compile phobos vs regular DMD? Kind Regards Benjamin Thaut
Feb 22 2015
next sibling parent reply "bearophile" <bearophileHUGS lycos.com> writes:
Benjamin Thaut:

 Are there any performance comparisons? E.g. how long das DDMD 
 take to compile phobos vs regular DMD?
Yes, there are several performance comparisons I'm curious about, like binary size, compilation speed, compilation speed of the compiler, max memory to compile Phobos without unittests, and few more basic data points. Bye, bearophile
Feb 22 2015
parent reply "Joakim" <dlang joakim.fea.st> writes:
On Sunday, 22 February 2015 at 14:18:31 UTC, bearophile wrote:
 Benjamin Thaut:

 Are there any performance comparisons? E.g. how long das DDMD 
 take to compile phobos vs regular DMD?
Yes, there are several performance comparisons I'm curious about, like binary size, compilation speed, compilation speed of the compiler, max memory to compile Phobos without unittests, and few more basic data points.
First, great work, Daniel, ddmd seems to be the future for D and I hope it goes through more quickly from now on. Second, this would be a great opportunity to benchmark ddmd with some of the comparisons bearophile asked for and write something up with the results. It would publicize ddmd and get people interested in D. I know you're still working on ddmd, but any preliminary results are still interesting to many.
Feb 22 2015
parent "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Joakim"  wrote in message news:tyyiuqdewulqpikhixmh forum.dlang.org...

 I hope it goes through more quickly from now on.
Haha we'll see.
 Second, this would be a great opportunity to benchmark ddmd with some of 
 the comparisons bearophile asked for and write something up with the 
 results.  It would publicize ddmd and get people interested in D.  I know 
 you're still working on ddmd, but any preliminary results are still 
 interesting to many.
I will be benchmarking it more completely after it's in master, before switching over. The code is all on github if anybody wants to give it a go. The basic gist is that the performance overhead is enough to be noticeable, but not enough to cause real problems.
Feb 22 2015
prev sibling parent reply "Daniel Murphy" <yebbliesnospam gmail.com> writes:
"Benjamin Thaut"  wrote in message news:mcco2v$1bpg$1 digitalmars.com...

 Are there any performance comparisons? E.g. how long das DDMD take to 
 compile phobos vs regular DMD?
Some numbers can easily be gathered from looking at the autotester times. https://auto-tester.puremagic.com/?projectid=10 vs https://auto-tester.puremagic.com/?projectid=1 Currently they show 10-25% performance penalty for DDMD. Most of this is probably from not having dmd's custom allocator hooked up completely.
Feb 22 2015
parent Andrei Alexandrescu <SeeWebsiteForEmail erdani.org> writes:
On 2/22/15 7:16 AM, Daniel Murphy wrote:
 "Benjamin Thaut"  wrote in message news:mcco2v$1bpg$1 digitalmars.com...

 Are there any performance comparisons? E.g. how long das DDMD take to
 compile phobos vs regular DMD?
Some numbers can easily be gathered from looking at the autotester times. https://auto-tester.puremagic.com/?projectid=10 vs https://auto-tester.puremagic.com/?projectid=1 Currently they show 10-25% performance penalty for DDMD. Most of this is probably from not having dmd's custom allocator hooked up completely.
That sounds something that we could reasonably improve. This is great work. -- Andrei
Feb 22 2015