7. augustā notika GCC 16.2 izlaišana — otrais stabilais GCC 16. sērijas izlaidums. Jaunā versija ir galvenokārt labošanas rakstura: izstrādātāji to sauc par bug-fix release, kurā ir iekļautas labojumi regresijām, kas konstatētas GCC 16.1 salīdzinājumā ar iepriekšējiem izlaidumiem.
Kopumā pēc aprīļa GCC 16.1 tika izlabotas 102 zināmas kļūdas. Labojumi attiecas uz dažādiem kompilatora komponentiem un atbalstītajām arhitektūrām; nav neviena liela izmaiņu, kas noteiktu šo izlaidumu.
GCC 16.2 nav jauns funkcionālais izlaidums: galvenās iespējas GCC 16 sērijā parādījās jau GCC 16.1, kas tika izlaists 30. aprīlī. Starp acīmredzamākajām izmaiņām šajā sērijā ir:
- C++20 ir kļuvis par noklusējuma C++ režīmu aizstājot GNU++17. Lai izmantotu iepriekšējo uzvedību, tagad ir nepieciešams skaidri norādīt atbilstošo parametru -std=. Eksperimentālā atbalsta C++20 moduļiem joprojām nepieciešama atsevišķa iekļaušana.
- Turpināta C++26, tostarp eksperimentālā statiskā refleksija, līgumi, constexpr-izņēmumi un citas nākotnes standarta priekšlikumi.
- GCC iekļauj eksperimentālu valodas kompilatoru Algol 68 — ga68.
- x86 arhitekturām pievienota atbalsts procesoriem AMD Zen 6 (-march=znver6), Intel Wildcat Lake un Nova Lake. Uzlabota automātiskā vektorizācija, izmantojot AVX-512.
- AArch64 realizācijā ir iekļauts atbalsts Armv9.6-A, Apple M4 un M5, NVIDIA GB10 un jaunajiem Arm kodoliem; papildus pievienota iespēja izmantot Memory Tagging Extension ar -fsanitize=memtag.
- Lai izpildītu GPU AMD, ievērojami samazinātas pārvaldības izmaksas OpenMP/OpenACC reģionu palaišanai un ir pieejams eksperimentālais atbalsts akseleratoriem AMD Instinct MI300 (gfx942).
Tādējādi GCC 16.2 vispirms ir paredzēts lietotājiem, kuri vēlas pāriet uz jauno sēriju pēc atklātajām regresijām, kas konstatētas pēc sākotnējā izlaišanas. GCC 16.2 avota kodi ir pieejami oficiālajos projekta spoguļos. GCC tiek izplatīts kā brīva programmatūra GNU ģimenē; galvenais kompilatora kods ir licencēts saskaņā ar GPLv3+, bet vairākām runtime bibliotēkām tiek lietota GCC Runtime Library Exception.
Avots: linux.org.ru
