GCC 11.1 twb tau tshaj tawm lawm, cov no yog lawv cov xov xwm tseem ceeb tshaj plaws thiab hloov

Tom qab ib xyoos ntawm txoj kev loj hlob, GCC 11.1 compiler suite tso tawm tshiab tso tawm, thawj qhov kev tso tawm tseem ceeb hauv GCC 11.x ceg tshiab. Raws li tus lej lej lej tshiab tshiab, version 11.0 tau siv thaum txhim kho, thiab tsis ntev ua ntej tso GCC 11.1, ib ceg ntawm GCC 12.0 twb tau muab laij tawm los ua qhov loj dua tshiab ntawm GCC 12.1.

GCC 11.1 sawv rau qhov hloov mus rau lub neej ntawd debug ntaub ntawv hom DWARF 5, kev txiav txim siab tsis koom ua ke ntawm C ++ 17 tus qauv ("-std = gnu ++ 17"), kev txhim kho tseem ceeb hauv kev sib raug zoo nrog C ++ 20 tus qauv, sim kev txhawb rau C ++ 23, txhim kho muaj feem rau yav tom ntej tus qauv ntawm cov lus C (C2x), kev ua haujlwm tshiab muaj txiaj ntsig.

GCC 11.1 Cov Qauv Tseem Ceeb Tshiab

Cov qauv pib rau C ++ lus tau hloov pauv los siv C ++ 17 tus qauv, hloov ntawm C ++ 14 yav dhau los thov. Nws yog qhov ua tau rau xaiv kev xiam oob qhab C ++ 17 tus cwj pwm tshiab thaum ua cov qauv uas siv lwm cov qauv ua qhov tsis tseem ceeb (-fno-new-ttp-txuam).

Txhawb kev ntxiv rau kev kho vajtse kom ceev ntawm AddressSanitizer cov cuab yeej, uas tso cai rau koj los txiav txim qhov tseeb ntawm kev nkag mus rau thaj chaw nco, tshaj qhov txwv ntawm cov kev txwv tsis pub siv, thiab qee yam kev ua yuam kev thaum ua haujlwm nrog nco. Tam sim no, kho vajtse nrawm tsuas yog muaj rau AArch64 architecture thiab tsom rau nws qhov kev siv thaum muab tso ua ke Linux Linux.

Lwm qhov novelty uas nthuav tawm yog tus kev ua tau zoo thiab kev txhim kho ntawm cov txheej txheem, raws li IPA-modref pass tau ntxiv (-fipa-modref) los taug qab cov phiv rau hauv kev hu ua haujlwm thiab txhim kho kev txheeb xyuas qhov tseeb. Dhau li kuj a txhim kho kev ua tiav ntawm IPA-ICF pass (-fipa-icf), uas txo kev suav ua kom tsis sib haum thiab nce tus naj npawb ntawm kev ua haujlwm tsis sib xws uas cov blocks zoo ntawm cov cai sib xyaw ua ke.

El profile-uas tau tsav optimization cav (PWG), txhim kho "-fprofile-muaj nuj nqis" hom los ntawm kev khaws cov ntsiab lus ntxiv rau kev hu ncaj qha.

Tsis tas li ntawd Txuas ntxiv siv ntawm OpenMP 5.0 tus qauv yog tseem ceeb (Qhib Ntau Txuj Ci), nyob rau hauv uas ntxiv kev txhawb nqa thawj zaug rau kev ua haujlwm cov lus qhia thiab muaj peev xwm siv cov loops tsis yog sib xws hauv OpenMP ntxiv. OMP_TARGET_OFFLOAD ib puag ncig hloov tau tam sim no tau txais kev txhawb nqa.

Qhov kev siv ntawm OpenACC 2.6 thaum uas tig mus ua ke cov lus qhia tshwj xeeb muab rau C, C ++ thiab Fortran cov lus, uas txhais cov cuab yeej rau kev tshem tawm haujlwm mus rau GPUs thiab cov txheej txheem tshwj xeeb xws li NVIDIA PTX, tau ua kom zoo dua.

