Op 3 maaie fûn de earste iepenbiere frijlitting fan 'e njoggende ferzje fan GCC plak: GCC 9.1.
It befettet in protte wichtige ferbetterings en tafoegings yn ferliking mei de achtste
ferzje.
Algemiene feroarings
Opsjes
- Kommando's dy't grutte akseptearje, stypje no 64-bit wearden en efterheaksels om grutte op te jaan;
- Opsje tafoege -flive-patching,om optimisaasjes te kontrolearjen dy't potinsjeel destruktyf binne foar dynamysk, koade ferfanging;
- Added --completion opsje om auto-foltôging te stypjen yn 'e kommando shell;
- Kompilerdiagnoaze omfettet no rigelnûmers (-fno-diagnostyk-show-line-nûmers) en
type ynformaasje (fno-diagnostyk-show-labels); - Opsje tafoege -fdiagnostics-format=json om diagnostyk út te fieren yn JSON-formaat;
- Opsjes foar it opjaan fan ôfstimming (-falign-funksjes, bygelyks) kin no in pear ôfstimmingsopsjes akseptearje;
- Opsjes tafoege foar it filterjen fan de list mei bestannen (-fprofile-filter-bestannen, -fprofile-útslute-bestannen), dy't wurde ynstrumintearre troch de profiler;
- AddressSanitizer brûkt no mear kompakte ôfstimming om ûnjildige tagongen ta fariabelen op 'e stapel te fangen;
- Tal fan útfier ferbetterings -fopt-ynfo;
- Opsje tafoege -fsave-optimisaasje-record om it optimisaasjerapport op te slaan yn in bestân;
- Opsje tafoege -fipa-stack-ôfstimming и -fipa-referinsje-adresberber.
Nije ynboude funksjes
Nije attribút
- copy.
Oare
Tal fan koade generaasje ferbetterings yn ferbân mei:
- generaasje fan switch konstruksjes;
- inter-proseduere optimalisaasjes;
- optimalisaasje basearre op profilearring ynformaasje;
- optimisaasje yn 'e gearstallingsfaze (LTO);
Ek it ynterne formaat fan gcov is no JSON, en de nije opsje --gebrûk-hotness-kleuren giet it om kleurlinen fan koade basearre op hoe faak se wurde brûkt.
Talen
Kwaliteit en folsleinens fan útfiering OpenACC de talen C, C++ en Fortran bliuwe te ferbetterjen.
C-like talen
- Diellike stipe foar OpenMP 5.0 is ymplementearre;
- Funksje tafoege __builtin_convertvector;
- Added warskôging -Wadadres-fan-ynpakt-lid;
- Ferbetterings oan in oantal besteande warskôgings;
- De flatertekst by it trochjaan fan it ferkearde oantal arguminten nei in makro omfettet no de deklaraasje fan de makro sels;
- Ferbetterings oan suggestjes foar typfoutkorreksje.
C
- Stypje _Static_assert mei ien argumint foar -std = c2x (takomstige C standert);
- Nije warskôging -Wabsolute-wearde, dat it ferkearde arguminttype fangt foar funksjes lykas abs().
C ++
- Nije warskôgingen: - Wdeprecated-kopy,
- Winit-list-libben,
-Wredundant-ferhuzing,
-Wpessimizing-move,
-Wclass-konverzje; - Der wurdt wurke oan it ymplementearjen fan nije funksjes út 'e takomstige standert C++2a;
- De frontend bewarret no krekter ynformaasje oer in oantal boarnekoade-eleminten, wêrtroch jo mear detaillearre ynformaasje yn diagnostyk sjen kinne;
- Ferbettere diagnostyk foar oerladen funksjes, binêre operators, funksjeoproppen en opmaakstrings;
- Automatyske reparaasjes tafoege, stipe troch guon ûntwikkelingsomjouwings foar in oantal populêre flaters (ûntbrekkende haakjes, nammeromten, typfouten, ensfh.).
libstdc++
- De ymplemintaasje fan C ++ 17 is net langer eksperiminteel;
- Parallelle algoritmen tafoege, , , A net mear fereasket -lstdc ++ fs;
- Ferbettere eksperimintele stipe foar C++2a ( , , std::bind_front, ensfh.);
- Stipe foar it iepenjen fan triemstreamen op Windows wêrfan de paden net-char-tekens befetsje;
- Inisjele stipe op Windows;
- Inisjele stipe foar Networking TS.
D
D-taalferzje 2.076 is opnommen yn GCC.
Fortran
- Folsleine stipe foar asynchrone I / O;
- Ymplementearre BACK argumint foar MINLOC en MAXLOC;
- Ymplementearre FINDLOC en IS_CONTIGOUS funksjes;
- De syntaksis foar tagong ta de komponinten fan komplekse getallen is ymplementearre: c%re en c%im;
- Implementearre syntaksis str%len en a%kind;
- Implementearre C descriptors en ISO_Fortran_binding.h header;
- Relaxearre easken foar it resultaat fan de MAX- en MIN-funksjes as ien fan 'e arguminten NaN is;
- Opsje tafoege -fdec-ynklusyf;
- Rjochtline tafoege BUILTIN.
libgccjit
- Funksje tafoege gcc_jit_context_add_driver_option.
Oare
In protte arsjitektuer- en OS-spesifike feroarings.
Boarne: linux.org.ru