Nan dat 3 me, premye lage piblik nevyèm vèsyon GCC la te fèt: GCC 9.1.
Li gen anpil amelyorasyon enpòtan ak adisyon konpare ak wityèm lan
vèsyon.
Chanjman jeneral
Opsyon
- Kòmandman ki aksepte gwosè kounye a sipòte valè 64-bit ak sifiks yo presize gwosè;
- Te ajoute opsyon -flive-patching,pou kontwole optimize ki potansyèlman destriktif nan ranplasman dinamik,kod;
- Te ajoute opsyon --completion pou sipòte oto-konpletman nan koki lòd la;
- Dyagnostik konpilatè kounye a gen ladan nimewo liy (-fno-diagnostics-montre-liy-nimewo) ak
kalite enfòmasyon (fno-diagnostics-montre-labels); - Te ajoute opsyon -fdiagnostics-format=json bay dyagnostik nan fòma JSON;
- Opsyon pou espesifye aliyman (-falign-fonksyon, pou egzanp) kapab kounye a aksepte yon koup nan opsyon aliyman;
- Te ajoute opsyon pou filtre lis fichye yo (-fprofile-filter-files, -fprofile-exclude-files), ki fè yo enstriman pa profiler la;
- AddressSanitizer kounye a itilize plis aliyman kontra enfòmèl ant pou kenbe aksè envalid nan varyab sou pil la;
- Anpil amelyorasyon pwodiksyon -fopt-info;
- Te ajoute opsyon -fsave-optimize-dosye pou konsève pou rapò optimize a nan yon dosye;
- Te ajoute opsyon -fipa-stack-aliyman и -fipa-reference-addressable.
Nouvo karakteristik entegre
Nouvo atribi
Lòt
Anpil amelyorasyon jenerasyon kòd ki gen rapò ak:
- jenerasyon konstriksyon switch;
- optimize entè-pwosedi;
- optimize ki baze sou enfòmasyon pwofil;
- optimize nan etap asanble a (LTO);
Epitou fòma entèn gcov a se kounye a JSON, ak nouvo opsyon an --itilize-koulè-hotness enplike liy koloran nan kòd ki baze sou konbyen fwa yo itilize yo.
Lang
Kalite ak konplè nan aplikasyon an OpenACC lang C, C++, ak Fortran kontinye amelyore.
C tankou lang
- Sipò pasyèl pou OpenMP 5.0 te aplike;
- Te ajoute fonksyon __builtin_convertvector;
- Te ajoute avètisman -Waddress-of-chaje-manm;
- Amelyorasyon nan yon kantite avètisman ki deja egziste;
- Tèks erè a lè w ap pase move kantite agiman nan yon makro kounye a gen ladan deklarasyon makro a li menm;
- Amelyorasyon nan sijesyon koreksyon typo.
C
- Sipòte _Static_assert ak yon sèl agiman pou -std=c2x (avni C estanda);
- Nouvo avètisman -Wabsolute-valè, ki trape move kalite agiman pou fonksyon tankou abs().
C ++
- Nouvo avètisman: -Wdeprecated-kopi,
-Winit-lis-toute lavi,
-Wredundant-deplase,
-Wpessimizing-deplase,
-Wclass-konvèsyon; - Travay ap fèt pou aplike nouvo karakteristik ki soti nan estanda nan lavni C++2a;
- Frontend la kounye a estoke enfòmasyon ki pi egzak sou yon kantite eleman kòd sous, ki pèmèt ou montre plis enfòmasyon detaye nan dyagnostik;
- Dyagnostik amelyore pou fonksyon twò chaje, operatè binè, apèl fonksyon ak fòma fisèl;
- Te ajoute ke kèk anviwònman devlopman te sipòte otomatikman pou yon kantite erè popilè (manke parantèz, espas non, fot, elatriye).
libstdc++
- C++17 aplikasyon an pa eksperimantal ankò;
- Te ajoute algoritm paralèl, , , A pa mande -lstdc++fs ankò;
- Amelyore sipò eksperimantal pou C++ 2a ( , , std::bind_front, elatriye);
- Sipò pou louvri kouran dosye sou Windows ki gen chemen ki gen karaktè ki pa char;
- Premye sipò sou Windows;
- Premye sipò pou Networking TS.
D
Vèsyon lang D 2.076 enkli nan GCC.
Fortran
- Sipò konplè pou I/O asynchrone;
- Aplike agiman BACK pou MINLOC ak MAXLOC;
- Aplike fonksyon FINDLOC ak IS_CONTIGOUS;
- Sentaks pou jwenn aksè nan eleman nimewo konplèks yo te aplike: c%re ak c%im;
- Aplike sentaks str%len ak a%kind;
- Aplike C deskriptè ak ISO_Fortran_binding.h header;
- Kondisyon rilaks pou rezilta fonksyon MAX ak MIN lè youn nan agiman yo se NaN;
- Te ajoute opsyon -fdec-include;
- Directive te ajoute KONSTWI.
libgccjit
- Te ajoute fonksyon gcc_jit_context_add_driver_option.
Lòt
Anpil achitekti- ak OS-espesifik chanjman.
Sous: linux.org.ru