An riga an saki GCC 11.1, waɗannan sune mahimman labarai da canje-canje

Bayan shekara guda ta ci gaba, GCC 11.1 mai tattara sabon juzu'i da aka fitar, fitowar farko ta farko a cikin sabon reshe na GCC 11.x. A karkashin sabon tsarin lambobin lambobi, an yi amfani da sigar 11.0 yayin ci gaba, kuma jim kadan kafin fitowar GCC 11.1, tuni an nemi reshen GCC 12.0 don samar da babban fasalin GCC 12.1 na gaba.

GCC 11.1 yana tsaye don miƙa mulki zuwa tsoho tsarin cire kuskure fayil DWARF 5, hada-hadar tsoffin tsarin C ++ 17 ("-std = gnu ++ 17"), ingantattun ci gaba cikin dacewa tare da daidaiton C ++ 20, goyan bayan gwaji don C ++ 23, ingantattun abubuwa masu alaƙa da makomar nan gaba da harshen C (C2x), sabbin abubuwan ingantawa.

GCC 11.1 Manyan Sabbin Fasali

An canza yanayin tsoho don yaren C ++ don amfani da mizanin C ++ 17, maimakon C ++ 14 da aka gabatar a baya. Zai yuwu a zaɓi musanya sabon halin C ++ 17 yayin sarrafa samfuran da ke amfani da wasu samfuran azaman siga (-fno-new-ttp-matching).

Ara tallafi don haɓaka kayan aiki na kayan aikin AddressSanitizer, wanda zai baka damar tantance hakikanin hanyoyin samun yankuna masu kwakwalwar da aka 'yanta, wadanda suka wuce iyakokin abubuwan da aka ware, da wasu nau'ikan kurakurai yayin aiki da kwakwalwar. Gaggawar kayan aiki a halin yanzu ana samun ta ne kawai don gine-ginen AArch64 kuma tana mai da hankali kan amfani da ita lokacin tattara kernel na Linux.

Wani sabon abu da aka gabatar shine ingantawa da haɓakawa tsakanin hanyoyin, yayin da aka ƙara sabon izinin IPA-modref (-fipa-modref) don bin diddigin illolin cikin kiran aiki da haɓaka ƙididdigar bincike. Bayan haka ma a inganta aiwatar da izinin IPA-ICF (-fipa-icf), wanda ke rage yawan amfani da ƙwaƙwalwar ajiya tare da ƙara yawan ayyukan haɗin kai wanda aka haɗa alamun tubalan iri ɗaya.

El Injin ingantawa wanda aka zaba dashi (PGO), ingantaccen yanayin "-fprofile-values" ta hanyar lura da ƙarin sigogi don kiran kai tsaye.

Har ila yau An ci gaba da aiwatar da daidaitattun OpenMP 5.0 (Bude Multi-Processing), a ciki addedara tallafi na farko don umarnin umarni da ikon amfani da madaukai marasa daidaituwa a cikin OpenMP yana gini. Canjin yanayi na OMP_TARGET_OFFLOAD yanzu ana tallafawa.

Aiwatar da OpenACC 2.6 kwatankwacin takamaiman shirye-shiryen da aka bayar don harsunan C, C ++ da Fortran, wanda ke bayyana kayan aiki don sauke ayyukan zuwa GPUs da masu sarrafawa na musamman kamar NVIDIA PTX, an inganta.

Ga harsunan dangin C, an aiwatar da sabon sifa "no_stack_protector", an tsara shi don yiwa ayyukan alama wanda bai kamata a kunna kariyar tari ba ("-fstack-protector"). An ƙaddamar da sifar "malloc" tare da tallafi don gano nau'ikan kira don warewa da ƙwaƙwalwar ajiya kyauta, wanda aka yi amfani dashi a cikin maɓallin picer don gano kuskuren ƙwaƙwalwar ajiya na yau da kullun (ƙwaƙwalwar ƙwaƙwalwa, amfani bayan kyauta, kira biyu zuwa aikin kyauta, da dai sauransu) da kuma gargaɗin tarawa "-Wmismatched-dealloc", "-Wmismatched- sabon-share" da " -Wap-nonheap-abu "bayar da rahoton rashin daidaituwa game da raba wurare da ayyukan raba wurare.

Lokacin samar da bayanan cire bayanai, ana amfani da tsarin DWARF 5 ta tsohuwa, wanda, idan aka kwatanta da sifofin da suka gabata, yana ba da damar ƙirƙirar bayanan haɓaka wanda yake 25% mafi ƙarami. Cikakken goyon bayan DWARF 5 yana buƙatar binutils aƙalla sigar 2.35.2.

Ingantaccen hanyar ThreadSanitizer damar aiki (-fsanitize = zare), tunda ehe yana ƙara tallafi don madadin runtimes da yanayin, kazalika da tallafi ga kayan aikin lalata Kernel Concurrency Sanitizer (KCSAN) don inganta yanayin tsere a cikin kwayar Linux. Sabbin hanyoyin "–param tsan-rarrabe-rarrabe" da "–param tsan-kayan aiki-func-fitarwa-fitarwa" an kara su.

Vectorizer yana ba da lissafin duk abubuwan aikin da ƙarin aiki na damar da ke hade da mahaɗan da nassoshi ga abubuwan da suka gabata a cikin jadawalin gudana (CFG).

Mai ingantawa yana da ikon canza jerin ayyukan aiki zuwa yanayi na canzawa, wanda ana kwatankwacin irin wannan canji. A nan gaba, ana iya sauya bayanan canji ta amfani da umarnin gwajin bit (don sarrafa wannan jujjuyawar, an ƙara zaɓi "-fbit-tests").

Don C ++, an aiwatar da wani ɓangare na canje-canje da sabbin abubuwa da aka gabatar a cikin ƙirar C ++ 20, gami da ayyukan kamala na zamani "consteval virtual", masu lalata maƙaryata don kawo ƙarshen zagayen rayuwar abubuwa, ta amfani da ajin enum da lissafi girman tsararru a cikin kalmar "sabo".

Idan kanaso ka kara sani game dashi, zaka iya bincika bayanan a mahada mai zuwa. 


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.