GCC 9.1


GCC 9.1

3. května byl veřejně vydán první veřejný release deváté verze GCC: GCC 9.1.
Obsahuje řadu významných vylepšení a přídavků ve srovnání s osmou
verzí.

Obecné změny

Možnosti
Nové vestavěné funkce
Nový atribut
Jiné

Několik vylepšení generování kódu se vztahuje na:

  • generaci switch-konstrukcí;
  • meziprocedurální optimalizace;
  • optimalizaci založenou na profilačních informacích;
  • optimalizaci v fázi sestavení (LTO);

Také interní formát gcov nyní je JSON, a nová volba —use-hotness-colors zahrnuje zbarvení řádků kódu podle frekvence jejich použití.

Jazyky

Kvalita a úplnost implementace OpenACC v jazycích C, C++ a Fortran se nadále zlepšují.

Jazyky podobné C
  • Byla implementována částečná podpora OpenMP 5.0;
  • Byla přidána funkce __builtin_convertvector;
  • Bylo přidáno varování -Waddress-of-packed-member;
  • Vylepšení v řadě existujících varování;
  • Text chyby při předávání nesprávného počtu argumentů do makra nyní zahrnuje deklaraci samotného makra;
  • Vylepšení v návrzích na opravy překlepů.
C
  • Podpora _Static_assert s jedním argumentem pro -std=c2x (budoucí standard C);
  • Nové varování -Wabsolute-value, které zachycuje nesprávný typ argumentu pro takové funkce jako abs().
C++
  • Nová varování: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Probíhá implementace nových možností z budoucího standardu C++ 2a;
  • Frontend nyní uchovává přesnější informace o řadě prvků zdrojového kódu, což umožňuje zobrazit podrobnější informace v diagnostikách;
  • Zlepšeny diagnostiky pro přetížené funkce, binární operátory, volání funkcí a formátovací řetězce;
  • Přidána automatická oprava chyb pro řadu populárních chyb (chybějící závorky, jmenné prostory, překlepy atd.), kterou podporují některá vývojová prostředí.
libstdc++
  • Implementace C++17 už není experimentální;
  • Přidány paralelní algoritmy, , , a již nevyžaduje -lstdc++fs;
  • Zlepšena experimentální podpora C++ 2a (, , std::bind_front atd.);
  • Podpora otevírání souborových proudů na Windows, jejichž cesty obsahují znaky mimo char;
  • Základní podpora na Windows;
  • Základní podpora pro Networking TS.
DDoS

Jazyk D verze 2.076 je zahrnut ve verzi GCC.

Fortran
  • Úplná podpora asynchronního vstupu/výstupu;
  • Implementován argument BACK pro MINLOC a MAXLOC;
  • Implementovány funkce FINDLOC a IS_CONTIGUOUS;
  • Implementována syntaxe pro přístup k částem komplexních čísel: c%re a c%im;
  • Implementována syntaxe str%len a a%kind;
  • Implementovány deskriptory C a hlavička ISO_Fortran_binding.h;
  • Uvolněny požadavky na výsledek funkcí MAX a MIN, když je jeden z argumentů NaN;
  • Byla přidána možnost -fdec-include;
  • Byla přidána direktiva BUILTIN.
libgccjit

Jiné

Přesně množství architektonických a OS-specifických změn.

Zdroj: linux.org.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster