This major release of the GNU Compiler Collection is the first to include a COBOL front end. It also features improved support for Rust. Developers are also concerned about breaking changes.
[画像:GCCSQ]
The GNU Compiler Collection (GCC) is a key component of the GNU toolchain and is distributed by the Free Software Foundation.
You may be surprised to see new support for COBOL given it's age - but then as we keep reporting COBOL is a legacy language that refuses to fade away. The GCC COBOL project was introduced in 2022 and is a frontend for GCC. It is distinct from the existing GnuCOBOL, which is a translator and works by converting to COBOL code to C before compilation.
GCC COBOL, which is limited to 64-bit and either x86-64 or ARM64 architectures, is based on COBOL2023 but does not yet implement object orientated features. It does include many IBM and MicroFocus extensions and supports the GNU debugger, gdb. It remains to be seen what the take up is for an open source compiler in an arena where commercial products are usually trusted.
GCC is now up to C23 and it uses this as its default but you can always ask to use an earlier standard - which most will. The changes are small, but there are enough to make sure that something can go wrong. The fact that bool is not the same as int at the ABI level is one that is going to waste a lot of time as is the need to take out any custom definitions of bool.
C++ continues to advance and gets ever more complex and convolouted. It is complete at the C++23 level and working towards C++26. Another change is the way that unions are initialized {0} now only initalizes the first member where it used to intialize all of the members. A comment on this change on Hacker news notes:
Fun fact: GCC decided to adopt Clang's (old) behavior at the same time Clang decided to adopt GCC's (old) behavior. So now you have this matrix of behaviors:
* Old GCC: Initializes whole union.
* New GCC: Initializes first member only.
* Old Clang: Initializes first member only.
* New Clang: Initializes whole union.
More code broken...
The standard Rust compiler, rustc, uses the LLVM backend and this is a a long standing problem in creating a GCC compiler and accounts for the slow progress. The parser is now complete, but there is no news of the borrow checker which is a core component of the language even though not actually needed for production code.
Having so many languages available as a single system is a real advantage and it means you can consider mixing languages. A key future objective of GCC is to make Rust interoperate with C/C++ with full link time optimization. Given GCC is the compiler used to create Linux this is important for the incorperation of Rust in the Kernel.
Details of more changes can be found on GCC 15 Release Series Changes, New Features, and Fixes
GCC 15.1 is available via GCC Releases.
[画像:GCCSQ]
More Information
GCC, the GNU Compiler Collection
GCC 15 Release Series Changes, New Features, and FixesRelated Articles
GNU Compiler Collection 5.1 Released
GnuCOBOL 3.2 Improves Dialect Handling
GNU Manifesto Published Thirty Years Ago
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
Julia 1.12 Adds Trim Feature
03/11/2025
Julia 1.12 has been released with a new trim feature, the ability to redefine structs, and the final switch to partitioned semantics.
The Fuss About Fil-C...
12/11/2025
...is entirely justified. While we all go mad for Rust and its steep learning curve, we may have missed the most important thing to happen to C/C++ since they were invented - Fil-C.
- Jules Coding Agent Upgraded
- Google AI Studio Does Angular
- Europe Gets Its Own LLM
- .NET 10, C# 14 and F# 10 Released Alongside Visual Studio 2026
- George Boole, Boolean Logic and Computing
- AI Champion Ship Now Open
- W3C Adopts A New Logo
- Scouting America Launches AI And Cybersecurity Badges
- Linkerd Adds MCP Support
- Blockly Moving To Raspberry Pi Foundation
- Apple Extends Bug Bounty Program
- Formae Launched As Terraform Alternative
- .NET 10 Final Release Candidate Focuses On MAUI
Comments
or email your comment to: comments@i-programmer.info