GCC 9.1


GCC 9.1

Dana 3. maja, održano je prvo javno izdanje devete verzije GCC-a: GCC 9.1.
Sadrži mnoga značajna poboljšanja i dodatke u odnosu na osmi
verzija.

Opšte promjene

Opcije
Nove ugrađene funkcije
Novi atribut
Ostalo

Brojna poboljšanja generiranja koda vezana za:

  • stvaranje sklopnih konstrukcija;
  • međuproceduralne optimizacije;
  • optimizacija zasnovana na informacijama o profilisanju;
  • optimizacija u fazi montaže (LTO);

Također interni format gcov-a je sada JSON i nova opcija --use-hotness-colors uključuje bojenje linija koda na osnovu toga koliko se često koriste.

Jezici

Kvalitet i kompletnost implementacije OpenACC jezici C, C++ i Fortran nastavljaju da se poboljšavaju.

C-slični jezici
  • Delimična podrška za OpenMP 5.0 je implementirana;
  • Dodata funkcija __builtin_convervector;
  • Dodato upozorenje -Saddress-of-packed-member;
  • Poboljšanja brojnih postojećih upozorenja;
  • Tekst greške prilikom prosljeđivanja pogrešnog broja argumenata makrou sada uključuje deklaraciju samog makroa;
  • Poboljšanja prijedloga za ispravku grešaka.
C
  • Podrška _Static_assert sa jednim argumentom za -std=c2x (budući C standard);
  • Novo upozorenje -Wapsolutna vrijednost, koji hvata pogrešan tip argumenta za funkcije kao što je abs().
C ++
  • Nova upozorenja: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Nepotreban potez,
    -Wpesimizing-move,
    -Wclass-conversion;
  • U toku je rad na implementaciji novih funkcija iz budućeg standarda C++2a;
  • Frontend sada pohranjuje preciznije informacije o brojnim elementima izvornog koda, što vam omogućava da prikažete detaljnije informacije u dijagnostici;
  • Poboljšana dijagnostika za preopterećene funkcije, binarne operatore, pozive funkcija i format nizove;
  • Dodane su automatske ispravke koje podržavaju neka razvojna okruženja za brojne popularne greške (nedostaju zagrade, prostori imena, greške u kucanju, itd.).
libstdc++
  • Implementacija C++17 više nije eksperimentalna;
  • Dodati 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 na Windows-u čije putanje sadrže znakove koji nisu char;
  • Inicijalna podrška na Windows;
  • Početna podrška za Networking TS.
D

Verzija D jezika 2.076 je uključena u GCC.

Fortran
  • Potpuna podrška za asinhroni I/O;
  • Implementiran argument BACK 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 zaglavlje ISO_Fortran_binding.h;
  • Opušteni zahtjevi za rezultat funkcija MAX i MIN kada je jedan od argumenata NaN;
  • Dodata opcija -fdec-uključiti;
  • Dodata direktiva BUILTIN.
libgccjit

Ostalo

Mnoge promjene specifične za arhitekturu i OS.

izvor: linux.org.ru

Dodajte komentar