Il 7 agosto è stato rilasciato GCC 16.2 — la seconda versione stabile della serie GCC 16. La nuova versione è principalmente correttiva: gli sviluppatori la definiscono esplicitamente un bug-fix release, contenente correzioni di regressioni riscontrate in GCC 16.1 rispetto ai rilasci precedenti.
In totale, dopo GCC 16.1 di aprile, sono state corrette 102 errori noti. Le correzioni riguardano diversi componenti del compilatore e architetture supportate; non c'è un singolo cambiamento significativo che definisca questo rilascio.
GCC 16.2 non è un nuovo rilascio funzionale: le principali caratteristiche della serie GCC 16 erano già presenti nel GCC 16.1, rilasciato il 30 aprile. Tra le modifiche più significative di questa serie:
- C++20 è diventato il modo di C++ predefinito invece di GNU++17. Per utilizzare il comportamento precedente è ora necessario specificare esplicitamente il parametro -std=. Il supporto sperimentale per i moduli C++20 è comunque ancora attivato separatamente.
- Continuato l'implementazione C++26, compreso il supporto sperimentale per riflessione statica, contratti, eccezioni constexpr e altre proposte per il futuro standard.
- Nel GCC è stato incluso un compilatore sperimentale per il linguaggio Algol 68 — ga68.
- Per x86 è stato aggiunto il supporto per i processori AMD Zen 6 (-march=znver6), Intel Wildcat Lake e Nova Lake. Migliorata l'autovettorizzazione utilizzando AVX-512.
- Nell'implementazione AArch64 è supportato Armv9.6-A, Apple M4 e M5, NVIDIA GB10 e nuovi core di processori Arm; è stata inoltre aggiunta la possibilità di applicare il Memory Tagging Extension tramite -fsanitize=memtag.
- Per l'offloading su GPU AMD sono stati notevolmente ridotti i carichi aggiuntivi durante l'avvio di aree OpenMP/OpenACC e è stato introdotto il supporto sperimentale per gli acceleratori AMD Instinct MI300 (gfx942).
Pertanto, GCC 16.2 è principalmente destinato agli utenti che desiderano passare alla nuova serie dopo la risoluzione delle regressioni riscontrate dopo il rilascio iniziale. I codici sorgente di GCC 16.2 sono disponibili presso specchi ufficiali del progetto. GCC è distribuito come software libero della famiglia GNU; il codice sorgente principale del compilatore è concesso in licenza sotto GPLv3+, mentre per alcune librerie di runtime si applica GCC Runtime Library Exception.
Fonte: linux.org.ru
