GCC 9.1


GCC 9.1

3. maja je bila prva javna izdaja devete različice GCC: GCC 9.1.
Vsebuje številne pomembne izboljšave in dodatke v primerjavi z osmo
različica.

Splošne spremembe

Možnosti
Nove vgrajene funkcije
Nov atribut
Drugo

Številne izboljšave generiranja kode, povezane z:

  • generiranje stikalnih konstruktov;
  • medproceduralne optimizacije;
  • optimizacija na podlagi profilnih informacij;
  • optimizacija v fazi montaže (LTO);

Tudi notranji format gcov je zdaj JSON in nova možnost --use-hotness-colors vključuje barvanje vrstic kode glede na to, kako pogosto se uporabljajo.

Jeziki

Kakovost in popolnost izvedbe OpenACC jeziki C, C++ in Fortran se še naprej izboljšujejo.

C-podobni jeziki
  • Implementirana je delna podpora za OpenMP 5.0;
  • Dodana funkcija __vgrajen_pretvornik;
  • Dodano opozorilo -Waddress-of-packed-član;
  • Izboljšave številnih obstoječih opozoril;
  • Besedilo napake pri posredovanju napačnega števila argumentov makru zdaj vključuje deklaracijo samega makra;
  • Izboljšave predlogov za popravljanje tipkarskih napak.
C
  • Podpora _Static_assert z enim argumentom za -std=c2x (prihodnji standard C);
  • Novo opozorilo -Wabsolutna vrednost, ki ujame napačen tip argumenta za funkcije, kot je abs().
C + +
  • Nova opozorila: -Wdeprecated-copy,
    -Winit-list-življenjska doba,
    -Odvečna poteza,
    -Wpesimiziranje-premikati,
    -Wclass-pretvorba;
  • V teku je delo za implementacijo novih funkcij prihodnjega standarda C++2a;
  • Frontend zdaj shranjuje natančnejše informacije o številnih elementih izvorne kode, kar vam omogoča prikaz podrobnejših informacij v diagnostiki;
  • Izboljšana diagnostika za preobremenjene funkcije, binarne operatorje, klice funkcij in formatne nize;
  • Dodani samodejni popravki, ki jih podpirajo nekatera razvojna okolja za številne priljubljene napake (manjkajoči oklepaji, imenski prostori, tipkarske napake itd.).
libstdc++
  • Izvedba C++17 ni več poskusna;
  • Dodani vzporedni algoritmi, , , A ne zahteva več -lstdc++fs;
  • Izboljšana eksperimentalna podpora za C++2a ( , , std::bind_front itd.);
  • Podpora za odpiranje tokov datotek v sistemu Windows, katerih poti vsebujejo znake, ki niso znaki;
  • Začetna podpora v sistemu Windows;
  • Začetna podpora za Networking TS.
D

Različica jezika D 2.076 je vključena v GCC.

Fortran
  • Popolna podpora za asinhroni I/O;
  • Implementiran argument BACK za MINLOC in MAXLOC;
  • Implementirane funkcije FINDLOC in IS_CONTIGOUS;
  • Implementirana je sintaksa za dostop do komponent kompleksnih števil: c%re in c%im;
  • Implementirana sintaksa str%len in a%kind;
  • Implementirani deskriptorji C in glava ISO_Fortran_binding.h;
  • Zahteve za rezultat funkcij MAX in MIN so bile sproščene, ko je eden od argumentov NaN;
  • Dodana možnost -fdec-vključi;
  • Dodana direktiva ZGRADENA.
libgccjit

Drugo

Veliko sprememb, specifičnih za arhitekturo in OS.

Vir: linux.org.ru

Dodaj komentar