GCC 9.1


GCC 9.1

3. mája sa konal prvý verejný vydanie deviatej verzie GCC: GCC 9.1.
Obsahuje množstvo významných vylepšení a pridania v porovnaní s ôsmou
verziou.

Hlavné zmeny

Možnosti
Nové vstavané funkcie
Nový atribút
Other

Množstvo vylepšení generovania kódu súvisiacich s:

  • generovaním switch konštrukcií;
  • medziProcedúrovými optimalizáciami;
  • optimalizáciou založenou na informáciách o profilovaní;
  • optimalizáciou v štádiu zostavovania (LTO);

Tiež interný formát gcov je teraz JSON a nová možnosť —use-hotness-colors zapína sfarbenie riadkov kódu v závislosti od frekvencie ich používania.

Jazyky

Kvalita a úplnosť implementácie OpenACC v jazykoch C, C++ a Fortran sa naďalej zlepšují.

C-podobné jazyky
  • Čiastočná podpora OpenMP 5.0 bola implementovaná;
  • Pridaná funkcia __builtin_convertvector;
  • Pridané varovanie -Waddress-of-packed-member;
  • Vylepšenia v rade existujúcich varovaní;
  • Text chyby pri prenose nesprávneho počtu argumentov do makra teraz zahŕňa deklaráciu samotného makra;
  • Vylepšenia v návrhoch na opravy preklepov.
C
  • Podpora _Static_assert s jedným argumentom pre -std=c2x (budúci štandard C);
  • Nové varovanie -Wabsolute-value, ktoré zachytáva nesprávny typ argumentu pre také funkcie ako abs().
C++
  • Nové varovania: -Wdeprecated-copy,
    -Winit-list-lifetime,
    -Wredundant-move,
    -Wpessimizing-move,
    -Wclass-conversion;
  • Pracuje sa implementáciou nových funkcií z budúceho štandardu C++ 2a;
  • Frontend teraz uchováva presnejšie informácie o niektorých prvkoch zdrojového kódu, čo umožňuje zobraziť podrobnejšie informácie v diagnostike;
  • Vylepšené diagnostiky pre preťažené funkcie, binárne operátory, volania funkcií a formátované reťazce;
  • Pridané automatické opravy podporované niektorými vývojovými prostrediami pre bežné chyby (chýbajúce zátvorky, menné priestory, preklepy atď.).
libstdc++
  • Implementácia C++17 už nie je experimentálna;
  • Pridané paralelné algoritmy, , , a už viac nevyžaduje -lstdc++fs;
  • Vylepšená experimentálna podpora C++ 2a (, , std::bind_front atď.);
  • Podpora otvárania súborových tokov vo Windows, ktorých cesty obsahujú znaky mimo char;
  • Počiatočná podpora vo Windows;
  • Počiatočná podpora Networking TS.
D

Jazyk D verzie 2.076 je zahrnutý v GCC.

Fortran
  • Úplná podpora asynchrónneho vstupu/výstupu;
  • Implementovaný argument BACK pre MINLOC a MAXLOC;
  • Implementované funkcie FINDLOC a IS_CONTIGUOUS;
  • Implementovaný prístupový syntaktický zápis pre zložené časti komplexných čísel: c%re a c%im;
  • Implementovaný syntaktický zápis str%len a a%kind;
  • Implementované C deskripty a hlavička ISO_Fortran_binding.h;
  • Zoslabili sa požiadavky na výsledky funkcií MAX a MIN, keď je jeden z argumentov NaN;
  • Pridaná možnosť -fdec-include;
  • Pridaná direktíva BUILTIN.
libgccjit

Other

Množstvo architektonicky a OS špecifických zmien.

Zdroj: linux.org.ru

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster