May 03, 2019
On Friday, 3 May 2019 at 15:37:23 UTC, 12345swordy wrote:
> https://gcc.gnu.org/gcc-9/changes.html

👏
May 03, 2019
I can't thank Iain and Johannes enough! It's a critical achievement for D's future. It will open a lot of doors for us.
May 03, 2019
> GCC with D have been finally been released.

yes. YES. YEEEEEEEEEESSSSSSSSSS!!!!

thank you so much :D



On Friday, 3 May 2019 at 17:52:22 UTC, H. S. Teoh wrote:
> On Fri, May 03, 2019 at 07:26:35PM +0200, Iain Buclaw via Digitalmars-d wrote:
>> On Fri, 3 May 2019 at 19:15, Johannes Pfau via Digitalmars-d <digitalmars-d@puremagic.com> wrote:
> [...]
>> > belka just wrote this in the GDC slack channel:
>> > > GDC with D v2.086.0-rc.1 passes the original testsuite now (from
>> > > 2.083).
>> >
>> > We'll merge this to gcc trunk shortly after the 2.086 test suite passes and GCC 10 stage 1 development opens (or has it already opened? I'm not sure).
>> >
>> 
>> GCC 10 stage 1 is open.  Time to destroy trunk!
> [...]
>
> Does this mean from GCC 10 onwards, GCC releases will closely track DMD releases, the same way LDC does?  *That* would be very, very nice indeed.
>

The requirement, as far as I understand, is: the last/previous version must be able to build the new one. Hence it shouldn't be a problem to use the latest DMD release from now on.

However, according to the release cycle [1] I'd expect something like yearly DMD version granularity. (yearly granularity - how to express that in English?)

[1] https://www.gnu.org/software/gcc/develop.html#timeline
May 03, 2019
On Friday, 3 May 2019 at 15:37:23 UTC, 12345swordy wrote:
> https://gcc.gnu.org/gcc-9/changes.html

Amazing, congratulations to the whole GDC team!

- Stefanos
May 05, 2019
On Friday, 3 May 2019 at 15:37:23 UTC, 12345swordy wrote:
> https://gcc.gnu.org/gcc-9/changes.html

Huge congratulations to Iain, Johannes, and team :-)

I have to add a particular note of personal thanks here: it was Iain picking up the reins of GDC, and getting it to the point where a reasonably up to date D2 GDC made it into Ubuntu 12.04, that unlocked really getting to grips with the language for me.  And that unlocked a host of wonderful professional and personal opportunities (including the one that gave me the pleasure of having Iain as a work colleague).

So I think we should recognize Iain, not just for the wonderful work he has done, but for the extent to which he has empowered other people to use D and do wonderful things with it.

It's one of the most important contributions that anyone can make.  So thank you Iain and team, and here's looking forward to all the other wonderful stuff you are making possible with this latest achievement :-)
May 05, 2019
On Friday, 3 May 2019 at 15:37:23 UTC, 12345swordy wrote:
> https://gcc.gnu.org/gcc-9/changes.html

That's pretty cool!

I have a question about binary compatibility between compilers. I read somewhere that LDC and DMD aren't binary compatible, so...

Will GDC be binary compatible with one or more of the already-existing D compilers?

Secondly, does it matter? (I'm still not clear on that.)
May 05, 2019
On Friday, 3 May 2019 at 17:48:16 UTC, H. S. Teoh wrote:
>> belka just wrote this in the GDC slack channel:
>> > GDC with D v2.086.0-rc.1 passes the original testsuite now (from
>> > 2.083).
>> 
>> We'll merge this to gcc trunk shortly after the 2.086 test suite passes and GCC 10 stage 1 development opens (or has it already opened? I'm not sure).
>
> Wonderful news!

Agreed.
May 07, 2019
On Sun, May 05, 2019 at 07:34:18PM +0000, Ron Tarrant via Digitalmars-d wrote:
> On Friday, 3 May 2019 at 15:37:23 UTC, 12345swordy wrote:
> > https://gcc.gnu.org/gcc-9/changes.html
> 
> That's pretty cool!
> 
> I have a question about binary compatibility between compilers. I read somewhere that LDC and DMD aren't binary compatible, so...
> 
> Will GDC be binary compatible with one or more of the already-existing D compilers?

I just tested LDC and GDC, and they aren't compatible either. Probably because they each ship with their own version of Phobos, and link with their own C runtimes that aren't compatible with each other.


> Secondly, does it matter? (I'm still not clear on that.)

I think it's generally accepted that you have to use the same compiler to compile an entire program.  I've never heard of it being considered a bug that the output of two different compilers are incompatible.  It'd be great if it could somehow still work anyway, but generally I don't think it's expected to.

And I would think it shouldn't matter which compiler you use as long as your code doesn't depend on compiler-specific features; you could just recompile with a different compiler if need be, and go along your merry way.


T

-- 
Music critic: "That's an imitation fugue!"
May 07, 2019
Am Tue, 07 May 2019 11:13:08 -0700 schrieb H. S. Teoh:

>> Will GDC be binary compatible with one or more of the already-existing D compilers?
> 
> I just tested LDC and GDC, and they aren't compatible either. Probably because they each ship with their own version of Phobos, and link with their own C runtimes that aren't compatible with each other.
> 

Unfortunately the compilers are currently not ABI compatible. I think it shouldn't be too difficult to fix this though.

> 
>> Secondly, does it matter? (I'm still not clear on that.)
> 
> I think it's generally accepted that you have to use the same compiler to compile an entire program.  I've never heard of it being considered a bug that the output of two different compilers are incompatible.  It'd be great if it could somehow still work anyway, but generally I don't think it's expected to.
> 

Are you talking about D specifically or about any language in general? gcc and clang are abi compatible as far as I know and the same should be true for clang and msvc.

It is probably not necessary to be compatible on object file level, but at least shared libraries need to be compatible between compilers. Otherwise you will force linux distributions to choose only one compiler, as nobody wants to have 3 packages for every library (one for every compiler).

However, I don't think there are many compiler specific runtime hooks, so it should be possible to get e.g. gdc compiled code linking to a ldc compiled druntime. I guess the biggest problem here is exception handling.

-- 
Johannes
May 08, 2019
On Tuesday, 7 May 2019 at 18:13:08 UTC, H. S. Teoh wrote:

> And I would think it shouldn't matter which compiler you use as long as your code doesn't depend on compiler-specific features; you could just recompile with a different compiler if need be, and go along your merry way.

Is this also the case for libraries? A library compiled with (for instance) DMD can't be used from an application compiled with GDC?