Den 3. Mee ass déi éischt ëffentlech Verëffentlechung vun der néngter Versioun vum GCC stattfonnt: GCC 9.1.
Et enthält vill bedeitend Verbesserungen an Ergänzunge am Verglach zum aachte
Versioun.
Allgemeng Ännerungen
Optiounen
- Kommandoen déi d'Gréisst akzeptéieren ënnerstëtzen elo 64-Bit Wäerter an Suffixe fir d'Gréisst ze spezifizéieren;
- Zousätzlech Optioun - fléien-patching, fir Optimisatiounen ze kontrolléieren déi potenziell zerstéierend fir dynamesch sinn, Code Ersatz;
- Added --Completion Optioun fir d'Auto-Fäerdegstellung an der Kommandoshell z'ënnerstëtzen;
- Compiler Diagnostik enthält elo Linnnummeren (-fno-Diagnostik-weisen-Linn-Zuelen) an
Typ Informatiounen (fno-Diagnostik-Show-Etiketten); - Zousätzlech Optioun -fdiagnostics-format=json fir Diagnostik am JSON-Format auszeginn;
- Optiounen fir Ausriichtung ze spezifizéieren (-falign-Funktiounen, zum Beispill) kann elo e puer Ausriichtungsoptiounen akzeptéieren;
- Zousätzlech Optiounen fir d'Lëscht vun de Dateien ze filteren (-fprofile-filter-Dateien, -fprofile-exclude-Dateien), déi vum Profiler instrumentéiert ginn;
- AddressSanitizer benotzt elo méi kompakt Ausrichtung fir ongëlteg Zougang zu Variabelen um Stack ze fangen;
- Vill Ausgabverbesserungen -fopt-info;
- Zousätzlech Optioun -fsave-Optimisatioun-Rekord fir den Optimiséierungsbericht op eng Datei ze späicheren;
- Zousätzlech Optioun -fipa-Stack-Ausrichtung и -fipa-Referenz-adresserbar.
Nei agebaute Funktiounen
Neien Attribut
Aner
Vill Code Generatioun Verbesserungen am Zesummenhang mat:
- Generatioun vu Schaltkonstruktiounen;
- interprozedural Optimisatiounen;
- Optimiséierung baséiert op Profiléierungsinformatioun;
- Optimisatioun op der Montagestadium (LTO);
Och dem gcov säin internen Format ass elo JSON, an déi nei Optioun --benotzt-Hotness-Faarwen involvéiert Faarflinne vum Code baséiert op wéi dacks se benotzt ginn.
Sproochen
Qualitéit an Vollständegkeet vun Ëmsetzung OpenACC d'Sprooche C, C++, a Fortran weider verbesseren.
C-ähnlech Sproochen
- Deelweis Ënnerstëtzung fir OpenMP 5.0 gouf ëmgesat;
- Zousätzlech Funktioun __builtin_convertvector;
- Zousätzlech Warnung -Waddress-vun-gepackt-Member;
- Verbesserunge vun enger Zuel vun bestehend Warnungen;
- De Fehlertext wann Dir déi falsch Unzuel vun Argumenter un e Makro passéiert, enthält elo d'Deklaratioun vum Makro selwer;
- Verbesserunge fir Tippfeelerkorrekturvirschléi.
C
- Ënnerstëtzt _Static_assert mat engem Argument fir -std = c2x (Zukunft C Standard);
- Nei Warnung -Wabsolut-Wäert, déi de falschen Argumenttyp fir Funktiounen wéi abs ().
C ++
- Nei Warnungen: -Warbeitet-Kopie,
- Winit-Lëscht-Liewensdauer,
-Wredundant-Beweegung,
-Wpessimizing-move,
-Wclass-Konversioun; - D'Aarbecht ass amgaang fir nei Features aus dem zukünftege Standard ëmzesetzen C++2a;
- De Frontend späichert elo méi genee Informatioun iwwer eng Rei Quellcode-Elementer, wat Iech erlaabt méi detailléiert Informatioun an der Diagnostik ze weisen;
- Verbesserte Diagnostik fir iwwerlaascht Funktiounen, binär Betreiber, Funktiounsruffen a Formatstringen;
- Automatesch Fixer bäigefüügt, ënnerstëtzt vun e puer Entwécklungsëmfeld fir eng Rei vu populäre Feeler (fehlend Klammern, Nummraim, Tippfehler, etc.).
libstdc++
- D'C ++ 17 Ëmsetzung ass net méi experimentell;
- Parallel Algorithmen bäigefüügt, , , A net méi erfuerdert -lstdc++fs;
- Verbesserte experimentell Ënnerstëtzung fir C++2a ( , , std::bind_front, etc.);
- Ënnerstëtzung fir Dateistreamen op Windows opzemaachen, deenen hir Weeër net-char Charaktere enthalen;
- Éischt Ënnerstëtzung op Windows;
- Éischt Ënnerstëtzung fir Networking TS.
D
D Sprooch Versioun 2.076 ass am GCC abegraff.
Fortran
- Voll Ënnerstëtzung fir asynchron I / O;
- Ëmgesat BACK Argument fir MINLOC an MAXLOC;
- Ëmgesat FINDLOC an IS_CONTIGOUS Funktiounen;
- D'Syntax fir Zougang zu de Komponente vu komplexe Zuelen ass ëmgesat ginn: c%re an c%im;
- Implementéiert Syntax str%len an a%kind;
- Ëmgesat C Descriptoren an ISO_Fortran_binding.h Header;
- Relaxéiert Ufuerderunge fir d'Resultat vun de MAX- a MIN-Funktiounen wann ee vun den Argumenter NaN ass;
- Zousätzlech Optioun -fdec-enthält;
- Direktiv dobäi BUILTIN.
libgccjit
- Zousätzlech Funktioun gcc_jit_context_add_driver_option.
Aner
Vill Architektur- an OS-spezifesch Ännerungen.
Source: linux.org.ru