GCC 15.1, the latest release of the GNU Compiler Collection, brings significant enhancements across several programming languages, including Rust, C, C++, and Cobol. Announced on April 25, this release focuses on improving compiler performance, language standard support, and diagnostics capabilities. The update is especially notable for better handling of very large source files, with improved compile times and more accurate error location reporting, making it easier for developers to work with massive codebases.
One of the key technical improvements in GCC 15.1 is in vectorization. The compiler now supports vectorizing loops with early exits, even when the input pointer sizes are unknown, through a technique called peeling for alignment. This enhancement applies to loops with fixed vector lengths, enabling more efficient processing of data in SIMD (Single Instruction, Multiple Data) operations. Additionally, GCC 15.1 introduces the ability to emit diagnostics in multiple formats simultaneously, which can improve tooling support and debugging workflows.
From a language support perspective, GCC 15.1 makes the C compiler default to the latest C23 standard, fully conforming to the new specification. This update marks a major milestone for C developers, as it aligns the compiler with the most recent language developments. Rust support also sees important updates: basic inline assembly support has been added, facilitating compilation of low-level architecture-specific code, and the minimum Rust version requirement has been lowered to 1.49, broadening compatibility. Furthermore, the Rust front end now supports for loops, enhancing code expressiveness.
GCC 15.1 also advances C++ and Cobol support. The C++ front end incorporates several new features from C++26, including attributes for structured bindings and variadic friends, alongside improvements to C++23 conformance and bug fixes. For Cobol, the release introduces gcobol, an ISO-compliant compiler front end, broadening the compiler collection’s reach into business-oriented programming. Together, these updates reflect GCC’s ongoing commitment to supporting a diverse range of programming languages with modern features and robust tooling.