Tag Archives: gdc

Gdc with dmd 2.015 frontend dstress results

It’s a while that this article have been a draft. Now i just have time to finish it. So here it’s!

Last week gdc was been ported to match the dmd frontend version 2.015. I’ve wrote in the newsgroup [news.digitalmars.com] about a way to test the gdc compiler. I didn’t obtain an answer by Walter Bright yet, maybe he didn’t look at it yet cuz he was busy releasing the new dmd version 2.033 and 2.034. It seems that for now the best way to test a d compiler is using dstress, a test suite of d programs. So i got tried to run dstress on my laptop, it was running from 10 hours when i decided to stop and make it run in a remote pentium dual core 64bit server. I’ve then contacted ChristianK, who work at the ldc compiler, and i asked him the script he used in formatting in html way the dstress output, like the dstress output for ldc. He gave me the script :) So here is the dstress output of gdc 2.015. hope you will find it useful: http://vincenzo-ampolo.net/gdc/

As you can see, gdc is still far away to be a stable compiler but it’s moving, after its reborn, to be a good compiler.

There have been some hints on the digitalmars newsgroup about the integration of the compiler on the main gcc tree since a developer of gcc with committing rights. I’m working to make it possible. Unfortunately it’s not a good time for me due to my university exams.

Funds for gdc ;)

Today i received a very good mail which stated that what we are doing in developing gdc is appreciated.

The mail is from Tomasz Stachewicz, the developer of RuDy project to enable and ease writing Ruby native extensions in D programming language.

After congratulating for the work we are doing, he stated something new: “Is there a book wishlist or donation account I could use to word my appreciation in a more material way?

If i’m not wrong (sorry i’m not a native English speaker), he is asking for an account for a donation. I think that maybe he is not the only one which wants to give some founds to the gdc project…


Well… If everybody agrees (well for now me, Michael and David Friedman, the ones which did work for gdc) i can get this moneys with paypal (or with one of the pay-for-feature websites). Moneys will be reserved to develop gdc in a issue/task basis (for porting gdc to lastest gcc you take X, for updating to dmd version Y you take Z and so on)

Of course i don’t think that gdc is so famous to make a lot of people contribute to it, but i think that we should decide about this issue to allow

people to support the gdc project.

This message is on the news.digitalmars.com NG too.

Gdc D2 with GCC 4.3.4 sees light

I’ve been working with ldc for a long time. I enjoyed it, i helped the development with tickets and hacking ldc a bit. I even tried to compile Tango as shared library but i got an error, probably caused by the compiler since people reported that in gdc they were able to do it. I then started guessing if llvm is so stable as it seems and if it can substitute the gnu compiler collection. Then i came to these llvm vs gcc benchmarks. Well the result is that llvm is not so fast and reliable as promised. In the same days, a message posted on the D newsgroup got me. I started thinking that resurrection gdc is the only way to make a stable and reliable compiler accepted in the FOSS community for the D programming language. But it should resurrect it should implement the D2 specs: there are no other compilers than dmd which support D2 around. So, me and Michael joined to the challenge to work on gdc :D

We got the lastest working branch of gdc, the one who relies on gcc 4.3.1. We then copied in our repository in bitbucket and applied some changes, after two days of works, gdc for D2.014 worked under gcc 4.3.4 (there were some problems in the default version when compiling the Phobos library). As a proof that it works look at it :D

goshawk@earth:/tmp/test/usr/local/gcc-4.3/bin$ ./gdc ~/test.d
goshawk@earth:/tmp/test/usr/local/gcc-4.3/bin$ ./a.out
Hello World, Reloaded

goshawk@earth:/tmp/test/usr/local/gcc-4.3/bin$ ./gdc -v
Using built-in specs.
Target: x86_64-unknown-linux-gnu
Configured with: ../configure –prefix=/usr/local/gcc-4.3 –enable-languages=c,d,c++ –disable-multilib –disable-shared
Thread model: posix
gcc version 4.3.4 (GCC)

Nice, isn’t it?

Now while Michael is focusing in fixing the D1 part, i started merging the lastest dmd D2 compiler in gdc. Making a diff against dmd2.014 and gdc2.014 i’m applying all the necessary patches in gdc for D2 2.032.

We opened a dedicated IRC channel in irc.freenode.net #d.gdc. Feel free to join!

You can find full instructions in how to compile gdc in our wiki page.

Any help, documentation, word on this challenge is appreciated. See you soon :D