www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - GCC 15.1 Released (D 2.111.0)

reply Iain Buclaw <ibuclaw gdcproject.org> writes:
Hi,

I am proud to announce a new major GCC release, 15.1.

- The D frontend now supports version 
**[2.111.0](https://gcc.gnu.org/cgit/gcc/commit/?id=0eae20c899e327aec0e48b9
f2d856aba44b2639)** of the D programming language and run-time library.

- On supported targets, the version `GNU_CET` is now predefined 
when the option `-fcf-protection` is used. The protection level 
is also set in the traits key `__traits(getTargetInfo, "CET")`.

- A new option `-finclude-imports` was added, which tells the 
compiler to include imported modules in the compilation, as if 
they were given on the command-line (analogous to `dmd -i`).

As and when DMD releases v2.111.1, it will be merged into GCC 
15.2. Likewise regression fixes beyond v2.1xx.y will be 
backported into future minor releases for the next three years.

An online version of the GDC documentation and man pages are 
available [here](https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gdc/) 
(also [in PDF](https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gdc.pdf) 
or 
[PostScript](https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gdc.ps.gz) 
or an [HTML 
tarball](https://gcc.gnu.org/onlinedocs/gcc-15.1.0/gdc-html.tar.gz))

For the full list of notable changes in other languages and 
targets, see the [GCC 15.1 
changes](https://gcc.gnu.org/gcc-15/changes.html) page.

This source release is available 
[here](https://sourceware.org/pub/gcc/releases/gcc-15.1.0/), or 
from any of the WWW and FTP servers listed on the 
[mirrors](https://gcc.gnu.org/mirrors.html) page (the release is 
in the gcc-15.1.0/ subdirectory).

If you encounter difficulties, while you may contact me directly, 
it is better to visit https://gcc.gnu.org/bugzilla and file a 
problem report.

---


Now the development cycle has started again, usually it would be 
time for the next round of have ambitions for changes to land 
during the next release cycle. However due to current 
circumstances ([documented 
here](https://forum.dlang.org/post/dypquzqcqxfxgtbcikqi forum.dlang.org)),
there likely won't be too many big changes being made over the next 6 months.
With that said...

1. The "in-memory" preprocessing of C sources for ImportC is 
expected to land soon after being brewed in the cauldron for a 
couple years, though it will initially be without all predefined 
target macros being available. So some system headers will not be 
cleanly importable as-is.

2. For target specific built-in defines, GCC internally has 
[three ugly 
macros](https://gcc.gnu.org/onlinedocs/gccint/Run-time-Target.html#index-TARGET_005fCPU_0
5fCPP_005fBUILTINS) which are not usable with any front-end language apart from
C/C++.  So the aim is to rewrite this part of the GCC back-end to expose them
as common target hooks, then everyone benefits, not just D.

3. GDC will continue to be in sync with current DMD development 
throughout the release cycle so that the next version of GCC will 
also sport the latest release of the D language, whatever that 
release version will be.

There are - as always - more things to do than I have available 
hours to do them in, but if you feel you could help in any way, 
please don't hesitate to jump on the 
[#gdc](https://dlang.slack.com/archives/C6LTP6MV1) channel on the 
Dlang Slack or [#d.gdc](irc://irc.libera.chat/d.gdc) on 
Libera.Chat IRC.

If you are interested in helping support the on-going development 
of GDC, you can do so by making a donation to the [D Language 
Foundation](https://dlang.org/foundation/donate.html).

Finally, a big shout out and thank you to the [kind 
sponsors](https://github.com/sponsors/ibuclaw) over the years. 
You are all awesome.

Until the next major/minor release...

Regards,
Iain.
Apr 25
next sibling parent Sergey <kornburn yandex.ru> writes:
On Friday, 25 April 2025 at 14:08:58 UTC, Iain Buclaw wrote:
 Hi,

 I am proud to announce a new major GCC release, 15.1.
 Regards,
 Iain.
Thanks Iain for great work!
Apr 25
prev sibling next sibling parent Dejan Lekic <dejan.lekic gmail.com> writes:
On Friday, 25 April 2025 at 14:08:58 UTC, Iain Buclaw wrote:
 Hi,

 I am proud to announce a new major GCC release, 15.1.
Ian, your work on GDC is greatly appreciated. Thanks for all your hard work from the bottom of my heart!
Apr 25
prev sibling next sibling parent Mike Shah <mshah.475 gmail.com> writes:
On Friday, 25 April 2025 at 14:08:58 UTC, Iain Buclaw wrote:
 Hi,

 I am proud to announce a new major GCC release, 15.1.

 [...]
Excellent work Iain!
Apr 25
prev sibling next sibling parent "Richard (Rikki) Andrew Cattermole" <richard cattermole.co.nz> writes:
Well done!
Apr 25
prev sibling next sibling parent Anonymouse <zorael gmail.com> writes:
On Friday, 25 April 2025 at 14:08:58 UTC, Iain Buclaw wrote:
 [...]
Thanks!
Apr 26
prev sibling parent reply WB <witold.baryluk+d gmail.com> writes:
On Friday, 25 April 2025 at 14:08:58 UTC, Iain Buclaw wrote:
 Hi,

 I am proud to announce a new major GCC release, 15.1.
Thank you Iain for your work. gcc / gdc are my primary compilers, and having them is so easy to use on Linux thanks to all your work, and distros just shipping it out of the box.
 For the full list of notable changes in other languages and 
 targets, see the [GCC 15.1 
 changes](https://gcc.gnu.org/gcc-15/changes.html) page.
There:
 
 Support for the D programming language has been updated to 
 version 2.111.0 of the language and run-time library. Full 
 changelog for this release and previous releases can be found 
 on the dlang.org website.
I think the D section in GCC changes always lacks details. I think it is not enough to just reference to D changes on some other website. Most people do not even know D is in GCC, or by short section in GCC changes notes, they think that nothing is happening with D in GCC, or it is abandoned. I think it would be good to actually mention major work and changes since previous 14.x and 15.1. And if possible do so in the next versions. Cheers.
May 08
parent Iain Buclaw <ibuclaw gdcproject.org> writes:
On Thursday, 8 May 2025 at 17:34:06 UTC, WB wrote:
 
 Support for the D programming language has been updated to 
 version 2.111.0 of the language and run-time library. Full 
 changelog for this release and previous releases can be found 
 on the dlang.org website.
I think the D section in GCC changes always lacks details. I think it is not enough to just reference to D changes on some other website. Most people do not even know D is in GCC, or by short section in GCC changes notes, they think that nothing is happening with D in GCC, or it is abandoned. I think it would be good to actually mention major work and changes since previous 14.x and 15.1. And if possible do so in the next versions. Cheers.
Thanks for the suggestion. My feeling is listing all ~40 or so "compiler changes" since the previous sync'd version (2.108) would be a bit too much to mirror from the DMD change logs. I'm also aware that almost all new features are contained within the DMD front-end, and the actual GDC code generator side is pretty stable - ignoring the relentless renaming of functions and fields in upstream DMD. :-) What about either of the following: - Pick a few notable changes from each release. Probably subjective. - Restrict to listing changes that require some explicit support from the code generator (Placement `new`) or the driver/cli processing (`-fpreview=safer`)
May 11