I-GCC 12.1 sele ikhutshiwe, yazi iindaba zayo kunye nesikhumbuzo sayo se-35th

Ilogo yeGNU GCC

Ukuphehlelelwa inguqulelo entsha yomqokeleli GCC (GNU Compiler Collection) I-12.1 yayisele ikhululiwe kwaye njengako konke ukukhutshwa okukhulu kwe-GCC, oku kukhululwa kuya kuzisa izongezo ezininzi, ukuphuculwa, ukulungiswa kwe-bug, kunye neempawu ezintsha, kunye nale nyanga (ngoMeyi 23), iprojekthi iya kubhiyozela iminyaka eyi-35 ukususela ekubunjweni kokukhululwa kokuqala.

I-GCC 12 sele ingumqokeleli wenkqubo ye-Fedora 36, ​​kwaye i-GCC 12 iya kufumaneka kwakhona kwi-Red Hat Enterprise Linux ukusuka kwi-Red Hat Developer Toolset (uguqulelo 7) okanye i-Red Hat GCC Toolset (iinguqulelo 8 kunye ne-9).

Abaphuhlisi be-GCC banebhongo ngokubhengeza enye inkupho enkulu ye-GCC, i-12.1.

Kulo nyaka sibhiyozela isikhumbuzo seminyaka engama-35 yenguqulelo yokuqala ye-beta ye-GCC
Kwaye kule nyanga siya kubhiyozela iminyaka engama-35 ukususela ekukhululweni kwe-GCC 1.0!

Oku kukhutshwa kuwisa inkxaso ye-STABS yolungiso lweempazamo kunye
yazisa inkxaso yolungiso lwe-CTF [1]. I-C kunye ne-C ++
ujongano luqhubela phambili ngenkxaso eyandisiweyo yeempawu
kwimigangatho ezayo yeC2X kunye neC ++23 kunye neThala leeNcwadi eliMgangatho leC ++
iphucula inkxaso yeendawo zovavanyo zeC ++20 kunye neC ++23.
Ujongano lweFortran ngoku luhambelana ngokupheleleyo ne-TS 29113 yokusebenzisana neC.

Yintoni entsha kwi-GCC 12.1?

Kule nguqulo intsha Ziliqela izindululo eziphunyeziweyo, njengeelwimi C kunye noC ++, zongezwa umsebenzi owakhelwe-ngaphakathi __buildin_dynamic_object_size ukumisela ubungakanani bento, iyahambelana nomsebenzi ofanayo weClang.

Yongezwe inkxaso yophawu "olungafumanekiyo" lwe C kunye ne C++ iilwimi (umzekelo, unokumakisha imisebenzi eya kubangela imposiso xa isetyenziswa), kunye nenkxaso ye-"#elifdef" kunye ne-"#elifndef" izikhokelo zokucubungula kwangaphambili kwiilwimi ze-C kunye ne-C++.

Kukwaphawulwe ukuba "-Wbidi-chars" iflegi ukulumkisa ukuba iimpawu ze-UTF-8 zisetyenziswe kakubi, ukutshintsha i-bidirectional text order display order, kunye ne "-Warray-compare" iflegi ukukhupha isilumkiso xa uzama ukuthelekisa ii-operands ezimbini ezibhekiselele kwii-arrays.

Ukongeza, iUkuphunyezwa kwe-OpenMP 5.0 kunye nemigangatho ye-5.1 (Vula i-Multi-Processing), echaza ii-APIs kunye neendlela zokusebenzisa iindlela zeprogram ezifanayo kwiinkqubo ze-multicore kunye ne-hybrid (CPU + GPU / DSP) kunye nememori ekwabelwana ngayo kunye neeyunithi ze-vectorization (SIMD), zaqhubeka.

Kwakhona ukuphunyezwa okuphuculweyo kwe-OpenACC 2.6 ingcaciso yenkqubo efanayo, ichaza iindlela zokukhupha imisebenzi kwii-GPU kunye neeprosesa ezikhethekileyo ezifana ne-NVIDIA PTX; kunye nokongeza inkxaso ye-Intel AVX512-FP16 imiyalelo eyandisiweyo kunye nohlobo lwe-_Float16 kwi-x86 ikhowudi yokuvelisa umva.

I-Fortran front-end inikezela ngenkxaso epheleleyo kwinkcazo ye-TS 29113, echaza amathuba okuqinisekisa ukuphatheka phakathi kwekhowudi ye-Fortran kunye ne-C.

Inkxaso eyehliweyo ye-"STABS" yokulungiswa kwefomathi yokugcina ulwazi eyenziwe ngo-1980.

Inkxaso eyongeziweyo ye-__builtin_shufflevector(vec1, vec2, index1, index2, ...) eyongezwe ngaphambili kwi-Clang, ebonelela ngomnxeba omnye wokwenza ushuffle wevektha eqhelekileyo kunye nokushuffle imisebenzi.

Xa usebenzisa i-"-O2" inqanaba lokuphucula, i-vectorization ivuliwe ngokungagqibekanga (i- -ftree-vectorize kunye ne -fvect-cost-model=iimowudi ezitshiphu kakhulu ziyasebenza). Imodeli "engabizi kakhulu" ivumela i-vectorization kuphela ukuba ikhowudi ye-vector inokutshintsha ngokupheleleyo ikhowudi ye-scalar ye-vectorizable.

Kongezwe "-ftrivial-auto-var-init" indlela ukwenza ukuba uqalise ukuguquguquka okucacileyo kwisitaki ukulandelela imiba kunye nokuthintela ubuthathaka obunxulunyaniswa nokusetyenziswa kwezinto eziguquguqukayo ezingaqaliswanga.

Yongeza i ukuphunyezwa kwemisebenzi C eyakhelwe kumqokeleli (I-Intrinsics) yokulayisha i-athomu kunye nokugcinwa kwedatha kwimemori, ngokusekelwe ekusebenziseni imiyalelo eyandisiweyo ye-ARM (ls64). Inkxaso eyongeziweyo yokukhawulezisa i-memcpy, i-memmove, kunye nemisebenzi ye-memset usebenzisa i-ARM mopoption extension.

Yongezwe imowudi entsha yokuqinisekisa "-fsanitize=i-shadow-call-stack" ( ShadowCallStack ), ekhoyo ngoku kuphela kwi-architecture ye-AArch64 kwaye isebenza xa iqulunqa ikhowudi kunye "-fixed-r18" ukhetho. Imowudi ibonelela ngokhuseleko ekubhaleni kwakhona idilesi yokubuyisela yomsebenzi kwimeko yokuphuphuma kwebuffer. Ingundoqo yokukhusela kukugcina idilesi yokubuyisela kwi-stack "isithunzi" esahlukileyo emva kokudluliselwa kolawulo kumsebenzi kunye nokubuyisela le dilesi ngaphambi kokuba uphume umsebenzi.

Umthombo: https://gcc.gnu.org/pipermail


Shiya uluvo lwakho

Idilesi yakho ye email aziyi kupapashwa. ezidingekayo ziphawulwe *

*

*

  1. Inoxanduva lwedatha: I-AB Internet Networks 2008 SL
  2. Injongo yedatha: Ulawulo lwe-SPAM, ulawulo lwezimvo.
  3. Umthetho: Imvume yakho
  4. Unxibelelwano lwedatha: Idatha ayizukuhanjiswa kubantu besithathu ngaphandle koxanduva lomthetho.
  5. Ukugcinwa kweenkcukacha
  6. Amalungelo: Ngalo naliphi na ixesha unganciphisa, uphinde uphinde ucime ulwazi lwakho.