GCC 9.1


GCC 9.1

Dana 3. svibnja došlo je do prvog javnog izdanja devete verzije GCC-a: GCC 9.1.
Sadrži mnogo značajnih poboljšanja i dodataka u usporedbi s osmom
verzija.

Opće promjene

Opcije
Nove ugrađene značajke
Novi atribut
Drugi

Brojna poboljšanja generiranja koda koja se odnose na:

  • generiranje sklopnih konstrukcija;
  • interproceduralne optimizacije;
  • optimizacija na temelju informacija iz profiliranja;
  • optimizacija u fazi montaže (LTO);

Također gcov interni format je sada JSON, a nova opcija --koristite-tople-boje uključuje bojanje redaka koda na temelju toga koliko se često koriste.

Jezici

Kvaliteta i cjelovitost provedbe OpenACC jezici C, C++ i Fortran nastavljaju se poboljšavati.

C-jezici
  • Implementirana je djelomična podrška za OpenMP 5.0;
  • Dodana značajka __ugrađeni_konvertor;
  • Dodano upozorenje -Adresa-upakiranog-člana;
  • Poboljšanja niza postojećih upozorenja;
  • Tekst pogreške prilikom prosljeđivanja pogrešnog broja argumenata makronaredbi sada uključuje deklaraciju same makronaredbe;
  • Poboljšanja prijedloga za ispravak tipfelera.
C
  • Podrška _Static_assert s jednim argumentom za -std=c2x (budući C standard);
  • Novo upozorenje -Wapsolutna vrijednost, koji hvata pogrešan tip argumenta za funkcije poput abs().
C + +
  • Nova upozorenja: -Wdeprecated-copy,
    -Winit-list-životni vijek,
    -Suvišan potez,
    -Wpesimiziranje-kretanje,
    -Wclass-konverzija;
  • U tijeku je rad na implementaciji novih značajki iz budućeg standarda C++2a;
  • Sučelje sada pohranjuje točnije informacije o nizu elemenata izvornog koda, što vam omogućuje prikaz detaljnijih informacija u dijagnostici;
  • Poboljšana dijagnostika za preopterećene funkcije, binarne operatore, pozive funkcija i nizove formata;
  • Dodani su automatski popravci koje podržavaju neka razvojna okruženja za brojne popularne pogreške (nedostajuće zagrade, prostori imena, pogreške pri upisu itd.).
libstdc++
  • Implementacija C++17 više nije eksperimentalna;
  • Dodani paralelni algoritmi, , , A više ne zahtijeva -lstdc++fs;
  • Poboljšana eksperimentalna podrška za C++2a ( , , std::bind_front, itd.);
  • Podrška za otvaranje tokova datoteka u sustavu Windows čije staze sadrže znakove koji nisu znakovi;
  • Početna podrška na Windowsima;
  • Početna podrška za Networking TS.
D

D verzija 2.076 jezika uključena je u GCC.

Fortran
  • Puna podrška za asinkroni I/O;
  • Implementiran BACK argument za MINLOC i MAXLOC;
  • Implementirane funkcije FINDLOC i IS_CONTIGOUS;
  • Implementirana je sintaksa za pristup komponentama kompleksnih brojeva: c%re i c%im;
  • Implementirana sintaksa str%len i a%kind;
  • Implementirani C deskriptori i ISO_Fortran_binding.h zaglavlje;
  • Zahtjevi za rezultat funkcija MAX i MIN su ublaženi kada je jedan od argumenata NaN;
  • Dodana opcija -fdec-uključi;
  • Dodana direktiva GRAĐENA.
libgccjit

Drugi

Mnoge promjene specifične za arhitekturu i OS.

Izvor: linux.org.ru

Dodajte komentar