Scaoileadh sraith tiomsaitheoirí GCC 13

Tar éis bliana forbartha, tá an sraith tiomsaitheoir saor in aisce GCC 13.1 scaoilte, an chéad scaoileadh suntasach i mbrainse nua GCC 13.x. De réir na scéime uimhrithe nua scaoilte, baineadh úsáid as leagan 13.0 sa phróiseas forbartha, agus go gairid roimh scaoileadh GCC 13.1, bhí brainse GCC 14.0 tar éis brainse cheana féin, óna ndéanfaí an chéad mhórscaoileadh eile, GCC 14.1, a fhoirmiú.

Athruithe móra:

  • Cuimsíonn GCC tosaigh chun cláir a chur le chéile i dteanga ríomhchlárúcháin Modula-2. Tacaítear le cóimeáil na gcód a fhreagraíonn do na canúintí PIM2, PIM3 agus PIM4, chomh maith leis an gcaighdeán ISO a nglactar leis do theanga ar leith.
  • Cuireadh críoch tosaigh le cur i bhfeidhm an tiomsaitheora teanga Rust arna ullmhú ag an tionscadal gccrs (GCC Rust) le crann foinse an GCC. Ina fhoirm reatha, tá an foirceann tosaigh marcáilte mar thurgnamhach agus díchumasaithe de réir réamhshocraithe. Nuair a bheidh an t-éadan réidh (a bhfuiltear ag súil leis sa chéad scaoileadh eile), is féidir na huirlisí caighdeánacha GCC a úsáid chun cláir a thiomsú sa teanga Rust gan gá an tiomsaitheoir rustc a shuiteáil, tógtha ag baint úsáide as forbairtí LLVM.
  • Tá an t-inneall Link Time Optimization (LTO) tar éis tacaíocht bhreise a thabhairt don fhreastalaí poist a fhaigheann tacaíocht ó thionscadal Déanta GNU chun cur i gcrích tógála comhthreomhara thar il snáitheanna a bharrfheabhsú. In GCC, úsáidtear freastalaí poist chun obair a chomhthreomharú le linn barrfheabhsú LTO i gcomhthéacs an chláir iomláin (WPA, Anailís ar an gClár Iomlán). Chun idirghníomhú leis an bhfreastalaí poist, úsáidtear píopaí ainmnithe de réir réamhshocraithe (-jobserver-style=fifo).
  • Tairgeann an anailísí statach (-fanalyzer) 20 seiceáil diagnóiseach nua, lena n-áirítear “-Wanalyzer-as-theorainn”, “-Wanalyzer-allocation-size”, “-Wanalyzer-deref-before-check”, “-Wanalyzer- infinite -recursion" -Wanalyzer-léim-trí-null", "-Wanalyzer-va-list-leak".
  • Tá an cumas diagnóisic a aschur i bhformáid SARIF, bunaithe ar JSON, curtha i bhfeidhm. Is féidir an fhormáid nua a úsáid chun torthaí anailíse statacha (GCC -fanalyzer) a fháil, chomh maith le faisnéis rabhaidh agus earráide a fháil. Déantar cumasú leis an rogha "-fdiagnostics-format=sarif-stderr|sarif-file|json-stderr|json|json-file", áit a mbíonn aschur mar thoradh ar roghanna le "json" i leagan GCC-sonrach den fhormáid JSON .
  • Cur i bhfeidhm roinnt gnéithe a shainmhínítear sa chaighdeán C23 C, mar shampla an tairiseach nullptr chun leideanna null a shainmhíniú, úsáid liostaí athraitheacha a shimpliú, cumais na n-áirimh, an tréith noreturn a leathnú, a cheadaíonn úsáid constexpr agus uathoibríoch nuair a shainmhínítear rudaí, an cineál agus typeof_unqual, alignas eochairfhocail nua, alignof, bool, bréagach, static_asert, thread_local agus fíor, rud a ligeann lúibíní folamh a shonrú le linn thúsaithe.
  • Cur i bhfeidhm roinnt gnéithe atá sainmhínithe sa chaighdeán C++23, mar shampla an cumas marcanna a chur ag deireadh na slonn cumaisc, comhoiriúnacht leis an gcineál char8_t, an treoir réamhphróiseálaí #warning, teorannaithe (\u{}, \o{}, \x{}) agus ainmnithe ('\N{ CAIPITIL LITIR A}') seichimh éalaithe, oibreoir statach(), oibreoir statach[], oibreoir comhionannais taobh istigh de na habairtí, díothú roinnt srianta ar úsáid constexpr, tacaíocht do UTF -8 i dtéacsanna foinse.
  • d'fheabhsaigh libstdc++ tacaíocht thurgnamhach do chaighdeáin C++20 agus C++23, mar shampla, tacaíocht comhad ceanntásca a chur leis agus std::formáid, cumais leathnaithe comhad ceanntásca , cineálacha breise snámhphointe curtha leis, comhaid ceanntásca curtha i bhfeidhm Agus .
  • Cuireadh tréithe feidhm nua leis an doiciméad go gcuirtear tuairisceoir comhaid ar aghaidh in athróg slánuimhir: "__attribute__((fd_arg(N))))", "__attribute__((fd_arg_read(N)))" agus "__attribute__((fd_arg_write(N))) )" Is féidir na tréithe sonraithe a úsáid in anailísí statach (-fanalyzer) chun oibriú mícheart le tuairisceoirí comhaid a bhrath.
  • Cuireadh tréith nua “__attribute__((toimhdeadh(EXPR)))) leis, lenar féidir leat a rá leis an tiomsaitheoir go bhfuil an slonn fíor agus is féidir leis an tiomsaitheoir an fhíric seo a úsáid gan an slonn a mheas.
  • Cuireadh bratach "-fstrict-flex-array=[level]" leis chun iompraíocht a roghnú agus eilimintí eagar solúbtha á láimhseáil i struchtúir (Baill Eagar Solúbtha, sraith de mhéid éiginnte ag deireadh struchtúir, mar shampla, "int b[]" ).
  • Cuireadh bratach “-Wenum-int-mismatch” leis chun foláireamh má tá easaontas idir cineál enum agus cineál slánuimhir.
  • Tacaíonn an t-éadanas don teanga Fortran go hiomlán le bailchríoch.
  • Sa cheann tosaigh don teanga Go, tá tacaíocht d’fheidhmeanna agus cineálacha cineálacha (generics) curtha leis, agus tá comhoiriúnacht le pacáistí don teanga Go 1.18 cinntithe.
  • Tacaíonn an t-innill don ailtireacht AArch64 le CPU Ampere-1A (ampere1a), Arm Cortex-A715 (cortex-a715), Arm Cortex-X1C (cortex-x1c), Arm Cortex-X3 (cortex-x3) agus Arm Neoverse V2 (neoverse -v2). Cuireadh tacaíocht le haghaidh argóintí "armv9.1-a", "armv9.2-a" agus "armv9.3-a" leis an rogha "-march=". Tacaíocht bhreise le haghaidh síntí próiseálaí FEAT_LRCPC, FEAT_CSSC agus FEAT_LSE2.
  • Tá tacaíocht do CPU STAR-MC1 (réalta-mc1), Arm Cortex-X1C (cortex-x1c) agus Arm Cortex-M85 (cortex-m85) curtha leis an inneall don ailtireacht ARM.
  • Cuireann an backend le haghaidh ailtireacht x86 tacaíocht do phróiseálaithe Intel Raptor Lake, Meteor Lake, Sierra Forest, Grand Ridge, Emerald Rapids, Granite Rapids, chomh maith le próiseálaithe AMD Zen 4 (znver4). Tá na síntí ailtireachta tacair treoracha AVX-IFMA, AVX-VNNI-INT8, AVX-NE-CONVERT, CMPccXADD, AMX-FP16, PREFETCHI, RAO-INT agus AMX-COMPLEX, atá molta i bpróiseálaithe Intel, curtha i bhfeidhm. I gcás teangacha C agus C++ ar chórais SSE2, soláthraítear an cineál __bf16.
  • Áirítear leis an inneall giniúna cód do GPUanna AMD Radeon (GCN) an cumas luasairí AMD Instinct MI200 a úsáid chun feidhmíocht OpenMP/OpenACC a fheabhsú. Veicteoiriú feabhsaithe ag baint úsáide as treoracha SIMD.
  • Leathnaíodh go mór na cumais inneall don ardán LoongArch.
  • In inneall na hailtireachta RISC-V, tá tacaíocht do LAP XuanTie C906 (thead-c906) an T-Head curtha leis. Tá tacaíocht do phróiseálaithe veicteora atá sainithe i sonraíocht Síneadh Veicteoir Intreach 0.11 RISC-V curtha i bhfeidhm. Tacaíocht bhreise le haghaidh 30 síneadh ar an tsonraíocht RISC-V.
  • Má ghintear réada comhroinnte leis an rogha -shared stoptar cód tosaithe a chur leis tar éis timpeallacht snámhphointe a chur leis má tá na huasmhéaduithe -Ofast, -ffast-math, nó -funsafe-math-chumasaithe.
  • Cuirtear tacaíocht don fhormáid dífhabhtaithe DWARF i bhfeidhm i mbeagnach gach cumraíocht.
  • Cuireadh leis rogha "-gz=zstd" chun faisnéis dífhabhtaithe a chomhbhrú trí úsáid a bhaint as an algartam Zstandard. Cuireadh deireadh leis an tacaíocht don mhodh comhbhrú dífhabhtaithe oidhreachta "-gz=zlib-gnu".
  • Cuireadh tacaíocht tosaigh leis le haghaidh OpenMP 5.2 (Ilphróiseáil Oscailte) agus cur i bhfeidhm leanúnach na gcaighdeán OpenMP 5.0 agus 5.1, a shainíonn APIanna agus modhanna chun modhanna ríomhchláraithe comhthreomhar a chur i bhfeidhm ar chórais illárnacha agus hibrideacha (CPU+GPU/DSP) le cuimhne roinnte. agus aonaid veicteoirithe (SIMD).
  • Cuireadh deireadh leis an tacaíocht don fhormáid stórála faisnéise dífhabhtaithe oidhreachta “STABS” (arna chumasú leis na roghanna -gstabs agus -gxcoff), a cruthaíodh sna 1980í agus a úsáideadh sa dífhabhtóir dbx.
  • Tá tacaíocht do Solaris 11.3 imithe i léig (bainfear cód chun tacú leis an ardán seo i scaoileadh amach anseo).

Foinse: oscailtenet.ru

Add a comment