February 25th, 2025

GCC 15, now with C++ modules support

GCC 15 is in development, enhancing programming languages with updates to OpenMP, C23 as the default standard, and new features for C++, Fortran, AMD GPUs, and AVR optimizations.

Read original articleLink Icon
GCC 15, now with C++ modules support

GCC 15 is currently in development and introduces numerous enhancements across various programming languages and platforms. Notably, support for Nios II targets has been removed, and the AArch64 port has deprecated ILP32 support. The default vectorizer cost model has been improved, and the `-ftime-report` option now reports only monotonic run time. OpenMP has seen significant updates, including support for unified-shared memory on AMD and Nvidia GPUs, and new directives for memory allocation. The C family has transitioned to C23 as the default standard, with several new features and attributes added. C++ has incorporated numerous features from both C++23 and C++26, including improved support for modules and new warning options. Fortran 2023 features have been added, along with experimental support for unsigned integers. Additionally, new target-specific improvements have been made for AMD GPUs and AVR, including new function attributes and optimizations. Overall, GCC 15 aims to enhance performance, compatibility, and usability for developers across multiple programming languages and hardware platforms.

- GCC 15 is still under development and has not been officially released.

- Major improvements include updates to OpenMP, C, C++, and Fortran standards.

- The default language version for C has changed to C23.

- New function attributes and optimizations have been introduced for AVR and AMD GPUs.

- Deprecated features from previous versions have been removed, enhancing overall performance.

Link Icon 2 comments
By @fuhsnn - 2 months
>{0} initializer in C or C++ for unions no longer guarantees clearing of the whole union (except for static storage duration initialization), it just initializes the first union member to zero.

I posted the same link last month to highlight this change. Sadly got flagged.