GCC 9.1


GCC 9.1

3. mája sa uskutočnilo prvé verejné vydanie deviatej verzie GCC: GCC 9.1.
Oproti ôsmemu obsahuje veľa významných vylepšení a doplnkov
verzia.

Všeobecné zmeny

Možnosti
Nové vstavané funkcie
Nový atribút
Ďalšie

Početné vylepšenia generovania kódu súvisiace s:

  • generovanie konštruktov spínačov;
  • medziprocedurálne optimalizácie;
  • optimalizácia založená na profilovacích informáciách;
  • optimalizácia v štádiu montáže (LTO);

Tiež interný formát gcov je teraz JSON a nová možnosť --použite-horúce-farby zahŕňa vyfarbenie riadkov kódu podľa toho, ako často sa používajú.

Jazyky

Kvalita a kompletnosť realizácie OpenACC jazyky C, C++ a Fortran sa neustále zlepšujú.

Jazyky podobné C
  • Bola implementovaná čiastočná podpora pre OpenMP 5.0;
  • Pridaná funkcia __builtin_convertvector;
  • Pridané varovanie -Waddress-of-packed-member;
  • Vylepšenia množstva existujúcich varovaní;
  • Chybový text pri odovzdávaní nesprávneho počtu argumentov do makra teraz obsahuje deklaráciu samotného makra;
  • Vylepšenia návrhov na opravu preklepov.
C
  • Podporte _Static_assert s jedným argumentom pre -std=c2x (budúci štandard C);
  • Nové varovanie -Absolútna hodnota, ktorý zachytáva nesprávny typ argumentu pre funkcie ako abs().
C + +
  • Nové upozornenia: -Zastaraná kópia,
    -Doživotný zoznam Winit,
    -Wredundant- move,
    -Wpesimizing- move,
    -Wclass-konverzia;
  • Pracuje sa na implementácii nových funkcií z budúceho štandardu C++2a;
  • Frontend teraz ukladá presnejšie informácie o množstve prvkov zdrojového kódu, čo umožňuje zobraziť podrobnejšie informácie v diagnostike;
  • Vylepšená diagnostika pre preťažené funkcie, binárne operátory, volania funkcií a formátovacie reťazce;
  • Pridané automatické opravy podporované niektorými vývojovými prostrediami pre množstvo populárnych chýb (chýbajúce zátvorky, menné priestory, preklepy atď.).
libstdc++
  • Implementácia C++17 už nie je experimentálna;
  • Pridané paralelné algoritmy, , , A už nevyžaduje -lstdc++fs;
  • Vylepšená experimentálna podpora pre C++2a ( , , std::bind_front atď.);
  • Podpora otvárania prúdov súborov v systéme Windows, ktorých cesty obsahujú znaky bez znakov;
  • Počiatočná podpora v systéme Windows;
  • Počiatočná podpora pre Networking TS.
D

Jazyková verzia D 2.076 je súčasťou GCC.

Fortran
  • Plná podpora pre asynchrónne I/O;
  • Implementovaný argument BACK pre MINLOC a MAXLOC;
  • Implementované funkcie FINDLOC a IS_CONTIGOUS;
  • Bola implementovaná syntax pre prístup ku komponentom komplexných čísel: c%re a c%im;
  • Implementovaná syntax str%len a a%kind;
  • Implementované C deskriptory a hlavička ISO_Fortran_binding.h;
  • Uvoľnené požiadavky na výsledok funkcií MAX a MIN, keď jeden z argumentov je NaN;
  • Pridaná možnosť -fdec-include;
  • Pridaná smernica VSTAVANÝ.
libgccjit

Ďalšie

Veľa zmien špecifických pre architektúru a OS.

Zdroj: linux.org.ru

Pridať komentár