Jump to page: 1 2
Thread overview
GCC 10.2.1 Released
Aug 27
M.M.
Aug 31
wjoe
Aug 31
wjoe
Sep 04
wjoe
Sep 05
wjoe
Aug 27
wjoe
August 24
Hi,

I've been slow in getting round to this, but 10.2 was released a few weeks back.

GCC 10.2 is a bug-fix release from the GCC 10 branch containing important fixes for regressions and serious bugs found GCC 10.1.

In the D language front-end, there have been four ICE bugs fixed (five if you're getting the packages from Debian/Ubuntu).

Also fixed is a compile-time performance bug when using `static foreach'.

In the following example:

    static foreach (i; 0..30000) {}

Compilation time has been reduced from around 40 to 0.08 seconds. Memory consumption is also reduced from 3.5GB to 55MB. (Thanks BorisCarvajal!)

As usual, sources are available from any of the GCC mirrors [1], or you can clone the git repository [2].

Regards
Iain.

[1] https://gcc.gnu.org/mirrors.html
[2] git://gcc.gnu.org/git/gcc.git
August 24
On Mon, Aug 24, 2020 at 09:24:23PM +0000, Iain Buclaw via Digitalmars-d-announce wrote: [...]
> GCC 10.2 is a bug-fix release from the GCC 10 branch containing important fixes for regressions and serious bugs found GCC 10.1.

Thanks for all of your efforts, Iain!!


[...]
> Also fixed is a compile-time performance bug when using `static foreach'.
[...]
> Compilation time has been reduced from around 40 to 0.08 seconds. Memory consumption is also reduced from 3.5GB to 55MB. (Thanks BorisCarvajal!)
[...]

Wow. That's a pretty major improvement!  Is this improvement upstreamed?

Just out of curiosity, which language version will the next GCC release have?  Currently, my version of GDC gives __VERSION__ as 2.076, which is pretty old (whereas LDC gives 2.093, basically on par with DMD).  Will the next GDC major release have a significantly-updated language version?

(I understand that the original plan was to get a foot in GCC's door first, for bootstrapping reasons, then now that we have GDC in the official GCC distribution, we can bootstrap to a much more up-to-date front-end version.)


T

-- 
Never step over a puddle, always step around it. Chances are that whatever made it is still dripping.
August 24
On Monday, 24 August 2020 at 21:40:08 UTC, H. S. Teoh wrote:
> On Mon, Aug 24, 2020 at 09:24:23PM +0000, Iain Buclaw via Digitalmars-d-announce wrote: [...]
>> GCC 10.2 is a bug-fix release from the GCC 10 branch containing important fixes for regressions and serious bugs found GCC 10.1.
>
> Thanks for all of your efforts, Iain!!
>
>
> [...]
>> Also fixed is a compile-time performance bug when using `static foreach'.
> [...]
>> Compilation time has been reduced from around 40 to 0.08 seconds. Memory consumption is also reduced from 3.5GB to 55MB. (Thanks BorisCarvajal!)
> [...]
>
> Wow. That's a pretty major improvement!  Is this improvement upstreamed?
>

It was backported from this PR https://github.com/dlang/dmd/pull/11303 (see PR 11335)

> Just out of curiosity, which language version will the next GCC release have?  Currently, my version of GDC gives __VERSION__ as 2.076, which is pretty old (whereas LDC gives 2.093, basically on par with DMD).  Will the next GDC major release have a significantly-updated language version?
>

Likely the deciding factor will come down to how much free time I will get to do so.  There's still a few outstanding issues in dmd-master and gcc middle-end that have hampered progress by a few weeks.

> (I understand that the original plan was to get a foot in GCC's door first, for bootstrapping reasons, then now that we have GDC in the official GCC distribution, we can bootstrap to a much more up-to-date front-end version.)
>

That is correct, so far I've yanked out the old C++ sources and replaced them with D, and the end result is a compiler that links and passes 99% of the testsuite.  Though I wonder if it might be possible take advantage of GCC's bootstrap process and keep both in-tree for the benefit of incomplete ports.
August 25
On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:
> On Monday, 24 August 2020 at 21:40:08 UTC, H. S. Teoh wrote:
>> On Mon, Aug 24, 2020 at 09:24:23PM +0000, Iain Buclaw via Digitalmars-d-announce wrote: [...]
>>> GCC 10.2 is a bug-fix release from the GCC 10 branch containing important fixes for regressions and serious bugs found GCC 10.1.
>>
>> Thanks for all of your efforts, Iain!!
>>
>>
>> [...]
>>> Also fixed is a compile-time performance bug when using `static foreach'.
>> [...]
>>> Compilation time has been reduced from around 40 to 0.08 seconds. Memory consumption is also reduced from 3.5GB to 55MB. (Thanks BorisCarvajal!)
>> [...]
>>
>> Wow. That's a pretty major improvement!  Is this improvement upstreamed?
>>
>
> It was backported from this PR https://github.com/dlang/dmd/pull/11303 (see PR 11335)
>
>> Just out of curiosity, which language version will the next GCC release have?  Currently, my version of GDC gives __VERSION__ as 2.076, which is pretty old (whereas LDC gives 2.093, basically on par with DMD).  Will the next GDC major release have a significantly-updated language version?
>>
>
> Likely the deciding factor will come down to how much free time I will get to do so.  There's still a few outstanding issues in dmd-master and gcc middle-end that have hampered progress by a few weeks.
>

Thanks!


August 27
On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:
>> Just out of curiosity, which language version will the next GCC release have?  Currently, my version of GDC gives __VERSION__ as 2.076, which is pretty old (whereas LDC gives 2.093, basically on par with DMD).  Will the next GDC major release have a significantly-updated language version?
>>
>
> Likely the deciding factor will come down to how much free time I will get to do so.  There's still a few outstanding issues in dmd-master and gcc middle-end that have hampered progress by a few weeks.

Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months!
August 27
Thank you :)


August 29
On Thursday, 27 August 2020 at 04:05:15 UTC, M.M. wrote:
> On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:
>>> Just out of curiosity, which language version will the next GCC release have?  Currently, my version of GDC gives __VERSION__ as 2.076, which is pretty old (whereas LDC gives 2.093, basically on par with DMD).  Will the next GDC major release have a significantly-updated language version?
>>>
>>
>> Likely the deciding factor will come down to how much free time I will get to do so.  There's still a few outstanding issues in dmd-master and gcc middle-end that have hampered progress by a few weeks.
>
> Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months!

If people want to share my workload on gdc, then it'll certainly help.
August 31
On Saturday, 29 August 2020 at 18:40:36 UTC, Iain Buclaw wrote:
> On Thursday, 27 August 2020 at 04:05:15 UTC, M.M. wrote:
>> On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:
>>>>[...]
>>>
>>> Likely the deciding factor will come down to how much free time I will get to do so.  There's still a few outstanding issues in dmd-master and gcc middle-end that have hampered progress by a few weeks.
>>
>> Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months!
>
> If people want to share my workload on gdc, then it'll certainly help.

I'm exactly 100% unfamiliar with the code base. How can I help ? Where do I start ?
August 31
On Monday, 31 August 2020 at 13:24:50 UTC, wjoe wrote:
> I'm exactly 100% unfamiliar with the code base. How can I help ? Where do I start ?

Reading this again after a few hours it comes across in sort of a rude way - apologies if that was the case.

The question is if I haven't got any experience with GCC and GDC, how to get involved - where to get started ?
September 01
On Monday, 31 August 2020 at 13:24:50 UTC, wjoe wrote:
> On Saturday, 29 August 2020 at 18:40:36 UTC, Iain Buclaw wrote:
>> On Thursday, 27 August 2020 at 04:05:15 UTC, M.M. wrote:
>>> On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:
>>>>>[...]
>>>>
>>>> Likely the deciding factor will come down to how much free time I will get to do so.  There's still a few outstanding issues in dmd-master and gcc middle-end that have hampered progress by a few weeks.
>>>
>>> Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months!
>>
>> If people want to share my workload on gdc, then it'll certainly help.
>
> I'm exactly 100% unfamiliar with the code base. How can I help ? Where do I start ?

Some parts of the infrastructure could do with some TLC.

CI currently uses semaphore CI for native x86_64, and Buildkite with a couple
hosted Linux VMs for testing various cross-compilers.  I used to have ARM and
ARM64 bare metal servers with Scaleway, but sadly they decided to scrap them.

Ideas that could be investigated:

  1. Is Cirrus CI good enough to build gdc?  And if so, look into adding
     Windows, MacOSX, and FreeBSD platforms to the pipeline.

  2. Likewise, have a look a Github Actions, they have Windows and MacOSX.

  3. Use Docker+QEMU to have containers doing CI for other architectures, can
     build images for Alpine and Debian on amd64, arm32v7, arm64v8, i386,
     mips64le, ppc64le, and s390x.

  4. I can order VMs with x86_64 FreeBSD and OpenBSD installed for CI purposes.
     DragonflyBSD might also be possible as well (I'll have to ask for images).

  5. Should builds be packaged up as possible downloads?

There are some compiler/library programming tasks that go with it, for each
platform/cpu combination that currently lacks run-time support.

  1. Add relevant target support to GCC.  I have patches, just not committed to
     mainline due to lack of testing.

  2. Ensure that druntime builds and is functional on the platform.

Iain.

« First   ‹ Prev
1 2