GCC 12.1 mar hore ayaa la sii daayay, ogow warkeeda iyo sannad-guuradii 35aad

Astaanta GNU GCC

Bilaabashada nooca cusub ee iskudubaridiyaha GCC (GNU Compiler Collection) 12.1 mar hore ayaa la sii daayay iyo sida dhammaan siidaynta waaweyn ee GCC, siideyntu waxay keeni doontaa waxyaabo badan oo lagu daro, hagaajin, hagaajinta cayayaanka, iyo astaamo cusub, oo lagu daray bishaan (May 23), mashruucu wuxuu u dabaaldegi doonaa 35 sano tan iyo markii la sameeyay sii deynta kowaad.

GCC 12 ayaa horeyba u ahaa nidaamiyaha nidaamka Fedora 36, ​​iyo GCC 12 ayaa sidoo kale laga heli doonaa Koofiyada Cas ee Linux ee Qalabka Horumarinta Koofiyada Cas (nooca 7) ama Koofiyada Cas GCC Toolset (noocyada 8 iyo 9).

Horumarinta GCC waxay ku hanweyn yihiin inay ku dhawaaqaan siideyn kale oo weyn oo GCC ah, 12.1.

Sannadkan waxaan u dabaaldegaynaa sannad-guuradii 35-aad ee nooca beta-ga koowaad ee GCC
Bishaan waxaan u dabaal dagi doonnaa 35 sano tan iyo markii la sii daayay GCC 1.0!

Siideyntani waxay hoos u dhigaysaa taageerada qaabka STABS qaladka iyo
waxay soo bandhigtaa taageerada qaabka CTF debugging [1]. C iyo C++
interfaces waxay sii wadaan inay hore u sii socdaan iyagoo la ballaariyay taageerada sifooyinka
Heerarka C2X iyo C++23 ee soo socda iyo Maktabadda Heerka C++
waxay wanaajisaa taageerada qaybaha tijaabada ee C++20 iyo C++23.
Interface-ka Fortran hadda wuxuu si buuxda ugu hoggaansamay TS 29113 ee la shaqaynta C.

Maxaa ka cusub GCC 12.1?

Qaabkan cusub Dhowr soo jeedin ayaa la fuliyay, sida luqadaha C iyo C++, ayaa lagu daray shaqayn ku dhex jirta __builtin_dynamic_object_size si loo go'aamiyo cabbirka shay, la jaan qaada shaqo la mid ah Clang.

Lagu daray taageerada sifada "aan la heli karin" ee luqadaha C iyo C++ (tusaale ahaan, waxaad calaamadin kartaa hawlaha keeni doona qalad marka la isticmaalo), iyo sidoo kale taageerada lagu daray "#elifdef" iyo "#elifndef" dardaaranka horudhaca ah ee luqadaha C iyo C++.

Waxaa sidoo kale lagu xusay in Calan "-Wbidi-chars" si looga digtoonaado haddii UTF-8 jilayaasha si khaldan loo isticmaalo, Beddelida habka soo bandhigida qoraalka laba jiho, iyo sidoo kale "-Warray-compare" calanka si loo soo saaro digniin marka la isku dayo in la is barbar dhigo laba hawlgal oo tixraacaya arrays.

Intaa waxaa dheer, iHirgelinta heerarka OpenMP 5.0 iyo 5.1 (Open Multi-Processing), kaas oo qeexaya API-yada iyo hababka lagu dabaqo hababka barnaamijka barbar-dhigga ee nidaamyada multicore iyo hybrid (CPU + GPU / DSP) ee leh unugyada xusuusta iyo unugyada vectorization (SIMD), ayaa la sii waday.

Sidoo kale dhaqangelinta barnaamijka OpenACC 2.6 ee qeexitaanka barnaamijka barbar socda, Qeexidda siyaabaha lagu dejin karo hawlaha GPU-yada iyo soo-saareyaasha gaarka ah sida NVIDIA PTX; iyo ku darida taageerada Intel AVX512-FP16 tilmaamaha la dheereeyay iyo nooca _Float16 ee jiilka x86 code.

Qaybta hore ee Fortran waxay si buuxda u taageertaa qeexitaanka TS 29113, kaas oo qeexaya fursadaha lagu hubinayo la qaadi karo inta u dhaxaysa Fortran iyo code C.

Taageerada la dhimay ee qaabka kaydinta macluumaadka "STABS" ee la sameeyay 1980-tii.

Taageerada lagu daray __builtin_shufflevector(vec1, vec2, index1, index2, …) kordhin horay loogu daray Clang, kaas oo bixiya hal wicitaan oo lagu sameeyo isku shaandhaynta iyo isku shaandhaynta vector-ka caadiga ah.

Marka la isticmaalayo heerka "-O2" hagaajinta, vectorization waa la karti si default (the -ftree-vectorize iyo -fvect-cost-model=hababka aad u jaban waa la dajiyay). Qaabka "aad u jaban" wuxuu ogolaanayaa vectorization kaliya haddii code vector uu si buuxda u bedeli karo code scalar vectorizable.

Habka "-ftrivial-auto-var-init" lagu daray si loo suurtageliyo bilowga doorsoomayaasha cad ee xirmada si ay ula socdaan arrimaha loogana hortago dayacanka la xiriira isticmaalka doorsoomayaasha aan la aqoon.

ayaa lagu daray hirgelinta hawlaha C ee ku dhex jira iskudubbaridka (Intrinsics) ee rarista atomiga iyo kaydinta xogta ee xusuusta, oo ku saleysan adeegsiga tilmaamaha ARM ee la fidiyay (ls64). Taageero lagu daray dardargelinta memcpy, memmove, iyo memset-ka iyadoo la isticmaalayo kordhinta mopoption ARM.

Lagu daray qaabka xaqiijinta cusub "-fsanitize=shadow-call-stack" ( ShadowCallStack ), Kaas oo hadda kaliya loo heli karo naqshadaha AArch64 oo ka shaqeeya marka la ururinayo koodka xulashada "-fixed-r18". Habkani waxa uu ka ilaaliyaa in dib loo qoro ciwaanka soo celinta shaqada haddii ay dhacdo in kaydka kaydku buux dhaafiyo. Nuxurka ilaalintu waa in la keydiyo ciwaanka soo celinta ee xirmo "hadhka" gaar ah ka dib wareejinta xakamaynta shaqada iyo in la soo celiyo ciwaanka ka hor inta aan shaqada laga bixin.

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


Ka tag faalladaada

cinwaanka email aan la daabacin doonaa. Beeraha loo baahan yahay waxaa lagu calaamadeeyay la *

*

*

  1. Ka mas'uul ah xogta: AB Internet Networks 2008 SL
  2. Ujeedada xogta: Xakamaynta SPAM, maaraynta faallooyinka.
  3. Sharci: Oggolaanshahaaga
  4. Isgaarsiinta xogta: Xogta looma gudbin doono dhinacyada saddexaad marka laga reebo waajibaadka sharciga ah.
  5. Kaydinta xogta: Macluumaadka ay martigelisay Shabakadaha Occentus (EU)
  6. Xuquuqda: Waqti kasta oo aad xadidi karto, soo ceshan karto oo tirtiri karto macluumaadkaaga.