IGCC 11.1 isivele ikhishiwe, lezi yizindaba zayo nezinguquko ezibaluleke kakhulu

Ngemuva konyaka wentuthuko, Kukhishwe inguqulo entsha ye-GCC 11.1 compiler suite, ukukhishwa kokuqala okuphawulekayo egatsheni elisha le-GCC 11.x. Ngaphansi kohlelo olusha lokubala izinombolo, uhlobo 11.0 lwalusetshenziswa ngenkathi kuthuthukiswa, futhi ngaphambi nje kokukhishwa kwe-GCC 11.1, igatsha le-GCC 12.0 lase selivele lifolokiwe ukwenza inguqulo enkulu elandelayo ye-GCC 12.1.

I-GCC 11.1 ivelele ukuguqukela kufomethi yefayela lokulungisa iphutha iDWARF 5, ukufakwa okuzenzakalelayo kwe-C ++ 17 standard ("-std = gnu ++ 17"), ukuthuthuka okuphawulekayo kokuhambisana ne-C ++ 20 standard, ukwesekwa kokuhlola kwe-C ++ 23, ukuthuthuka okuhlobene nezinga elizayo le- ulimi lwe-C (C2x), ukwenziwa okusha kokusebenza.

Izici ezisha ze-GCC 11.1

Imodi ezenzakalelayo yolimi lwe-C ++ ishintshiwe kusetshenziswa indinganiso ye-C ++ 17, esikhundleni se-C ++ ehlongozwe ngaphambilini. Kungenzeka ngokukhetha ukukhubaza ukusebenza okusha kwe-C ++ 14 lapho ucubungula izifanekiso ezisebenzisa ezinye izifanekiso njengepharamitha (-fno-new-ttp-matching).

Kungezwe usekelo lokusheshiswa kwehadiwe yethuluzi le-AddressSanitizer, elikuvumela ukuthi unqume amaqiniso wokuthola izindawo zememori ezikhululekile, ukweqa umkhawulo wesibhaxana esabiwe, nezinye izinhlobo zamaphutha lapho usebenza ngememori. Njengamanje, ukusheshiswa kwehardware kutholakala kuphela ekwakhiweni kwe-AArch64 futhi kugxile ekusetshenzisweni kwayo lapho kuhlanganiswa i-Linux kernel.

Enye indlela entsha eveziwe yilezi ukulungiselelwa nokwenza ngcono phakathi kwezinqubo, njengoba kungezwa i-IPA-modref pass entsha (-fipa-modref) ukulandelela imiphumela emibi kumakholi womsebenzi nokuthuthukisa ukunemba kokuhlaziywa. Ngaphandle kwalokho futhi ukwenziwa ngcono kokudlula kwe-IPA-ICF (-fipa-icf), eyehlisa ukusetshenziswa kwememori yokuhlanganisa futhi inyuse inani lemisebenzi ehlanganisiwe lapho amabhulokhi afanayo ekhodi ahlanganisiwe.

El injini yokwenza okuqhutshwa iphrofayili (PGO), imodi ethuthukisiwe "-frofile-values" mode ngokugcina ithrekhi yamapharamitha amaningi wezingcingo ezingaqondile.

Futhi Ukuqhutshwa okuqhubekayo kwezinga le-OpenMP 5.0 kuyagqanyiswa (Open Multi-Processing), lapho ungeze ukusekelwa kokuqala kokuyalelwa kwesabelo kanye nekhono lokusebenzisa izihibe ezingafani ku-OpenMP kuyakha. Ukuhlukahluka kwemvelo kwe-OMP_TARGET_OFFLOAD manje kuyasekelwa.

Ukuqaliswa kokucaciswa kohlelo lwe-OpenACC 2.6 parallel okunikezwe izilimi ze-C, C ++ neFortran, ezichaza amathuluzi okwehlisa ukusebenza kuma-GPU kanye nama-processor akhethekile afana ne-NVIDIA PTX, kwenziwe ngcono.

