I-GCC 15.1 igxumela ku-C23 futhi yengeza ukuthuthukiswa kwe-C++, ukulungiselelwa, nokunye okwengeziwe.

gcc

Ngemva konyaka wokuthuthuka okukhulu, ukukhishwa kwenguqulo entsha ye-"GCC 15.1" imenyezelwe, ebekwe njengenguqulo yokuqala ezinzile ngaphakathi kwegatsha elisha le-15.x lale suite yeqoqo elidumile lomthombo ovulekile.

Lokhu kukhululwa akugcini nje ngokuthula ngokusemthethweni uchungechunge olusha lwe-GCC 15, kodwa futhi kuphawula ukuqala kwamalungiselelo okuthuthukiswa kwe-GCC 16, njengoba igatsha le-16.0 lifakwe ngemfoloko ngokufana futhi lizobeka isisekelo sokukhishwa okukhulu okulandelayo, i-GCC 16.1.

Izici ezisha ze-GCC 15.1

Olunye lwezinguquko eziphawuleka kakhulu kule nguqulo entsha ukuthi i-GCC 15.1 yamukela izinga le-C23 njengokuzenzakalelayo ekuhlanganiseni ikhodi C, usebenzisa inketho -std=gnu23. Lesi sibuyekezo singena esikhundleni sezinga langaphambilini elisetshenziswe ngokuzenzakalelayo, i-C17 (-std=gnu17), futhi sethula inani lezici ezintsha zezinga elisha. Phakathi kwazo kukhona constant nullptr, uhlobo _BitInt(n), kanye namagama angukhiye bool, true, and false, okungase kubangele ukungqubuzana nezihlonzi ezikhona kukhodi yefa.

Esinye isici esisha i-GCC 15.1 esihlanganisayo yi- #shumeka umyalo wokushumeka idatha kanambambili, kanye nezibaluli ezifana nokungalandelani nokukhiqizeka kabusha, okunikeza ukulawula okukhulu kuhlelo lokwenziwa nokunqunywa kwemiphumela engaguquki. Ukwengeza, izici zezinga le-C2Y lesikhathi esizayo ziye zasetshenziswa, njengokuhluka okumenyezelwe phakathi kwezimo, ububanzi bevelu ezitatimendeni zezehlakalo, izijobelelo ezicatshangelwayo u-i no-j, nokusekelwa kwabasebenzisi ++ kanye — kusetshenziswe ezinombolweni eziyinkimbinkimbi.

Ukuthuthukiswa kwe-C++ nekusasa C++26

Endabeni yolimi lwe-C++, inguqulo entsha ye I-GCC 15.1 isebenzisa izici okuxoxwa ngazo ngezinga le-C++26, njengoba izici ezintsha zethulwa njenge-opharetha "yomngane", ukusetshenziswa kwe-constexpr enokuhlukahluka kwesisebenzisi esisha, kanye nokuthuthukiswa kwe-syntax yezixhumanisi ezihlelekile nezibaluli ezifana ne- musttail ukuze kuqinisekiswe ukuphindaphinda komsila.

Ukusekelwa kwe-C++23 nakho kunwetshiwe ngemithetho emisha yokusebenzisa ukuthekelisa, ukuthuthukiswa ekuphatheni izinto zesikhashana, kanye nokusetshenziswa kokuhlola kwamamojula we-std kanye ne-std.compat ku-libstdc++. Ukwengeza, ukuvikeleka kuyaqiniswa ekuqaliseni inyunyana futhi ukuhlanganiswa kwekhodi kuyathuthukiswa ngenxa yesistimu ye-hashing yesifanekiso esebenza kahle kakhudlwana.

Izexwayiso ezintsha nokuthuthukiswa ekuhlaziyeni okumile

Uhlelo lwe Ukuhlaziywa okumile kuthole ukuklanywa kabusha okubonakalayo egqamisa izinkinga ngezimpawu, Amathiphu okuthuthela ku-C23, kanye nelabhulali entsha ye-libgdiagnostics okuvumela ukusetshenziswa kabusha kwe-diagnostic logic kwamanye amaphrojekthi. Ukwesekwa kokukhiqiza imibiko ngefomethi ye-SARIF nakho kwethulwa, okusiza ukuhlanganiswa namathuluzi esimanje okuhlaziya amakhodi.

At Izixwayiso ezikhona zengezwa kwezintsha, njenge-I-Wanalyzer-undefined-behaviour-ptrdiff ukubona ukususa phakathi kwezikhombisi ezingahlobene, -Wtrailing-whitespace kanye -Wleading-whitespace ukukhombisa indawo emhlophe engadingekile, futhi -I-Wheader-guard ukuthola amaphutha ekuvikelweni kokufakwa kwesihloko.

Ukuthuthukisa nokusekelwa

Phakathi kokulungiselelwa okuphawulekayo, Imodi yokuhlanganisa ekhuphukayo ye-LTO ifakiwe (I-Link-Time Optimization), edizayinelwe ukusheshisa ukubuyiswa kabusha lapho izinguquko zizincane. Futhi i-loop vectorization iyathuthukiswa, ngisho nasezimeni lapho usayizi wamalungu afanayo ungaziwa ngesikhathi sokuhlanganiswa, futhi kwandisa isivinini sokuhlanganisa amafayela amakhulu kakhulu.

Ngasohlangothini lokusekela, izandiso ze-ARMv64 zengezwe ku-AArch8, ukusekelwa kwama-CPU amasha afana ne-Apple M3, I-Cortex-X925 kanye ne-NVIDIA Grace, futhi inweba inkundla ye-MinGW. Ukukhiqizwa kwekhodi ye-AMD Radeon GPUs kuqiniswa nge Usekelo lokuhlola lochungechunge olusha lwe-GFX9, GFX10.3, ne-GFX11. Ngokwakheka kwe-x86, ukusekelwa kwe-AVX10.2 nemiyalo emisha ye-AMX kunikwe amandla, futhi ukusekelwa kwe-Xeon Phi Knights kuyekwa.

Futhi, I-GCC 15.1 yethula umdidiyeli we-COBOL (gcobol), ngokusekelwa kwezakhiwo ze-x86-64 ne-AArch64, kanye nokusetshenziswa okubuyekeziwe kolimi D (inguqulo 2.111.0). Ukusekelwa kwama-integers angabhalisiwe e-Fortran kwengeziwe, futhi ukwamukelwa kwe-OpenMP 5.0 kuya ku-6.0 sekuthuthukisiwe, okuhlanganisa ukuthuthukiswa kokusebenzisana nokusetshenziswa kwememori okuhlanganisiwe kuma-GPU.