Fit-3 ta 'Mejju, saret l-ewwel rilaxx pubbliku tad-disa' verżjoni tal-GCC: GCC 9.1.
Fiha ħafna titjib u żidiet sinifikanti meta mqabbla mat-tmien
verżjoni.
Bidliet ġenerali
Għażliet
- Kmandi li jaċċettaw id-daqs issa jappoġġjaw valuri u suffissi ta '64 bit biex jispeċifikaw id-daqs;
- Għażla miżjuda -flive-patching, biex jikkontrollaw l-ottimizzazzjonijiet li huma potenzjalment distruttivi għal sostituzzjoni dinamika tal-kodiċi;
- Miżjud --completion għażla biex tappoġġja l-awto-tlestija fil-qoxra tal-kmand;
- Id-dijanjostiċi tal-kompilatur issa jinkludu numri tal-linja (-fno-diagnostics-show-line-numri) U
informazzjoni tat-tip (fno-diagnostics-show-tikketti); - Għażla miżjuda -fdiagnostics-format=json biex joħroġ dijanjostiċi fil-format JSON;
- Għażliet għall-ispeċifikazzjoni tal-allinjament (-falign-funzjonijiet, per eżempju) issa jistgħu jaċċettaw ftit għażliet ta 'allinjament;
- Għażliet miżjuda għall-iffiltrar tal-lista tal-fajls (-fprofile-filter-files, -fprofile-exclude-files), li huma strumentati mill-profiler;
- AddressSanitizer issa juża allinjament aktar kompatt biex jaqbad aċċessi invalidi għal varjabbli fuq il-munzell;
- Bosta titjib fil-produzzjoni -fopt-info;
- Għażla miżjuda -fsave-ottimizzazzjoni-rekord biex issalva r-rapport ta 'ottimizzazzjoni f'fajl;
- Għażla miżjuda -fipa-munzell-allinjament и -fipa-reference-indirizzabbli.
Karatteristiċi ġodda mibnija
Attribut ġdid
Oħra
Bosta titjib fil-ġenerazzjoni tal-kodiċi relatat ma':
- Ġenerazzjoni ta' kostruzzjonijiet ta' swiċċ;
- ottimizzazzjonijiet inter-proċedurali;
- ottimizzazzjoni bbażata fuq informazzjoni dwar profili;
- ottimizzazzjoni fl-istadju tal-assemblaġġ (LTO);
Ukoll il-format intern ta 'gcov issa huwa JSON u l-għażla l-ġdida --uża-hotness-kuluri tinvolvi linji tal-kulur tal-kodiċi bbażati fuq kemm-il darba jintużaw.
Lingwi
Kwalità u kompletezza tal-implimentazzjoni OpenACC il-lingwi C, C++, u Fortran ikomplu jitjiebu.
Lingwi bħal C
- Ġie implimentat appoġġ parzjali għal OpenMP 5.0;
- Funzjoni miżjuda __builtin_convertvector;
- Twissija miżjuda -Waddress-of-ippakkjat-membru;
- Titjib għal numru ta' twissijiet eżistenti;
- It-test ta' żball meta jgħaddi n-numru ħażin ta' argumenti lil makro issa jinkludi d-dikjarazzjoni tal-makro innifsu;
- Titjib għas-suġġerimenti ta' korrezzjoni tat-tajpijiet.
C
- Appoġġ _Static_assert b'argument wieħed għal -std=c2x (standard C futur);
- Twissija ġdida -Wassolute-valur, li jaqbad it-tip ta' argument ħażin għal funzjonijiet bħal abs().
C ++
- Twissijiet ġodda: -Wdeprecated-kopja,
-Winit-lista-ħajja,
-Wredundant-moviment,
-Wpessimizing-moviment,
-Wclass-konverżjoni; - Għaddejja ħidma biex jiġu implimentati karatteristiċi ġodda mill-istandard futur C++2a;
- Il-frontend issa jaħżen informazzjoni aktar preċiża dwar numru ta 'elementi ta' kodiċi tas-sors, li jippermettilek turi informazzjoni aktar dettaljata fid-dijanjostika;
- Dijanjostika mtejba għal funzjonijiet mgħobbija żżejjed, operaturi binarji, sejħiet ta 'funzjoni u kordi ta' format;
- Miżjud tissijiet awtomatiċi appoġġjati minn xi ambjenti ta 'żvilupp għal numru ta' żbalji popolari (parentesi nieqsa, spazji tal-isem, typos, eċċ.).
libstdc++
- L-implimentazzjoni C++17 m'għadhiex sperimentali;
- Algoritmi paralleli miżjuda, , , A m'għadux jeħtieġ -lstdc++fs;
- Appoġġ sperimentali mtejjeb għal C++2a ( , , std::bind_front, eċċ.);
- Appoġġ għall-ftuħ ta 'flussi ta' fajls fuq Windows li l-mogħdijiet tagħhom fihom karattri mhux char;
- Appoġġ inizjali fuq il-Windows;
- Appoġġ inizjali għan-Netwerking TS.
D
Il-verżjoni tal-lingwa D 2.076 hija inkluża fil-GCC.
Fortran
- Appoġġ sħiħ għal I/O mhux sinkroniku;
- Implimenta l-argument BACK għal MINLOC u MAXLOC;
- Funzjonijiet FINDLOC u IS_CONTIGOUS implimentati;
- Is-sintassi għall-aċċess għall-komponenti ta' numri kumplessi ġiet implimentata: c%re u c%im;
- Sintassi implimentata str%len u a%kind;
- Deskritturi C implimentati u header ISO_Fortran_binding.h;
- Rekwiżiti rilassati għar-riżultat tal-funzjonijiet MAX u MIN meta wieħed mill-argumenti huwa NaN;
- Għażla miżjuda -fdec-include;
- Direttiva miżjuda BUILTIN.
libgccjit
- Funzjoni miżjuda gcc_jit_context_add_driver_option.
Oħra
Ħafna bidliet speċifiċi għall-arkitettura u OS.
Sors: linux.org.ru