Paul Krill
Editor at Large

GCC 13 compiler collection backs C++ 23, Go 1.18

news
May 1, 20232 mins

Highlights of the major GCC release include support for C 23 and C++ 23 features and full support of Go 1.18 user packages, but not generic programming.

compiling compiler code
Credit: Deavmi

GNU Compiler Collection 13.1 has been released. Among the many improvements in this major new version of GCC are implementations of C++ 23 features and backing for Go 1.18 user packages. However, Go generics are not yet supported.

Published April 26, the GCC 13 source release can be downloaded from gcc.gnu.org. GCC release series notes can be found there as well.

GCC 13 implements a number of C++ 23 features including labels at the end of compound statements, support for #warning, and delimited escape sequences. GCC 13 also introduces excess precision support for C++, which has been available in C since GCC 4.5. Experimental support for C++ 20 in the C++ standard library has been improved, with backing for features such as <format> header and std::format.

GCC 13 offers a complete implementation of Go 1.18 user packages. But support for generic programming, featured as the highlight of Go 1.18, is not available in GCC.  GCC provides front ends for languages including C, C++, Objective-C, Go, Ada, Fortran, and D, along with libraries.

Other capabilities in the GCC 13 series include the following:

  • GCC 13 integrates a front end for the Modula-2 procedural programming language, previously available separately. This lays the foundation for a front end for Rust in a future release.
  • For the C family, new function attributes are offered for documenting int arguments that are file descriptors. Also for the C family, GCC now can control when to treat the trailing array of a structure as a flexible array member for the purpose of accessing elements of such an array.
  • Finalization now is supported for Fortran.
  • The AArch64 hardware target now supports Decimal Floating-Point in the BID format through the libbid library.
  • For the AMD Radeon (GCN) GPU target, SIMD vectorization has been improved.
  • GCC’s static analyzer has been improved with 20 new kinds of warnings.
  • For plugin authors, GCC diagnostics now can be associated with rules such as from coding standards documents or specifications.
Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author