Þann 3. maí fór fyrsta opinbera útgáfan af níundu útgáfunni af GCC fram: GCC 9.1.
Það inniheldur margar verulegar endurbætur og viðbætur miðað við þann áttunda
útgáfu.
Almennar breytingar
Valkostir
- Skipanir sem samþykkja stærð styðja nú 64-bita gildi og viðskeyti til að tilgreina stærð;
- Bætt við valmöguleika -fley-patching, til að stjórna hagræðingum sem eru hugsanlega eyðileggjandi fyrir kraftmikla, kóða skipti;
- Bætt við --completion valmöguleika til að styðja sjálfvirka útfyllingu í skipanaskelinni;
- Greining þýðanda inniheldur nú línunúmer (-fno-greiningar-sýna-línutölur) Og
tegund upplýsingar (fno-greiningar-sýningarmerki); - Bætt við valmöguleika -fdiagnostics-format=json að gefa út greiningar á JSON sniði;
- Valkostir til að tilgreina jöfnun (-falign-aðgerðir, til dæmis) getur nú samþykkt nokkra jöfnunarvalkosti;
- Bætt við valkostum til að sía lista yfir skrár (-fprofile-filter-skrár, -fprofile-útiloka-skrár), sem eru stjórnað af prófílstjóranum;
- AddressSanitizer notar nú þéttari röðun til að ná ógildum aðgangi að breytum á staflanum;
- Fjölmargar framleiðslubætur -fopt-upplýsingar;
- Bætt við valmöguleika -fsave-optimization-record til að vista hagræðingarskýrsluna í skrá;
- Bætt við valmöguleika -fipa-stack-alignment и -fipa-tilvísun-aðgangshæft.
Nýir innbyggðir eiginleikar
Nýr eiginleiki
Annað
Fjölmargar endurbætur á kóðaframleiðslu sem tengjast:
- kynslóð rofabygginga;
- hagræðingar milli málsmeðferðar;
- hagræðingu byggt á upplýsingum um snið;
- hagræðingu á samsetningarstigi (LTO);
Einnig er innra snið gcov nú JSON, og nýi valkosturinn --nota-heita-liti felur í sér að lita kóðalínur eftir því hversu oft þær eru notaðar.
Tungumál
Gæði og heilleiki framkvæmdar OpenACC Tungumálin C, C++ og Fortran halda áfram að bæta sig.
C-lík tungumál
- Að hluta til stuðningur við OpenMP 5.0 hefur verið innleiddur;
- Bætt við eiginleika __builtin_convertvector;
- Viðvörun bætt við -Vaddress-of-packed-member;
- Endurbætur á fjölda núverandi viðvarana;
- Villutextinn þegar rangur fjöldi frumbreyta er færður í fjölvi inniheldur nú yfirlýsinguna um fjölva sjálfan;
- Umbætur á tillögum um prentvilluleiðréttingu.
C
- Styðjið _Static_assert með einni röksemdafærslu fyrir -std=c2x (framtíðar C staðall);
- Ný viðvörun -Wabsolute-gildi, sem grípur ranga tegund rifrilda fyrir föll eins og abs().
C + +
- Nýjar viðvaranir: -Uúrelt-afrit,
- Winit-listi-líftími,
-Óþarfi-hreyfing,
-Wapsimizing-hreyfa,
-Wclass-umbreyting; - Unnið er að því að innleiða nýja eiginleika frá framtíðarstaðlinum C++2a;
- Framendinn geymir nú nákvæmari upplýsingar um fjölda frumkóðaþátta, sem gerir þér kleift að birta ítarlegri upplýsingar í greiningu;
- Bætt greining fyrir ofhlaðnar aðgerðir, tvöfalda rekstraraðila, aðgerðarköll og sniðstrengi;
- Bætti við sjálfvirkum lagfæringum sem studdar eru af sumum þróunarumhverfi fyrir fjölda vinsælra villna (vantar sviga, nafnrými, innsláttarvillur osfrv.).
libstdc++
- C++17 útfærslan er ekki lengur tilraunaverkefni;
- Bætt við samhliða reikniritum, , , A krefst ekki lengur -lstdc++fs;
- Bættur tilraunastuðningur fyrir C++2a ( , , std::bind_front o.s.frv.);
- Stuðningur við að opna skráarstrauma á Windows þar sem slóðir innihalda stafi sem ekki eru bleikju;
- Upphaflegur stuðningur á Windows;
- Upphaflegur stuðningur við Networking TS.
D
D tungumálaútgáfa 2.076 er innifalin í GCC.
Fortran
- Fullur stuðningur fyrir ósamstillt I/O;
- Innleidd BACK rök fyrir MINLOC og MAXLOC;
- Innleitt FINLOC og IS_CONTIGOUS aðgerðir;
- Setningafræðin fyrir aðgang að íhlutum flókinna talna hefur verið útfærð: c%re og c%im;
- Innleidd setningafræði str%len og a%kind;
- Innleiddir C lýsingar og ISO_Fortran_binding.h haus;
- Slakaðar kröfur fyrir niðurstöðu MAX og MIN falla þegar ein af röksemdunum er NaN;
- Bætt við valmöguleika -fdec-innihalda;
- Tilskipun bætt við INNBYGGÐ.
libgccjit
- Bætt við eiginleika gcc_jit_context_add_driver_option.
Annað
Margar breytingar á arkitektúr og stýrikerfi.
Heimild: linux.org.ru