digitalmars.D.announce - GCC 10.2.1 Released
- Iain Buclaw (20/20) Aug 24 2020 Hi,
- H. S. Teoh (19/26) Aug 24 2020 Thanks for all of your efforts, Iain!!
- Iain Buclaw (12/37) Aug 24 2020 It was backported from this PR
- zoujiaqing (2/36) Aug 25 2020 Thanks!
- M.M. (3/13) Aug 26 2020 Thank you for your work. I cross my fingers for you to have
- Iain Buclaw (3/17) Aug 29 2020 If people want to share my workload on gdc, then it'll certainly
- wjoe (3/16) Aug 31 2020 I'm exactly 100% unfamiliar with the code base. How can I help ?
- wjoe (5/7) Aug 31 2020 Reading this again after a few hours it comes across in sort of a
- Iain Buclaw (33/50) Sep 01 2020 Some parts of the infrastructure could do with some TLC.
- wjoe (10/24) Sep 04 2020 What does 'good enough' mean ?
- Iain Buclaw (16/43) Sep 04 2020 Tender loving care. It could be done better, but no one's
- wjoe (3/6) Sep 05 2020 I continued this thread here:
- wjoe (1/1) Aug 27 2020 Thank you :)
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
Aug 24 2020
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.
Aug 24 2020
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: [...]It was backported from this PR https://github.com/dlang/dmd/pull/11303 (see PR 11335)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?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.
Aug 24 2020
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:Thanks!On Mon, Aug 24, 2020 at 09:24:23PM +0000, Iain Buclaw via Digitalmars-d-announce wrote: [...]It was backported from this PR https://github.com/dlang/dmd/pull/11303 (see PR 11335)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?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.
Aug 25 2020
On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months!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.
Aug 26 2020
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:If people want to share my workload on gdc, then it'll certainly help.Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months!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.
Aug 29 2020
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:I'm exactly 100% unfamiliar with the code base. How can I help ? Where do I start ?On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:If people want to share my workload on gdc, then it'll certainly help.Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months![...]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.
Aug 31 2020
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 ?
Aug 31 2020
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: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.On Thursday, 27 August 2020 at 04:05:15 UTC, M.M. wrote:I'm exactly 100% unfamiliar with the code base. How can I help ? Where do I start ?On Monday, 24 August 2020 at 23:49:42 UTC, Iain Buclaw wrote:If people want to share my workload on gdc, then it'll certainly help.Thank you for your work. I cross my fingers for you to have enough free time in the upcoming months![...]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.
Sep 01 2020
On Tuesday, 1 September 2020 at 17:53:04 UTC, Iain Buclaw wrote:Some parts of the infrastructure could do with some TLC.I'm not familiar with the acronym '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.What does 'good enough' mean ? I found this reply (March/2019) by Johannes Pfau here [1]:We use https://github.com/D-Programming-GDC/gcc for CI, but commits will go to the GCC SVN first, so GCC SVN or snapshot tarballs is the recommended way to get the latest GDC.Is this information still up to date ? There's a semaphore folder. I suppose that's the one currently used with Semaphore CI. Is there something else ? [1] https://forum.dlang.org/thread/lqdjlwmgrfstifcburwx forum.dlang.org PS. Sorry for the Announce group abuse.
Sep 04 2020
On Friday, 4 September 2020 at 15:12:54 UTC, wjoe wrote:On Tuesday, 1 September 2020 at 17:53:04 UTC, Iain Buclaw wrote:Tender loving care. It could be done better, but no one's looking to improve it.Some parts of the infrastructure could do with some TLC.I'm not familiar with the acronym 'TLC'.It means, can Cirrus CI actually build gdc and run through the testsuite without being killed by the pipeline? Travis CI for instance is rubbish, because: - Hardware is really slow. - Kills jobs that take longer than 50 minutes. - Kills jobs if a 3GB memory limit is exceeded. - Kills jobs that don't print anything for more than 10 minutes. - Truncates logs to first 2000 lines.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.What does 'good enough' mean ?I found this reply (March/2019) by Johannes Pfau here [1]:There's also buildkite [1] and repo [2] (which has been failing since the ARM bare metal servers got taken down). [1] https://buildkite.com/d-programming-gdc/gcc [2] https://github.com/D-Programming-GDC/buildkite-gdcWe use https://github.com/D-Programming-GDC/gcc for CI, but commits will go to the GCC SVN first, so GCC SVN or snapshot tarballs is the recommended way to get the latest GDC.Is this information still up to date ? There's a semaphore folder. I suppose that's the one currently used with Semaphore CI. Is there something else ?PS. Sorry for the Announce group abuse.We can take this to D.gnu instead. :-)
Sep 04 2020
On Friday, 4 September 2020 at 22:00:51 UTC, Iain Buclaw wrote:On Friday, 4 September 2020 at 15:12:54 UTC, wjoe wrote:I continued this thread here: https://forum.dlang.org/thread/kruxkrrzithkrswoqqlu forum.dlang.orgPS. Sorry for the Announce group abuse.We can take this to D.gnu instead. :-)
Sep 05 2020