GCC 9.1


GCC 9.1

Den 3. maj blev den første offentlige udgave af GCC version 9.1 lanceret.
Den indeholder adskillige væsentlige forbedringer og tilføjelser i forhold til den ottende
version.

Generelle ændringer

Muligheder
Nye indbyggede funktioner
Ny attribut
Andet

Mange forbedringer i kodegenereringen relateret til:

  • generering af switch-konstruktioner;
  • inter-procedural optimeringer;
  • optimering baseret på profileringsinformation;
  • optimeringer under bygningen (LTO);

Desuden er det interne format for gcov nu JSON, og den nye mulighed —use-hotness-colors giver mulighed for at farve kodelinjer afhængigt af hvor ofte de bruges.

Sprog

Kvalitet og fuldstændighed af implementeringen OpenACC i sprog som C, C++, og Fortran fortsætter med at forbedres.

C-lignende sprog
  • Delvis understøttelse af OpenMP 5.0 er implementeret;
  • Tilføjet en funktion __builtin_convertvector;
  • Advarsel tilføjet -Waddress-of-packed-member;
  • Forbedringer i en række eksisterende advarsler;
  • Fejlmeddelelsen ved forkerte antal argumenter i makroer inkluderer nu selve makroens deklaration;
  • Forbedringer i forslag til retskrivningsfejl.
C
  • Understøttelse af _Static_assert med et argument for -std=c2x (den kommende C-standard);
  • Ny advarsel -Wabsolute-value, som fanger forkerte argumenttyper for funktioner som abs().
C++
  • Nye advarsler: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Der arbejdes på at implementere nye funktioner fra den kommende standard C++ 2a;
  • Frontend gemmer nu mere præcise oplysninger om en række elementer i kildeteksten, hvilket muliggør mere detaljerede oplysninger i diagnostik;
  • Forbedret diagnosticering for overbelastede funktioner, binære operatorer, funktionskald og formateringsstrenge;
  • Automatiske rettelser understøttet af nogle udviklingsmiljøer er tilføjet for en række populære fejl (manglende parenteser, navnerum, tastefejl osv.).
libstdc++
  • Implementeringen af C++17 er ikke længere eksperimentel;
  • Parallelle algoritmer, <execution>, <memory_resource>, og <filesystem> kræver ikke længere -lstdc++fs;
  • Forbedret eksperimentel support for C++ 2a (<bit>, <version>, std::bind_front osv.);
  • Support til åbning af filstrømme på Windows, hvor stierne indeholder tegn, der går ud over char;
  • Indledende support for <filesystem> på Windows;
  • Indledende support for Networking TS.
D

Sprog D version 2.076 er inkluderet i GCC.

Fortran
  • Fuldt support af asynkron input/output;
  • Argumentet BACK for MINLOC og MAXLOC er implementeret;
  • Funktionerne FINDLOC og IS_CONTIGUOUS er implementeret;
  • Adgangssyntax til sammensatte dele af komplekse tal: c%re og c%im er implementeret;
  • Syntax til str%len og a%kind er implementeret;
  • C-deskriptorer og headeren ISO_Fortran_binding.h er implementeret;
  • Kravene til resultat af funktionerne MAX og MIN er lempet, når et af argumenterne er NaN;
  • Der er tilføjet en mulighed -fdec-include;
  • Tilføjet direktiv BUILTIN.
libgccjit

Andet

En række arkitektur- og OS-specifikke ændringer.

Kilde: linux.org.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster