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

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
Deavmi (CC BY-SA 3.0)

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.

Copyright © 2023 IDG Communications, Inc.