Di 3ê Gulanê de, yekem serbestberdana giştî ya guhertoya nehemîn a GCC pêk hat: GCC 9.1.
Ew li gorî ya heştemîn gelek çêtirkirin û zêdekirinên girîng dihewîne
awa.
Guherandinên gelemperî
Vebijarkên
- Fermanên ku mezinahiyê qebûl dikin naha nirx û paşgirên 64-bit piştgirî dikin da ku mezinahiyê diyar bikin;
- Vebijêrkek zêde kir -live-patching, ji bo kontrolkirina optimîzasyonên ku potansiyel wêranker in ji bo dînamîk, veguheztina kodê;
- Vebijarka --temamkirinê hate zêdekirin da ku di pelika fermanê de temamkirina otomatîkî piştgirî bike;
- Teşhîskirina berhevkar nuha jimareyên rêzê vedihewîne (-fno-diagnostics-show-line-hejmar) û
agahî binivîsin (fno-diagnostics-show-labels); - Vebijêrkek zêde kir -fdiagnostics-format=json ji bo deranîna tespîtkirina di formata JSON;
- Vebijarkên ji bo diyarkirina hevbendiyê (-falign-fonksiyonên, wek nimûne) naha dikare çend vebijarkên lihevkirinê qebûl bike;
- Vebijarkên ji bo fîlterkirina navnîşa pelan zêde kirin (-fprofile-filter-pel, -fprofile-exclude-files), ku ji hêla profîlek ve têne saz kirin;
- AddressSanitizer naha hevrêziya tevlihevtir bikar tîne da ku gihîştinên nederbasdar ên guhêrbarên li ser stikê bigire;
- Gelek pêşveçûnên hilberê -fopt-info;
- Vebijêrkek zêde kir -fsave-optimîzasyon-qeyd ji bo tomarkirina rapora optimîzasyonê li pelek;
- Vebijêrkek zêde kir -fipa-stack-alignment и -fipa-referans-navnîşan.
Taybetmendiyên nû yên çêkirî
Taybetmendiya nû
- kopî.
Din
Gelek çêtirkirinên hilberîna kodê yên têkildarî:
- nifşkirina avahiyên veguherînê;
- optimîzekirinên nav-procedural;
- optîmîzekirin li ser bingeha agahdariya profîlê;
- optimîzekirin di qonaxa civînê de (LTO);
Di heman demê de forma navxweyî ya gcov naha JSON e, û vebijarka nû ye --bikaranîna-germ-rengan rengdêrên xêzên kodê li ser bingeha çend caran têne bikar anîn vedihewîne.
Zimanan
Qalîteya û temamkirina pêkanîna OpenACC zimanên C, C++, û Fortran pêşveçûna xwe berdewam dikin.
zimanên wek C
- Piştgiriya qismî ji bo OpenMP 5.0 hate pêkanîn;
- Taybetmendiya zêdekirî __builtin_convertvector;
- Hişyarî zêde kir -Waddress-of-packed-endam;
- Pêşketinên ji bo hejmarek hişyariyên heyî;
- Nivîsa xeletiyê dema ku hejmarek xelet a argumanan ji makroyekê re derbas dike, naha ragihandina makroyê bixwe jî dihewîne;
- Pêşniyarên rastkirina tîpan çêtir kirin.
C
- Piştgiriya _Static_assert bi yek argumana -std=c2x (standard C ya pêşerojê);
- Hişyariya nû -Nirxeya bêbext, ku ji bo fonksiyonên wekî abs() tîpa argumana çewt digire.
C ++
- Hişyariyên nû: -Wêdeprecated-kopî,
-Winit-list-lifetime,
-Wredundant-tevger,
-Wpessimizing-tevger,
-Wclass-guhertin; - Ji bo pêkanîna taybetmendiyên nû yên ji standarda pêşerojê xebat tê meşandin C++2a;
- Pêşîn naha agahdariya rasttir di derheqê hejmarek hêmanên koda çavkaniyê de hilîne, ku dihêle hûn di tespîtkirinê de agahdariya berfirehtir nîşan bidin;
- Ji bo fonksiyonên zêde barkirî, operatorên binary, bangên fonksiyonê û rêzikên formatê tespîtkirina çêtir kirin;
- Serrastkirinên otomatîkî yên ku ji hêla hin hawîrdorên pêşkeftinê ve têne piştgirî kirin ji bo hejmarek xeletiyên populer (parantez winda ne, cîhên navan, xeletî, hwd.) zêde kirin.
libstdc++
- Pêkanîna C++17 êdî ne ezmûnî ye;
- Algorîtmayên paralel lê zêde kirin, , , A êdî hewce nake -lstdc++fs;
- Piştgiriya ezmûnî ya çêtir ji bo C++2a ( , , std::bind_front, hwd.);
- Piştgiriya vekirina pelên pelan li ser Windows-ê ku rêyên wan tîpên ne-char hene;
- Piştgiriya destpêkê li ser Windows;
- Piştgiriya destpêkê ji bo Networking TS.
D
Guhertoya zimanê D 2.076 di nav GCC de ye.
Fortran
- Piştgiriya tevahî ji bo I/O asynchronous;
- Ji bo MINLOC û MAXLOC argûmana PAŞÊ pêk anîn;
- Fonksiyonên FINDLOC û IS_CONTIGOUS pêkanîn;
- Hevoksaziya ji bo gihîştina pêkhateyên jimareyên tevlihev hatiye pêkanîn: c%re û c%im;
- Hevoksaziya str%len û a% kind;
- Descriptors C û sernavê ISO_Fortran_binding.h bicîh kirin;
- Dema ku yek ji argumanan NaN e, ji bo encamên fonksiyonên MAX û MIN-ê hewcedariyên aram;
- Vebijêrkek zêde kir -fdec-tevlî;
- Derhêner zêde kirin BUILTIN.
libgccjit
- Taybetmendiya zêdekirî gcc_jit_context_add_driver_option.
Din
Gelek guhertinên mîmarî- û OS-taybetî.
Source: linux.org.ru