GCC 9.1


GCC 9.1

3. mai ble den første offentlige utgivelsen av den niende versjonen av GCC: GCC 9.1.
Den inneholder mange vesentlige forbedringer og tillegg i forhold til den åttende versjonen.
версией.

Generelle endringer

Alternativer
Nye innebygde funksjoner
Den nye attributten
Other

Flere forbedringer i kodegenerering relatert til:

  • generering av switch-strukturer;
  • interprosedyrale optimaliseringer;
  • optimalisering basert på profileringsinformasjon;
  • optimalisering under bygging (LTO);

Også det interne formatet for gcov er nå JSON, og det nye alternativet —use-hotness-colors aktiverer fargelegging av kode basert på bruksfrekvens.

Språk

Kvalitet og fullstendighet av implementeringen av OpenACC i språkene C, C++ og Fortran fortsetter å forbedres.

C-lignende språk
  • Delvis støtte for OpenMP 5.0 er implementert;
  • Legg til funksjon __builtin_convertvector;
  • En ny advarsel er lagt til -Waddress-of-packed-member;
  • Forbedringer i en rekke eksisterende advarsler;
  • Feilmeldingen ved å sende feil antall argumenter til makroer inkluderer nå selve makroens deklarasjon;
  • Forbedringer i forslag til staving.
C
  • Støtte for _Static_assert med ett argument for -std=c2x (den fremtidige C-standarden);
  • En ny advarsel er lagt til -Wabsolute-value, som fanger feil argumenttype for funksjoner som abs().
C++
  • Nye advarsler: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Arbeidet med å implementere nye muligheter fra den fremtidige standarden C++ 2a;
  • Frontend lagrer nå mer nøyaktig informasjon om en rekke elementer i kildekoden, noe som gjør at det kan vise mer detaljert informasjon i diagnostikkene;
  • Diagnostikkene for overbelastede funksjoner, binære operatorer, funksjonskall og formatstrenger er forbedret;
  • Automatiske rettelser for en rekke vanlige feil (manglende parenteser, navnerom, skrivefeil osv.) er nå tilgjengelige i noen utviklingsmiljøer.
libstdc++
  • Implementeringen av C++17 er ikke lenger eksperimentell;
  • Parallellalgoritmer, <execution>, <memory_resource>, og <filesystem> krever ikke lenger -lstdc++fs;
  • Den eksperimentelle støtten for C++ 2a (<bit>, <version>, std::bind_front osv.) er forbedret;
  • Støtte for å åpne filstrømmer på Windows hvor stien inneholder tegn utenfor char;
  • Innledende støtte for <filesystem> på Windows;
  • Innledende støtte for Networking TS.
D

D-språket versjon 2.076 er inkludert i GCC.

Fortran
  • Full støtte for asynkron input/output;
  • Argumentet BACK for MINLOC og MAXLOC er implementert;
  • Funksjonene FINDLOC og IS_CONTIGUOUS er implementert;
  • Syntaks for tilgang til delene av komplekse tall er implementert: c%re og c%im;
  • Syntaksen str%len og a%kind er implementert;
  • C-deskriptorer og header ISO_Fortran_binding.h er implementert;
  • Kravene til resultatene av funksjonene MAX og MIN er svekket når ett av argumentene er NaN;
  • Et alternativ er lagt til -fdec-include;
  • Direktivet BUILTIN.
libgccjit

Other

Et stort antall arkitektur- og OS-spesifikke endringer.

Kilde: linux.org.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster