Mnamo Mei 3, toleo la kwanza la umma la toleo la tisa la GCC lilifanyika: GCC 9.1.
Ina maboresho mengi muhimu na nyongeza ikilinganishwa na ya nane
toleo.
Mabadiliko ya jumla
Chaguo
- Amri zinazokubali ukubwa sasa zinaauni maadili ya 64-bit na viambishi tamati ili kubainisha saizi;
- Chaguo lililoongezwa -enye-kuruka, kudhibiti uboreshaji ambao unaweza kuharibu kwa nguvu, uingizwaji wa msimbo;
- Imeongezwa --kukamilisha chaguo ili kusaidia ukamilishaji-otomatiki kwenye ganda la amri;
- Uchunguzi wa mkusanyaji sasa unajumuisha nambari za mstari (-fno-diagnostics-show-line-nambari) na
aina ya habari (fno-diagnostics-show-lebo); - Chaguo lililoongezwa -fdiagnostics-format=json kwa utambuzi wa matokeo katika umbizo la JSON;
- Chaguzi za kubainisha upatanishi (-tenda-za-uongo, kwa mfano) sasa inaweza kukubali chaguo kadhaa za upatanishi;
- Chaguzi zilizoongezwa za kuchuja orodha ya faili (-fprofile-kichujio-faili, -fprofile-ondoa-faili), ambazo zinatumiwa na wasifu;
- AddressSanitizer sasa inatumia upatanishi wa kompakt zaidi kupata ufikiaji usio sahihi kwa vigeuzo kwenye rafu;
- Maboresho mengi ya pato -fopt-maelezo;
- Chaguo lililoongezwa -fsave-optimization-rekodi kuhifadhi ripoti ya uboreshaji kwa faili;
- Chaguo lililoongezwa -fipa-stack-alignment ΠΈ -fipa-rejeleo-yanayoweza kushughulikiwa.
Vipengele vipya vilivyojumuishwa
Sifa mpya
P "SΠSΡRΡRΡRΞΌ
Maboresho mengi ya utengenezaji wa msimbo kuhusiana na:
- kizazi cha ujenzi wa kubadili;
- uboreshaji wa kiutaratibu;
- uboreshaji kulingana na maelezo ya wasifu;
- uboreshaji katika hatua ya kusanyiko (LTO);
Pia umbizo la ndani la gkov sasa ni JSON, na chaguo jipya --tumia-rangi-moto-moto inahusisha kupaka rangi mistari ya msimbo kulingana na mara ngapi inatumika.
Lugha
Ubora na ukamilifu wa utekelezaji OpenACC lugha C, C++, na Fortran zinaendelea kuboreshwa.
Lugha zinazofanana na C
- Usaidizi wa sehemu kwa OpenMP 5.0 umetekelezwa;
- Kipengele kilichoongezwa __builtin_convertvector;
- Imeongeza onyo -Waddress-ya-packed-mwanachama;
- Maboresho kwa idadi ya maonyo yaliyopo;
- Maandishi ya makosa wakati wa kupitisha nambari mbaya ya hoja kwa jumla sasa inajumuisha tamko la jumla yenyewe;
- Maboresho ya mapendekezo ya kusahihisha chapa.
C
- Saidia _Static_assert kwa hoja moja ya -std=c2x (kiwango cha C cha baadaye);
- Onyo jipya -Thamani-kabisa, ambayo hushika aina ya hoja isiyo sahihi kwa kazi kama vile abs().
C + +
- Maonyo mapya: -Imepuuzwa-nakala,
-Winit-orodha-maisha,
-Kusonga kwa nguvu,
-Kuongeza-kusonga,
-Wclass-uongofu; - Kazi inaendelea ili kutekeleza vipengele vipya kutoka kiwango cha baadaye C++2a;
- Eneo la mbele sasa huhifadhi taarifa sahihi zaidi kuhusu idadi ya vipengele vya msimbo wa chanzo, ambayo inakuwezesha kuonyesha maelezo ya kina zaidi katika uchunguzi;
- Uchunguzi ulioboreshwa wa vitendakazi vilivyojaa kupita kiasi, viendeshaji jozi, simu za kukokotoa na mifuatano ya umbizo;
- Marekebisho ya kiotomatiki yameongezwa yanayoauniwa na baadhi ya mazingira ya usanidi kwa makosa kadhaa maarufu (mabano yanayokosekana, nafasi za majina, chapa n.k.).
libstdc++
- Utekelezaji wa C++17 si wa majaribio tena;
- Aliongeza algorithms sambamba, , , A haihitaji tena -lstdc++fs;
- Usaidizi ulioboreshwa wa majaribio wa C++2a ( , , std::bind_front, n.k.);
- Usaidizi wa kufungua mitiririko ya faili kwenye Windows ambayo njia zake zina herufi zisizo za char;
- Msaada wa awali kwenye Windows;
- Msaada wa awali kwa Networking TS.
D
Toleo la lugha la D 2.076 limejumuishwa katika GCC.
Fortran
- Usaidizi kamili kwa I/O isiyo ya kawaida;
- Imetekelezwa hoja ya NYUMA ya MINLOC na MAXLOC;
- Vitendaji vya FINDLOC na IS_CONTIGOUS vimetekelezwa;
- Sintaksia ya kupata vipengele vya nambari changamano imetekelezwa: c%re na c%im;
- Sintaksia iliyotekelezwa str%len na aina ya%;
- Vifafanuzi vya C vilivyotekelezwa na kichwa cha ISO_Fortran_binding.h;
- Mahitaji yaliyopunguzwa ya matokeo ya chaguo za kukokotoa za MAX na MIN wakati mojawapo ya hoja ni NaN;
- Chaguo lililoongezwa -fdec-jumuisha;
- Maelekezo yameongezwa JENGWA.
libgccjit
- Kipengele kilichoongezwa gcc_jit_context_add_driver_option.
P "SΠSΡRΡRΡRΞΌ
Mabadiliko mengi ya usanifu- na OS maalum.
Chanzo: linux.org.ru