7. august ble utgitt GCC 16.2 — den andre stabile utgivelsen av GCC 16. Den nye versjonen er primært rettet mot feilretting: utviklerne beskriver den som en bug-fix release, som inneholder rettelser av regresjoner oppdaget i GCC 16.1 i forhold til tidligere utgivelser.
Totalt ble det etter den aprilutgitte GCC 16.1 rettet 102 kjente feil. Rettelsene berører ulike komponenter av kompilatoren og støttede arkitekturer; det er ikke noe enkelt stort endring som definerer utgivelsen.
GCC 16.2 er ikke en ny funksjonsutgivelse: de viktigste funksjonene i GCC 16 ble introdusert allerede i GCC 16.1, som ble utgitt 30. april. Blant de mest bemerkelsesverdige endringene i denne grenen:
- C++20 har blitt standard C++ modus i stedet for GNU++17. For å bruke det tidligere atferden må man nå eksplisitt angi den aktuelle parameteren -std=. Eksperimentell støtte for C++20-moduler er fortsatt aktivert separat.
- Implementeringen av C++26, inkludert eksperimentell statisk refleksjon, kontrakter, constexpr-unntak og andre forslag til fremtidige standarder, har fortsatt.
- Et eksperimentelt språkkompilator er inkludert i GCC, Algol 68 — ga68.
- For x86 er det lagt til støtte for prosessorene AMD Zen 6 (-march=znver6),Intel Wildcat Lake og Nova Lake. Automatisk vektorisering er forbedret ved bruk av AVX-512.
- Støtte for AArch64 har fått implementert Armv9.6-A,Apple M4 og M5, NVIDIA GB10 og nye prosessorkjerner fra Arm; det er også lagt til mulighet for å bruke Memory Tagging Extension via -fsanitize=memtag.
- For offloading til GPU har AMD betydelig redusert overhead ved oppstart av OpenMP/OpenACC områder og det er lagt til eksperimentell støtte for akseleratorer, AMD Instinct MI300 (gfx942).
Dermed er GCC 16.2 først og fremst ment for brukere som ønsker å oppgradere til den nye grenen etter å ha løst oppdagede regresjoner etter den opprinnelige utgivelsen. Kildekodene for GCC 16.2 er tilgjengelige på de offisielle speilene av prosjektet. GCC distribueres som programvare under GNU; hovedkoden til kompilatoren er lisensiert under GPLv3+, mens det er brukt GCC Runtime Library Exception for flere runtime-biblioteker.
Kilde: linux.org.ru
