GCC 9.1


GCC 9.1

3. května proběhlo první veřejné vydání deváté verze GCC: GCC 9.1.
Obsahuje mnoho významných vylepšení a doplňků oproti osmistovce
verze.

Obecné změny

Možnosti
Nové vestavěné funkce
Nový atribut
Další

Četná vylepšení generování kódu související s:

  • generování konstrukcí přepínačů;
  • meziprocedurální optimalizace;
  • optimalizace na základě profilovacích informací;
  • optimalizace ve fázi montáže (LTO);

Také interní formát gcov je nyní JSON a nová možnost --use-hotness-colors zahrnuje vybarvování řádků kódu podle toho, jak často se používají.

Jazyky

Kvalita a kompletnost realizace Otevřít ACC jazyky C, C++ a Fortran se neustále zlepšují.

jazyky podobné C
  • Byla implementována částečná podpora pro OpenMP 5.0;
  • Funkce přidána __builtin_convertvector;
  • Přidáno varování -Waddress-of-packed-member;
  • Vylepšení řady stávajících varování;
  • Chybový text při předávání nesprávného počtu argumentů makru nyní obsahuje deklaraci samotného makra;
  • Vylepšení návrhů oprav překlepů.
C
  • Podporujte _Static_assert jedním argumentem pro -std=c2x (budoucí standard C);
  • Nové varování -Wabsolutní-hodnota, který zachytí nesprávný typ argumentu pro funkce jako abs().
C + +
  • Nová upozornění: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-tah,
    -Wpesimizing-tah,
    -Wclass-konverze;
  • Pracuje se na implementaci nových funkcí z budoucího standardu C++2a;
  • Frontend nyní ukládá přesnější informace o řadě prvků zdrojového kódu, což umožňuje zobrazit v diagnostice podrobnější informace;
  • Vylepšená diagnostika přetížených funkcí, binárních operátorů, volání funkcí a formátovacích řetězců;
  • Přidány automatické opravy podporované některými vývojovými prostředími pro řadu oblíbených chyb (chybějící závorky, jmenné prostory, překlepy atd.).
libstdc++
  • Implementace C++17 již není experimentální;
  • Přidány paralelní algoritmy, , , A již nevyžaduje -lstdc++fs;
  • Vylepšená experimentální podpora pro C++2a ( , , std::bind_front atd.);
  • Podpora pro otevírání proudů souborů v systému Windows, jejichž cesty obsahují jiné než znakové znaky;
  • Počáteční podpora na Windows;
  • Počáteční podpora pro Networking TS.
D

Jazyková verze D 2.076 je součástí GCC.

Fortran
  • Plná podpora pro asynchronní I/O;
  • Implementován argument BACK pro MINLOC a MAXLOC;
  • Implementované funkce FINDLOC a IS_CONTIGOUS;
  • Byla implementována syntaxe pro přístup ke komponentám komplexních čísel: c%re a c%im;
  • Implementovaná syntaxe str%len a a%kind;
  • Implementované C deskriptory a hlavička ISO_Fortran_binding.h;
  • Uvolněné požadavky na výsledek funkcí MAX a MIN, když jeden z argumentů je NaN;
  • Přidána možnost -fdec-include;
  • Doplněna směrnice VESTAVĚNÝ.
libgccjit

Další

Mnoho změn specifických pro architekturu a OS.

Zdroj: linux.org.ru

Přidat komentář