GNU Compiler Collection 13.1 has been released, and part of the enhancements of the new version of GCC are the implementation of C++ 23 features and support for Go 1.18 user packages, InfoWorld reports.
A number of C++ 23 features have been introduced in GCC 13, including labels at the end of compound operators, #warning support, and constrained escape sequences. GCC 13 also introduces superprecision 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, providing support for features such as header and std::format.
Other capabilities in the GCC 13 series include:
-GCC 13 integrates a front end for the Modula-2 procedural programming language, previously available separately.
-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.
-The AArch64 hardware target now supports Decimal Floating-Point in the BID format through the lipid 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.
GCC 13 offers a full implementation of the Go 1.18 user packages, but generic programming support, which is the most important feature of Go 1.18, is not yet available in GCC. GCC provides a front end for languages including C, C++, Objective-C, Go, Ada, Fortran, and D, along with libraries.