GCC 13.1 jau ir izlaists, un tie ir tā jaunumi

GCC

GNU kompilatoru kolekcija ir kompilatoru kopa, ko izveidojis GNU projekts. GCC ir bezmaksas programmatūra, un to izplata Free Software Foundation saskaņā ar GPL vispārējo publisko licenci.

Pēc gada attīstības tika paziņots par palaišanu populārā būvniecības sistēma «GCC 13.1Šis ir pirmais nozīmīgais laidiens jaunajā GCC 13.x atzarā.

Saskaņā ar jauno versiju numerācijas shēmu izstrādes laikā tika izmantota versija 13.0, un neilgi pirms GCC 13.1 iznākšanas jau bija sazarots GCC 14.0 atzars, no kura tiks veidota nākamā lielākā GCC 14.1 versija.

GCC 13.1 Galvenās jaunās funkcijas

Šajā nesen izlaistajā GCC 13.1 versijā Tiek uzsvērts, ka tika pieņemts interfeiss, lai izveidotu programmas Modula-2 programmēšanas valodā, kas atbalsta izveides kodu, kas atbilst PIM2, PIM3 un PIM4 dialektiem, kā arī pieņemtajam ISO standartam šai valodai.

Papildus tam tiek uzsvērts arī tas ir pievienots GCC avota kokam, frontend ar Rust valodas kompilatora ieviešanu, ko sagatavojis projekts gccrs (GCC Rust). Pašreizējā skatā saskarne ir atzīmēta kā eksperimentāla un pēc noklusējuma atspējota. Kad saskarne ir gatava (kas ir paredzēta nākamajā versijā), standarta GCC rīku komplektu var izmantot Rust programmu kompilēšanai, neinstalējot rustc kompilatoru, kas izveidots ar LLVM būvēm.

Saites-in-Step Optimization (LTO) pievieno atbalstu darba serverim To uztur GNU make projekts, lai optimizētu paralēlas veidošanas izpildi vairākos pavedienos. GCC darba serveris tiek izmantots, lai paralēli veiktu darbu LTO optimizācijas laikā visas programmas kontekstā (WPA, pilna programmas analīze).

Vēl viena izceļa ir tā tika ieviesta iespēja ģenerēt diagnozes SARIF formātā pamatojoties uz JSON. jaunais formāts var izmantot statiskās analīzes rezultātu iegūšanai (GCC - fanalizators), kā arī informācijai par brīdinājumiem un kļūdām. Iespējošana tiek veikta ar opciju «-fdiagnostics-format=sarif-stderr|sarif-file|json-stderr|json|json-file«, kur opcijas ar «Džons» rezultātā tiks izveidots GCC specifisks JSON formāta variants.

Daži tika īstenoti C23 C standartā definētie raksturlielumi, kā konstante nullptr definēt nulles norādes, atvieglojot sarakstu izmantošanu ar mainīgu argumentu skaitu (variadic), paplašinot uzskaitīšanas iespējas, atribūtu atgriezties, ļaujot izmantot constexpr un auto, definējot objektus, typeof un typeof_unqual, jauni atslēgvārdi alignas, alignof, bool, false, static_assert, thread_local un true, inicializējot atļaut tukšas iekavas.

libstdc++ ir uzlabojis eksperimentālo atbalstu C++20 un C++23 standartiem, piemēram, pievienojot atbalstu galvenes failam. un std::formāts, paplašināt galvenes faila iespējas , pievienot papildu peldošā komata veidus, ieviešot un .

Gada citas izmaiņas kas izceļas no šīs jaunās versijas:

  • Pievienoti jauni funkciju atribūti dokumentam, ka faila deskriptors ir nodots veselā skaitļa mainīgajā: "__attribute__((fd_arg(N)))", "__attribute__((fd_arg_read(N)))" un "__attribute__((fd_arg_write( N)) )) ".
  • Norādītos atribūtus var izmantot statiskajā analizatorā (-fanalyzer), lai noteiktu sliktu darbu ar failu deskriptoriem.
  • Pievienots jauns atribūts " __attribute__((sume(EXPR))) ", ko var izmantot, lai pateiktu kompilatoram, ka izteiksme ir patiesa, un kompilators var izmantot šo faktu, nenovērtējot izteiksmi.
  • ARM arhitektūras aizmugursistēmai ir pievienots atbalsts STAR-MC1 (star-mc1), Arm Cortex-X1C (cortex-x1c) un Arm Cortex-M85 (cortex-m85) CPU.
  • Pievienots atbalsts Intel Raptor Lake, Meteor Lake, Sierra Forest, Grand Ridge, Emerald Rapids, Granite Rapids un AMD Zen 4 (znver4) procesoriem x86 aizmugursistēmai.
  • Piedāvātie AVX-IFMA, AVX-VNNI-INT8, AVX-NE-CONVERT, CMPccXADD, AMX-FP16, PREFETCHI, RAO-INT un AMX-COMPLEX instrukciju kopas arhitektūras paplašinājumi ir ieviesti Intel procesoros.
  • C un C++ sistēmās ar SSE2 tiek nodrošināts tips __bf16.
  • Kodu ģenerēšanas aizmugursistēma AMD Radeon GPU (GCN) ievieš iespēju izmantot AMD Instinct MI200 paātrinātājus, lai uzlabotu OpenMP/OpenACC veiktspēju.
  • Uzlabota vektorizācija, izmantojot SIMD instrukcijas.
  • LoongArch platformas aizmugures iespējas ir ievērojami paplašinātas.
    Pievienots atbalsts T-Head XuanTie C906 centrālajam procesoram (thead-c906) RISC-V aizmugursistēmā.
  • Ieviests atbalsts vektoru kontrolleriem, kas definēti RISC-V Vector Extension Intrinsic 0.11 specifikācijā.
  • Pievienots atbalsts 30 RISC-V specifikāciju paplašinājumiem.
  • Atbalsts DWARF atkļūdošanas formātam ir ieviests gandrīz visās konfigurācijās.
  • Pievienota opcija "-gz=zstd", lai saspiestu atkļūdošanas informāciju, izmantojot Zstandarta algoritmu.
  • Noņemts atbalsts novecojušam atkļūdošanas informācijas saspiešanas režīmam “-gz=zlib-gnu”.

Beidzot ja jūs interesē uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.