Siideynta GCC 13 compiler suite

Ka dib hal sano oo horumarineed, sii deynta GCC 13.1 compiler suite ee bilaashka ah ayaa la sii daayay, siideynta ugu horreysa ee muhiimka ah ee laanta cusub ee GCC 13.x. Sida ku cad nidaamka cusub ee nambarada sii deynta, nooca 13.0 ayaa la isticmaalay intii lagu jiray horumarinta, wax yar ka hor inta aan la sii dayn GCC 13.1, laanta GCC 14.0 waa la siidaayay, kaas oo sii daynta xigta ee muhiimka ah ee GCC 14.1 la samayn doono.

Isbeddellada ugu waaweyn:

  • GCC waxay qaadatay waji hore oo lagu dhisayo barnaamijyada luuqada barnaamijka Modula-2. Waxay taageertaa koodka dhismaha ee waafaqsan lahjadaha PIM2, PIM3, iyo PIM4, iyo sidoo kale heerka ISO ee la aqbalay luqaddaas.
  • Jidh hore oo leh hirgalinta isku xidhka luuqada Rust ee uu diyaariyay mashruuca gccrs (GCC Rust) ayaa lagu daray geedka isha GCC. Aragtida hadda jirta, fortend-ka waxa loo calaamadeeyay sidii tijaabo ahaan oo naafo ahaan. Marka horudhacu diyaar yahay (la filayo sii daynta soo socota), qalabka caadiga ah ee GCC waxa loo isticmaali karaa in lagu ururiyo barnaamijyada Rust iyada oo aan loo baahnayn in la rakibo compiler rustc oo la dhisay iyadoo la adeegsanayo horumarinta LLVM.
  • Isku xidhka-Tallaabada Horumarinta (LTO) waxay ku darsataa taageerada server-ka shaqada (shaqaale) ee ay hayso GNU samaynta mashruuca si loo wanaajiyo fulinta isbarbardhigga ee isku xira dhowr qaybood. GCC gudaheeda, server-ka waxaa loo isticmaalaa in lagu barbar dhigo shaqada inta lagu jiro wanaajinta LTO ee macnaha guud ee barnaamijka oo dhan (WPA, Falanqaynta Barnaamijka oo dhan). Tuubooyinka magacaaban (--jobserver-style=fifo) ayaa si caadi ah loo isticmaalaa si ay ula falgalaan adeegaha shaqada.
  • Falanqeeyaha joogtada ah (-fanalyzer) wuxuu bixiyaa 20 baaritaan oo cusub oo ogaanshaha, oo ay ku jiraan "-Wanalyzer-out-of-bounds", "-Wanalyzer-location-size", "-Wanalyzer-deref-kahor-hubinta", "-Wanalyzer- aan xad lahayn -soo noqnoqoshada" -Wanalyzer-ka-bood-maro-null", "-Wanalyzer-va-list-leak".
  • Awoodda soo saarista ogaanshaha ee qaabka SARIF ee ku salaysan JSON waa la hirgeliyay. Qaabka cusub waxa loo isticmaali karaa in lagu helo natiijooyinka falanqaynta taagan (GCC -fanalyzer), iyo sidoo kale in lagu helo macluumaadka digniinaha iyo khaladaadka. Awood-siinta waxa lagu sameeyaa ikhtiyaarka "-fdiagnostics-format=sarif-stderr|sarif-file|json-stderr|json|json-file", halkaas oo ikhtiyaarada leh "json" ay ka soo baxaan kala duwanaanshaha gaarka ah ee GCC ee qaabka JSON .
  • Hirgaliyay qaar ka mid ah sifooyinka lagu qeexay heerka C23 C, sida nullptr joogto ah si loo qeexo tilmaamayaasha null, taasoo sahlaysa in la isticmaalo liisaska leh tiro doorsooma oo doodo ah (variadic), kordhinta awoodaha enums, sifada noreturn, oggolaanshaha isticmaalka constexpr iyo auto marka la qeexayo walxaha, nooca iyo typeof_unqual, keywords cusub alignas, alignof, bool, false, static_assert, thread_local iyo run, u ogolow khannada madhan marka la bilaabayo.
  • Hirgaliyay qaar ka mid ah sifooyinka lagu qeexay heerka C++23, sida awooda dhigista calaamadaha dhamaadka tibaaxaha isku dhafan, waafaqid nooca char8_t, dardaaranka horudhaca digniinta, oo ay xadiday (\u{}, \o{}) , \x{}), oo lagu magacaabo ('\N{XAAFADA CAASIMADA LATIN A}') taxanaha baxsadka, hawlwadeenka taagan[], hawlwadeenka sinnaanta ee tibaaxaha, marka laga reebo qaar ka mid ah xaddidaadaha isticmaalka constexpr, taageero UTF-8 ee qoraallada isha.
  • Taageerada tijaabada ah ee la hagaajiyay ee heerarka C++20 iyo C++23 ee libstdc++, sida ku darista taageerada faylka madaxa iyo std :: qaabka, awoodaha faylka madaxa oo la fidiyay , Noocyo badan oo dul sabeynaya oo lagu daray, faylasha madaxa waa la fuliyay Iyo .
  • Waxaa lagu daray sifooyin shaqo oo cusub si loo diiwaangeliyo in sharraxaadda feylku uu ku gudbay doorsoome isugeyn: "__ sifo__((fd_arg(N)))", "__sifada__((fd_arg_read(N)))",iyo"__sifo__((fd_arg_write(N) ))" Sifooyinka la cayimay waxaa loo isticmaali karaa falanqeeye taagan (-fanalyzer) si loo ogaado shaqada khaldan ee sharraxayaasha faylka.
  • Sifada cusub "__ sifada__((malaha (EXPR)))" ayaa lagu daray, taas oo aad u sheegi karto iskudubariduhu in tibaaxuhu run yahay oo ururiyehu uu isticmaali karo xaqiiqadan isaga oo aan qiimaynayn odhaahda.
  • Lagu daray "-fstrict-flex-arrays=[level]" calanka si loo xusho hab-dhaqanka marka la farsameynayo curiyaha diyaarinta dabacsan ee qaab-dhismeedka ").
  • Lagu daray "-Wenum-int-mismatch" calanka si loo soo saaro digniino haddii ay jirto is-waafajin u dhexeeya nooca la tiriyey iyo nooca isugeynta.
  • Qaybta hore ee Fortran waxay leedahay taageero buuxda dhamaystirka.
  • Taageerada shaqooyinka guud iyo noocyada (generics) ayaa lagu daray afka hore ee Go, iyo waafaqid xirmooyinka luqadda Go 1.18 waa la hubiyay.
  • AArch64 dhabarka dambe wuxuu taageeraa CPU Ampere-1A (ampere1a), Arm Cortex-A715 (kortex-a715), Arm Cortex-X1C (kortex-x1c), Arm Cortex-X3 (kortex-x3), iyo Arm Neoverse V2 (neoverse -v2) . Taageerada "armv9.1-a", "armv9.2-a", iyo "armv9.3-a" doodaha ayaa lagu daray "-march="doorashada. Taageero lagu daray FEAT_LRCPC, FEAT_CSSC iyo FEAT_LSE2 processor-ka kordhinta.
  • Taageerada STAR-MC1 (star-mc1), Arm Cortex-X1C (kortex-x1c), iyo Arm Cortex-M85 (kortex-m85) CPUs ayaa lagu daray gadaasha dhismaha ARM.
  • Taageerada Intel Raptor Lake, Meteor Lake, Sierra Forest, Grand Ridge, Emerald Rapids, Granite Rapids, iyo AMD Zen 86 (znver4) soo-saareyaal ayaa lagu daray x4 dhabarka. AVX-IFMA, AVX-VNNI-INT8, AVX-NE-CONVERT, CMPccXADD, AMX-FP16, PREFETCHI, RAO-INT, iyo AMX-COMPLEX tilmaanta waxay dejiyeen kordhinta qaab dhismeedka la soo jeediyay soo-saareyaasha Intel waa la hirgeliyay. C iyo C++ ee nidaamyada leh SSE2, nooca __bf16 ayaa la bixiyaa.
  • Jiilka koodhka dhabarka dambe ee AMD Radeon GPUs (GCN) waxay fulisaa awoodda adeegsiga AMD Instinct MI200 dardargeliyayaasha si loo horumariyo waxqabadka OpenMP/OpenACC. Faleebo la hagaajiyay iyadoo la adeegsanayo tilmaamaha SIMD.
  • Awoodaha dhabarka ee si weyn loo ballaariyey ee madal LoongArch.
  • Taageero lagu daray CPU T-Head's XuanTie C906 (thead-c906) ee RISC-V gadaasha dambe. Taageerada la hirgaliyay ee kuwa gacanta ku haya ee lagu qeexay RISC-V Vector Extension Intrinsic 0.11. Taageero lagu daray 30 RISC-V kordhinta qeexitaanka
  • Marka la abuurayo walxo la wadaago ikhtiyaarka "-shared", koodhka bilawga ah laguma darin ka dib marka lagu daro jawi sabbaynaya haddii "-Ofast", "-ffast-math", ama "-funsafe-math-optimizations" hagaajinta la karti .
  • Taageerada qaabka qaladka DWARF waxaa lagu fuliyaa ku dhawaad ​​dhammaan qaabeynta.
  • Lagu daray "-gz=zstd" ikhtiyaar si loo cadaadiyo macluumaadka cilladaha iyadoo la adeegsanayo algorithmamka Zstandard. Taageerada meesha laga saaray habka isku-buufinta macluumaadka cilladaha ee go'ay "-gz=zlib-gnu".
  • Taageerada bilowga ah ee OpenMP 5.2 (Open Multi-Processing) ayaa lagu daray iyo hirgelinta heerarka OpenMP 5.0 iyo 5.1 waa la sii waday, taasoo qeexaysa API-yada iyo hababka loo adeegsado hababka barnaamijka isku midka ah ee nidaamka multi-core iyo hybrid (CPU + GPU / DSP). Unugyada xusuusta iyo xididdada la wadaago (SIMD).
  • Taageerada qaabka kaydinta macluumaadka dhaxalka ee "STABS" (waxaa karti u leh -gstabs iyo -gxcoff fursadaha), oo la sameeyay 1980-meeyadii oo loo adeegsaday debugger dbx, waa la joojiyay.
  • Taageerada go'day ee Solaris 11.3 (koodka lagu taageerayo goobtan ayaa laga saari doonaa siidaynta mustaqbalka).

Source: opennet.ru

Add a comment