GCC 9.1


GCC 9.1

3. mai fant den første offentlige utgivelsen av den niende versjonen av GCC sted: GCC 9.1.
Den inneholder mange betydelige forbedringer og tillegg sammenlignet med den åttende
versjon.

Generelle endringer

Alternativer
Nye innebygde funksjoner
Nytt attributt
andre

Tallrike forbedringer av kodegenerering relatert til:

  • generering av bryterkonstruksjoner;
  • inter-prosessuelle optimaliseringer;
  • optimalisering basert på profileringsinformasjon;
  • optimalisering på monteringsstadiet (LTO);

Også gcovs interne format er nå JSON, og det nye alternativet --bruk-varme-farger innebærer fargelegging av kodelinjer basert på hvor ofte de brukes.

Språk

Kvalitet og fullstendighet i gjennomføringen ÅpneACC Språkene C, C++ og Fortran fortsetter å forbedre seg.

C-lignende språk
  • Delvis støtte for OpenMP 5.0 er implementert;
  • Lagt til funksjon __builtin_convertvector;
  • Lagt til advarsel -Vaddress-of-packed-medlem;
  • Forbedringer av en rekke eksisterende advarsler;
  • Feilteksten ved overføring av feil antall argumenter til en makro inkluderer nå erklæringen av selve makroen;
  • Forbedringer av forslag til skrivefeilretting.
C
  • Støtt _Static_assert med ett argument for -std=c2x (fremtidig C-standard);
  • Ny advarsel -Wabsolutt-verdi, som fanger feil argumenttype for funksjoner som abs().
C + +
  • Nye advarsler: -Uforeldet-kopi,
    - Winit-liste-levetid,
    -Uredundant-trekk,
    -Wpessimizing-move,
    -Wclass-konvertering;
  • Det arbeides med å implementere nye funksjoner fra den fremtidige standarden C++2a;
  • Frontend lagrer nå mer nøyaktig informasjon om en rekke kildekodeelementer, som lar deg vise mer detaljert informasjon i diagnostikk;
  • Forbedret diagnostikk for overbelastede funksjoner, binære operatorer, funksjonskall og formatstrenger;
  • Lagt til automatiske rettelser som støttes av enkelte utviklingsmiljøer for en rekke populære feil (manglende parenteser, navneområder, skrivefeil osv.).
libstdc++
  • C++17-implementeringen er ikke lenger eksperimentell;
  • Lagt til parallelle algoritmer, , , A krever ikke lenger -lstdc++fs;
  • Forbedret eksperimentell støtte for C++2a ( , , std::bind_front, osv.);
  • Støtte for å åpne filstrømmer på Windows hvis stier inneholder ikke-tegn;
  • Innledende støtte på Windows;
  • Innledende støtte for Networking TS.
D

D-språkversjon 2.076 er inkludert i GCC.

Fortran
  • Full støtte for asynkron I/O;
  • Implementert BACK-argument for MINLOC og MAXLOC;
  • Implementerte FINDLOC og IS_CONTIGOUS funksjoner;
  • Syntaksen for tilgang til komponentene i komplekse tall er implementert: c%re og c%im;
  • Implementert syntaks str%len og a%kind;
  • Implementerte C-deskriptorer og ISO_Fortran_binding.h-header;
  • Avslappede krav til resultatet av MAX- og MIN-funksjonene når ett av argumentene er NaN;
  • Lagt til alternativ -fdec-inkluderer;
  • Direktiv lagt til BYGGET.
libgccjit

andre

Mange arkitektur- og OS-spesifikke endringer.

Kilde: linux.org.ru

Legg til en kommentar