Ezilimini zomndeni wakwa-C, kusetshenziswe imfanelo entsha "no_stack_protector" idizayinelwe ukumaka imisebenzi okungafanele inikwe amandla okuvikela isitaki ("-fstack-protector"). Isichasiso se- "malloc" sinwetshiwe ngokuxhaswa kokukhonjwa kwamakholi angabili ukuze kunikezwe futhi kukhunjulwe imemori, esetshenziswa ku-static parser ukuthola amaphutha ememori ejwayelekile (ukuvuza kwenkumbulo, ukusetshenziswa ngemuva kwamahhala, izingcingo eziphindwe kabili ukuya emsebenzini wamahhala, njll.) kanye nezixwayiso zokuhlanganisa "-Wmismatched-dealloc", "-Wmismatched- new-Dele" ne " -I-Free-nonheap-object "ebika imisebenzi yokuhanjiswa okungahambisani nokusebenza kwe-deallocation.

Lapho kukhiqizwa imininingwane yokulungisa iphutha, ifomethi ye-DWARF 5 isetshenziswa ngokuzenzakalela, okuthi, uma iqhathaniswa nezinguqulo ezedlule, ivumela ukwenziwa kwedatha yokulungisa iphutha okuyi-compact engu-25% ngaphezulu. Ukusekelwa okugcwele kwe-DWARF 5 kudinga ama-binutils okungenani inguqulo 2.35.2.

Amandla we-ThreadSanitizer athuthukisiwe (-fsanitize = intambo), ngoba yeboe ungeza ukusekelwa kwezinye izikhathi nezindawo, kanye nokusekelwa kwethuluzi lokulungisa iphutha le-Kernel Concurrency Sanitizer (KCSAN) lokuthola ngamandla izimo zomjaho ngaphakathi kwe-Linux kernel. Kungezwe izinketho ezintsha "-param tsan -hlukanisa-okuguquguqukayo" ne "-param tsan-instrument-func-entry-exit".

I-vectorizer inikeza ukubalwa kwezimali kwakho konke okuqukethwe komsebenzi nokucutshungulwa okungeziwe kwamakhono ahlobene nemiphambanandlela nezethenjwa zamabhulokhi wangaphambilini eshadini lokugeleza lokulawula (i-CFG).

I-optimizer inamandla okuguqula uchungechunge lwemisebenzi enemibandela ibe isisho sokushintsha, lapho kuqhathaniswa ukuguquguquka okufanayo. Ngokuzayo, inkulumo yezinguquko ingafakwa ikhodi kusetshenziswa imiyalo yokuhlola okuncane (ukulawula lokhu kuguqulwa, inketho ye- "-fbit-test" ingeziwe).

Ku-C ++, ingxenye yezinguquko nezinto ezintsha ezihlongozwayo kuzinga le-C ++ 20 zisetshenzisiwe, kufaka phakathi imisebenzi ebonakalayo "i-consteval virtual", ababulali bamanga bokuqeda umjikelezo wempilo yezinto, besebenzisa isigaba se-enum nokubala usayizi wamalungu afanayo kusisho esithi "okusha".

Uma ufuna ukwazi kabanzi ngayo, ungabheka imininingwane ku- isixhumanisi esilandelayo. 


Shiya umbono wakho

Ikheli lakho le ngeke ishicilelwe. Ezidingekayo ibhalwe nge *

*

*

  1. Ubhekele imininingwane: Miguel Ángel Gatón
  2. Inhloso yedatha: Lawula Ugaxekile, ukuphathwa kwamazwana.
  3. Ukusemthethweni: Imvume yakho
  4. Ukuxhumana kwemininingwane: Imininingwane ngeke idluliselwe kubantu besithathu ngaphandle kwesibopho esisemthethweni.
  5. Isitoreji sedatha: Idatabase ebanjwe yi-Occentus Networks (EU)
  6. Amalungelo: Nganoma yisiphi isikhathi ungakhawulela, uthole futhi ususe imininingwane yakho.