GCC 13.1 er allerede blevet frigivet, og dette er nyhederne

gcc

GNU Compiler Collection er et sæt af compilere skabt af GNU-projektet. GCC er gratis software og distribueres af Free Software Foundation under GPLs generelle offentlige licens.

Efter et års udvikling, lanceringen blev annonceret af det populære byggesystem «GCC 13.1Dette er den første betydningsfulde udgivelse i den nye GCC 13.x-gren.

Under den nye versionsnummereringsordning, version 13.0 blev brugt under udviklingen, og kort før udgivelsen af ​​GCC 13.1 var GCC 14.0-grenen allerede splittet, hvorfra den næste større version af GCC 14.1 vil blive dannet.

GCC 13.1 Vigtigste nye funktioner

I denne nyudgivne version af GCC 13.1 Det fremhæves, at en grænseflade blev vedtaget til at skabe programmer i Modula-2 programmeringssproget, som understøtter byggekode, der er i overensstemmelse med PIM2-, PIM3- og PIM4-dialekterne, samt den accepterede ISO-standard for det pågældende sprog.

Udover dette fremhæves det også er blevet tilføjet til GCC-kildetræet, en frontend med compilerimplementeringen af ​​Rust-sproget udarbejdet af gccrs-projektet (GCC Rust). I den aktuelle visning, grænsefladen er markeret som eksperimentel og deaktiveret som standard. Når grænsefladen er klar (hvilket forventes i næste version), kan standard GCC-værktøjssættet bruges til at kompilere Rust-programmer uden at skulle installere rustc-kompileren bygget med LLVM-builds.

Link-in-Step Optimization (LTO) tilføjer understøttelse af en jobserver Vedligeholdt af GNU make-projektet for at optimere parallel byggeudførelse på flere tråde. I GCC bruges jobserveren til at parallelisere jobbet under LTO-optimering i sammenhæng med hele programmet (WPA, fuld programanalyse).

En anden ændring, der skiller sig ud, er den muligheden for at generere diagnoser i SARIF-format blev implementeret baseret på JSON. det nye format kan bruges til at opnå statiske analyseresultater (GCC -fanalysator), samt for information om advarsler og fejl. Aktivering sker med muligheden «-fdiagnostics-format=sarif-stderr|sarif-fil|json-stderr|json|json-fil«, hvor mulighederne med «json» resultere i en GCC-specifik variant af JSON-formatet.

Nogle blev implementeret egenskaber defineret i C23 C standarden, som konstanten nullptr at definere nul pointere, lette brugen af ​​lister med et variabelt antal argumenter (variadisk), udvide mulighederne for optællinger, attributten Vend tilbage, tillader brug af constexpr og auto ved definition af objekter, typeof og typeof_unqual, nye søgeord alignas, alignof, bool, false, static_assert, thread_local og true, tillade tomme parenteser ved initialisering.

libstdc++ har forbedret eksperimentel understøttelse af C++20 og C++23 standarder, såsom tilføjelse af support til header-filen og std::format, udvide header-filens muligheder , tilføje yderligere typer med flydende komma, implementering og .

Af andre ændringer der skiller sig ud fra denne nye version:

  • Tilføjet nye funktionsattributter for at dokumentere, at en filbeskrivelse sendes i en heltalsvariabel: "__attribute__((fd_arg(N)))", "__attribute__((fd_arg_read(N)))" og "__attribute__((fd_arg_write(N)) )) “.
  • De angivne attributter kan bruges i en statisk analysator (-fanalyzer) til at opdage dårligt arbejde med filbeskrivelser.
  • Tilføjet en ny attribut " __attribute__((assume(EXPR))) ", der kan bruges til at fortælle compileren, at et udtryk er sandt, og compileren kan bruge dette faktum uden at evaluere udtrykket.
  • Understøttelse af STAR-MC1 (star-mc1), Arm Cortex-X1C (cortex-x1c) og Arm Cortex-M85 (cortex-m85) CPU'er er blevet tilføjet til ARM-arkitekturens backend.
  • Tilføjet understøttelse af Intel Raptor Lake, Meteor Lake, Sierra Forest, Grand Ridge, Emerald Rapids, Granite Rapids og AMD Zen 4 (znver4)-processorer til x86-backend.
  • De foreslåede AVX-IFMA, AVX-VNNI-INT8, AVX-NE-CONVERT, CMPccXADD, AMX-FP16, PREFETCHI, RAO-INT og AMX-COMPLEX instruktionssætarkitekturudvidelser er blevet implementeret i Intel-processorer.
  • For C og C++ på systemer med SSE2 leveres typen __bf16.
  • Kodegenereringsbackend til AMD Radeon GPU'er (GCN) implementerer muligheden for at bruge AMD Instinct MI200-acceleratorer til at forbedre OpenMP/OpenACC-ydeevnen.
  • Forbedret vektorisering ved hjælp af SIMD-instruktioner.
  • Backend-funktionerne til LoongArch-platformen er blevet betydeligt udvidet.
    Tilføjet understøttelse af T-Head XuanTie C906 CPU (thead-c906) på RISC-V-backend.
  • Implementeret understøttelse af vektorcontrollere defineret i RISC-V Vector Extension Intrinsic 0.11-specifikationen.
  • Tilføjet understøttelse af 30 RISC-V-specifikationsudvidelser.
  • Understøttelse af DWARF-debugging-formatet er implementeret i næsten alle konfigurationer.
  • Tilføjet mulighed "-gz=zstd" for at komprimere debug-information ved hjælp af Zstandard-algoritmen.
  • Fjernet understøttelse af forældet debug-informationskomprimeringstilstand "-gz=zlib-gnu".

Endelig hvis du er interesseret i at vide mere om det, kan du kontrollere detaljerne I det følgende link.


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.