Le nguqulo entsha yomhlanganisi we-GCC yenziwe yatholakala ezinsukwini ezimbalwa ezedlule ngezici ezintsha nokulungiswa kwamaphutha.
Ngokuya ngethimba lephrojekthi le-GNU GCC, le nguqulo entsha, inguqulo 9.1 inguqulo enkulu yokuhlanganisa Iqukethe izici ezintsha ezibalulekile ezingatholakali ku-GCC 8.x noma izinhlobo zangaphambilini. I-GCC 9.1 kufanele ilethe izici zolimi ezintsha, ukulungiselelwa okusha nokwenza ngcono ukusebenza kwesoftware.
Mayelana ne-GCC
I-GCC iqoqo lokuhlanganisa kudalwe iphrojekthi ye-GNU. Kuyinto isoftware yamahhala Iyakwazi ukuhlanganisa izilimi ezahlukahlukene zokuhlela, kufaka phakathi i-C, C ++, Objective-C, Java, Ada neFortran.
Kumele futhi kuqashelwe ukuthi esetshenziselwa ukuthuthukiswa kwesoftware yamahhala. Ukukhishwa kwakamuva komhlanganisi omkhulu kubuyela emuva ngoMeyi 2018, inguqulo 8.1.
UJakub Jelinek, umthuthukisi weRed Hat, uchaze ukuthi i-GCC 8.1 imele ukukhishwa okukhulu okuletha izici ezintsha ezibalulekile ezingatholakali ku-GCC 7.x nakwezinguqulo zangaphambili ze-GCC.
Kuleli qophelo, ukuphela kwangaphambi kwe-C ++ kunikeze ukusekelwa kokuhlola kweminye imisebenzi ye-C ++ 2a ngezinketho -std = c ++ 2a kanye -std = gnu ++ 2a.
Enguqulweni engu-8.2 ezingeni lokuthuthuka okujwayelekile, izingqinamba zokusebenza kwe-LTO (Link Time Optimization) ngenxa yokuchichima ku-algorithm yokuhlukanisa ngesikhathi kwenziwa amafayili amakhulu kanambambili kulungisiwe.
Ukulungiswa kuqhubeke egatsheni le-8.x ngokukhishwa kwenguqulo yomhlanganisi 8.3 ngoFebhuwari odlule. Lokhu kukhishwa kwakungukukhishwa kwe-bugfix okwakuqukethe iziqeshana zokuhlehla ku-GCC 8.2 ngokuqhathaniswa nokukhishwa kwangaphambilini kwe-GCC. Ithimba le-GCC lethule igatsha elisha ngoMeyi 3, likhipha uhlobo 9.
Yini okusha ku-GCC 9.1?
Kule nguqulo, Ukusekelwa kwe-C ++ 17 okwethulwe njengoba inguqulo yomhlanganisi 8.1 ingasenalo ulwazil. Ngakho-ke, ukuxhaswa kwe-C ++ 17 manje kuzinzile.
Ukuxhumana kwe I-C ++ isebenzisa lonke ulimi lwe-C ++ 17 nokusekelwa komtapo wezincwadi ojwayelekile we-C ++ sekuzophela.
El i-front-end nelabhulali ye-C ++ nayo inezinye izici eziningi ezifakwe amakhodi kusuka ku-C ++ 2a. Futhi, i-GCC ine-interface entsha yolimi lwe-D futhi manje isekela kancane i-OpenMP 5.0 futhi icishe ihlanganise ngokuphelele ukusekelwa kwe-OpenACC 2.5.
Kwabaningi, i-GCC 9 inguqulo eqinile yomhlanganisi enikezela ngezici ezinhle nezithuthukisi zokuthuthukisa ukusebenza konjiniyela.
Phakathi kwezici eziningi ezintsha ku-GCC 9.1 kukhona:
- Ukusekelwa kokusekelwa kokuhlanganisa ikhodi ebhalwe ngolimi lwe-D lokuhlela;
- Kungezwe i-backend entsha ye-AMD GCN GPU ku-GCC. Ukuqaliswa okwamanje kukhawulelwe ekuhlanganiseni izinhlelo ezizodwa ezifakiwe.
- I-LRA manje inikwe amandla ngokuzenzakalela kokuqondiwe kwe-ARC. Lokhu kungalawulwa yi -mlra.
- Kungezwe ukusekelwa kwekhodi yesithombe nezitatimende zamagatsha nezenkomba.
- Kungezwe ku-GCC ukufakwa kweprosesa elisha le-C-SKY V2.
- Ukuxhaswa kwe-Intel MPX kususiwe.
- Kungezwe i-backend entsha yokuxhaswa kweprosesa ye-OpenRISC.
- Ukusekelwa kwemininingwane ye-OpenACC 2.5 sekuzophela.
- Iphakheji yangaphakathi ye-"CCT "yangaphakathi ye-GCC manje isebenza ku-C ++ naku-C (kuzinguqulo zokususa iphutha zomhlanganisi).
- Ukuxhaswa kwe-Fortran ku-GCC nakho kuthuthukisiwe. Manje iphatha i-O / O ye-asynchronous nezinye izici.
- Ukulungiswa kwe-interprocedure (OPI), ukulungiselelwa okususelwa kuphrofayili, ukulungiswa kwesikhathi sesixhumanisi (i-LTO), nokunye okuningi okulungiselelwe ukuqinisekisa ikhwalithi yekhodi engcono.
- Isikhathi esiphelele sokwakha iFirefox 66 neLibreOffice 6.2.3 kumshini we-8-core sincishiswe cishe ngo-5% ngokuqhathaniswa ne-GCC 8.3. Usayizi wamafayela ento ye-LTO wehliswe ngo-7%.
- Isikhathi sokuxhumanisa se-LTO sithuthuka ngo-11% kumishini eyisisekelo engu-8 futhi sithuthuka kakhulu ezindaweni ezengeziwe ezifanayo zokwakha. Isigaba se-serial sokusebenzisa isikhathi sesixhumanisi sishesha ngama-28% futhi sisebenzisa imemori engaphansi engama-20%. I-Parallel Stage manje ihlukanisa izingxenye ezingama-128 esikhundleni sama-32 futhi inciphisa ukusetshenziswa kwememori komsebenzisi ngamunye ngama-30%.
- Inketho entsha "-fdiagnostics-format = json" yethulwe ukuxilongwa kufomethi efundeka ngomshini.
Umthombo: https://gcc.gnu.org