Txog cov lus ntawm tsev neeg C, tus cwj pwm tshiab "no_stack_protector" tau nqis tes ua, tsim los cim cov haujlwm rau qhov twg thaiv kev tiv thaiv yuav tsum tsis txhob ua ("-fstack-protector"). Lub "malloc" tus cwj pwm tau txuas ntxiv nrog kev txhawb nqa los nrhiav cov khub ntawm hu kom faib thiab nco dawb, uas yog siv nyob rau hauv qhov ntsuas cuam tshuam zoo li qub kom paub txog qhov cim xeeb tsis raug (lub cim xeeb txeej, kev siv tom qab pub dawb, hu ob zaug rau kev ua haujlwm pub dawb, thiab lwm yam) thiab sau cov lus ceeb toom "-Wmismatched-dealloc", "-Wmismatched-new-delete" thiab " -Free-nonheap-object "qhia txog cov haujlwm uas tsis tsim nyog mus ua lag luam thiab faib chaw.

Thaum tsim cov debugging cov ntaub ntawv, DWARF 5 hom yog siv los ntawm lub neej ntawd, uas, piv rau cov ua ntej dhau los, tso cai rau kev tsim ntawm debugging cov ntaub ntawv uas yog 25% ntau dua. Kev them nyiaj yug tag nrho DWARF 5 yuav tsum muaj binutils tsawg kawg version 2.35.2.

Enhanced ThreadSanitizer hom muaj peev xwm (-fsanitize = xov), txij li muaje ntxiv kev txhawb nqa rau runtimes lwm qhov thiab ib puag ncig, raws li kev txhawb nqa rau Kernel Concurrency Sanitizer (KCSAN) cov cuab yeej debugging kom pom kev sib tw haiv neeg tsis pub dhau lub Linux ntsiav. Cov kev xaiv tshiab "–param tsan-paub txog qhov txawv-nrov nrov" thiab "tsparam tsan-ntsuas-lom zem-nkag-tawm" tau ntxiv.

Lub vev xaib ntsuas muab cov ntawv suav ntawm txhua cov ntsiab lus ntawm txoj haujlwm thiab kev ua haujlwm ntxiv ntawm kev muaj peev xwm cuam tshuam nrog cov kev sib tshuam thiab cov ntawv xa mus rau cov khoom dhau los hauv daim phiaj ntws tswj (CFG).

Lub optimizer muaj peev xwm hloov pauv cov haujlwm ntawm cov kev cai ua haujlwm rau hauv kev hloov pauv hloov pauv, uas muaj tib yam hloov pauv. Nyob rau hauv lub neej yav tom ntej, kev hloov pauv tuaj yeem hloov kho uas siv cov lus qhia ntsuas me ntsis (los tswj cov kev hloov no, "-fbit-tests" qhov kev xaiv tau ntxiv lawm).

Rau C ++, ib feem ntawm qhov kev hloov pauv thiab kev tsim kho tshiab uas tau thov hauv C ++ 20 tus qauv tau muab coj los siv, suav nrog lub zog "ua ntu zus", pseudo-tus rhuav tshem tawm rau kev rhuav tshem lub neej ntawm cov khoom, siv chav kawm enum thiab suav. qhov loj me ntawm ib qho array hauv cov lus qhia "tshiab".

Yog tias koj xav paub ntxiv txog nws, koj tuaj yeem tshawb xyuas cov ntsiab lus hauv kev txuas mus ntxiv. 


Cov ntsiab lus ntawm tsab xov xwm ua raws li peb cov ntsiab cai ntawm kev tswj hwm kev ncaj nceesCov. Tshaj tawm ib qho yuam kev nyem no.

Yog thawj tus tuaj tawm tswv yim

Tso koj saib

Koj email chaw nyob yuav tsis tsum luam tawm. Yuav tsum tau teb cov cim nrog *

*

*

  1. Lub luag haujlwm rau cov ntaub ntawv: Miguel Ángel Gatón
  2. Lub hom phiaj ntawm cov ntaub ntawv: Tswj SPAM, kev tswj xyuas tawm tswv yim.
  3. Sau raws cai: Koj kev tso cai
  4. Kev sib txuas lus ntawm cov ntaub ntawv: Cov ntaub ntawv yuav tsis raug xa mus rau lwm tus neeg thib peb tsuas yog los ntawm kev txiav txim siab raug cai.
  5. Cov ntaub ntawv khaws cia: Cov Ntaub Ntawv khaws tseg los ntawm Occentus Networks (EU)
  6. Txoj Cai: Txhua lub sijhawm koj tuaj yeem txwv, rov qab thiab tshem tawm koj cov ntaub ntawv.