Olu hlobo lutsha lomhlanganisi we-GCC yenziwe yafumaneka kwiintsuku ezimbalwa ezidlulileyo ngeempawu ezintsha kunye nokulungiswa kwe-bug.
Ngokweqela leprojekthi ye-GNU GCC, le nguqulo intsha, Inguqulelo 9.1 yinguqulelo ephambili yomhlanganisi Inezinto ezintsha ezibalulekileyo ezingafumaneki kwi-GCC 8.x okanye kwiinguqulelo zangaphambili. I-GCC 9.1 kufuneka ize neempawu ezintsha zolwimi, Ukulungiswa okutsha kunye nokuphuculwa kokusebenza kwesoftware.
Malunga neGCC
GCC yingqokelela yomhlanganisi yenziwe yiprojekthi ye-GNU. Ngokuchanekileyo isoftware yasimahla Iyakwazi ukuqulunqa iilwimi ezahlukeneyo zenkqubo, kubandakanya i-C, C ++, iNjongo-C, iJava, iAda neFortran.
Kufuneka kuqatshelwe ukuba isetyenziselwa uphuhliso lwesoftware yasimahla. Umhla wokukhutshwa komhlanganisi ophambili ubuyela ngoMeyi 2018, uguqulelo 8.1.
UJakub Jelinek, umphuhlisi weRed Hat, ucacisile ukuba i-GCC 8.1 imele ukukhutshwa okukhulu okuzisa izinto ezintsha ezingafumanekiyo kwi-GCC 7.x nakwiinguqulelo zangaphambili ze-GCC.
Okwangoku, isiphelo esingaphambili se-C ++ sibonelele ngenkxaso yokulinga yeminye imisebenzi ye-C ++ 2a nge -std = c ++ 2a kunye -std = gnu ++ 2a.
Kwinguqulo 8.2 kwinqanaba lokuphucula ngokubanzi, i-LTO (ikhonkco lokulungiselela ixesha) imicimbi yokusebenza ngenxa yokugcwala kwi-algorithm yokwahlulahlula ngexesha lokudalwa kweefayile ezinkulu zokubini.
Ukulungiswa kuqhubekile kwisebe le-8.x ngokukhutshwa kwenguqulo yomhlanganisi 8.3 kuFebruwari odlulileyo. Olu khululo yayikukukhutshwa kwe-bugfix eyayineepatches zokuhlehla kwi-GCC 8.2 xa kuthelekiswa neenguqulelo zangaphambili ze-GCC. Iqela le-GCC lisungule isebe elitsha nge-3 kaMeyi, likhupha uguqulelo 9.
Yintoni entsha kwi-GCC 9.1?
Kule nguqulo, Inkxaso ye-C ++ 17 yaziswa okoko inguqulelo yomhlanganisi 8.1 ayisenamaval. Ke ngoko, inkxaso ye-C ++ 17 ngoku izinzile.
Ujongano lwe I-C ++ isebenzisa lonke ulwimi lwe-C ++ 17 kunye nenkxaso yethala leencwadi eliqhelekileyo le-C ++ sele liza kugqitywa.
El isiphelo esingaphambili kunye nelayibrari ye-C ++ ikwanazo nezinye izinto ezinekhowudi ezivela kwi-C ++ 2a. Kwakhona, i-GCC ine-interface entsha yolwimi lwe-D kwaye ngoku ixhasa i-OpenMP 5.0 kwaye iphantse yahlanganisa ngokupheleleyo inkxaso ye-OpenACC 2.5.
Kwabaninzi, i-GCC 9 yinguqulelo eyomeleleyo yomhlanganisi ebonelela ngeempawu ezintle kunye nezixhasi zokuphucula ukusebenza konjiniyela.
Phakathi kwezinto ezininzi ezintsha kwi-GCC 9.1 zezi:
- Inkxaso yenkxaso yokwenza ikhowudi ebhalwe ngolwimi lwenkqubo D;
- Umqolo omtsha we-AMD GCN GPU wongezwe kwi-GCC. Ukuphunyezwa okwangoku kuthintelwe ekuhlanganiseni iinkqubo ezizodwa.
- I-LRA ngoku yenziwe ngokungagqibekanga kwithagethi ye-ARC. Oku kungalawulwa yi -mlra.
- Inkxaso eyongeziweyo yekhowudi yomfanekiso kunye nesebe kunye neenkcazo zengxinano yesalathiso.
- Ukongezwa kwi-GCC kukudityaniswa kweprosesa entsha ye-C-SKY V2.
- Inkxaso ye-Intel MPX isusiwe.
- Umva omtsha ubuye wongezwa ngenkxaso yeprosesa ye-OpenRISC.
- Inkxaso yenkcazo ye-OpenACC 2.5 iphantse yagqitywa.
- Iphakheji yangaphakathi ye "GC" ye-GCC ngoku isebenzela i-C ++ kunye no-C (kwiinguqulelo zesiphene somhlanganisi).
- Inkxaso yeFortran kwi-GCC ikwaphuculwe. Ngoku iphatha i-asynchronous I / O kunye nezinye izinto.
- Ukulungiswa kokuLungiswa (i-OPI), iiNkqubo zokuSekwa kweProfayili, iiKhonkco zeXesha lokuLungiselela (i-LTO), kunye nezinye izinto ezininzi zokuqinisekisa ukuba umgangatho wekhowudi ungcono.
- Ixesha lilonke lokudityaniswa kweFirefox 66 kunye neLebreOffice 6.2.3 kumatshini osisiseko esi-8 incitshisiwe malunga neepesenti ezi-5 xa kuthelekiswa neGCC 8.3. Ubungakanani beefayile zezinto ze-LTO bucuthwe nge-7%.
- Ixesha lekhonkco le-LTO liphucula nge-11% koomatshini abayi-8 abaphambili kwaye iguquka ngokukuko kwimeko yolwakhiwo efanayo. Isigaba se-serial sokwenza ixesha lekhonkco ngama-28% ngokukhawuleza kwaye sisebenzisa imemori engama-20%. Inqanaba elifanayo ngoku lahlula izahlulo ezili-128 endaweni yama-32 kunye nokunciphisa ukusetyenziswa kwememori kumsebenzisi ngamnye ngama-30%.
- Inketho entsha "-fdiagnostics-format = json" yaziswa ngoxilongo kwifomathi efundekayo kumatshini.
Umthombo: https://gcc.gnu.org