GCC 9.1


GCC 9.1

3. svibnja održano je prvo javno izdanje devete verzije GCC: GCC 9.1.
Sadrži brojne značajne poboljšanja i dodatke u odnosu na osmu
verziju.

Opća poboljšanja

Opcije
Nove ugrađene funkcije
Nova oznaka
Ostalo

Brojna poboljšanja generacije koda povezana s:

  • generacijom switch konstrukcija;
  • interproceduralnim optimizacijama;
  • optimizacijom temeljenom na informacijama o profiliranju;
  • optimizacijom u fazi sastavljanja (LTO);

Također, unutarnji format gcov sada je JSON, a nova opcija —use-hotness-colors uključuje bojanje redaka koda ovisno o učestalosti njihove upotrebe.

Jezici

Kvaliteta i cjelovitost implementacije OpenACC u jezicima C, C++ i Fortran se nastavljaju poboljšavati.

C-poput jezika
  • Djelomična podrška za OpenMP 5.0 je implementirana;
  • Dodana funkcija __builtin_convertvector;
  • Dodano upozorenje -Waddress-of-packed-member;
  • Poboljšanja u nizu postojećih upozorenja;
  • Tekst greške prilikom prolaska pogrešnog broja argumenata u makrosu sada uključuje deklaraciju samog makrosa;
  • Poboljšanja u prijedlozima za ispravak tipfeler.
C
  • Podrška za _Static_assert s jednim argumentom za -std=c2x (budući standard C);
  • Nova upozorenja -Wabsolute-value, koji hvata pogrešan tip argumenta za funkcije poput abs().
C++
  • Nova upozorenja: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Radimo na implementaciji novih mogućnosti iz budućeg standarda C++ 2a;
  • Frontend sada čuva preciznije informacije o nizu elemenata iz izvornog koda, što omogućava detaljnije prikaze u dijagnostici;
  • Unapređenje dijagnostike za preopterećene funkcije, binarne operatore, pozive funkcija i formate stringova;
  • Dodani automatski popravci podržani od nekih razvojnih okruženja za nekoliko popularnih grešaka (nedostajući zagrade, prostori imena, tipfeleri itd.).
libstdc++
  • Implementacija C++17 više nije eksperimentalna;
  • Dodani paralelni algoritmi, , , a više ne zahteva -lstdc++fs;
  • Unapređena eksperimentalna podrška za C++ 2a (, , std::bind_front itd.);
  • Podrška za otvaranje datotečnih tokova na Windowsu, čiji put sadrži znakove koji prevazilaze char;
  • Početna podrška za na Windowsu;
  • Početna podrška za Networking TS.
D

D jezik verzije 2.076 uključen je u GCC.

Fortran
  • Potpuna podrška za asinhroni ulaz/izlaz;
  • Implementiran argument BACK za MINLOC i MAXLOC;
  • Implementirane funkcije FINDLOC i IS_CONTIGUOUS;
  • Implementisana sintaksa pristupa sastavnim delovima kompleksnih brojeva: c%re i c%im;
  • Implementirana sintaksa str%len i a%kind;
  • Implementirani deskriptori C i zaglavlje ISO_Fortran_binding.h;
  • Olakšani zahtevi za rezultate funkcija MAX i MIN kada je jedan od argumenata NaN;
  • Dodana opcija -fdec-include;
  • Dodana direktiva BUILTIN.
libgccjit

Ostalo

Puno arhitektonskih i OS-specifičnih izmena.

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster