GCC 11.1 ti tẹlẹ ti tu silẹ, iwọnyi ni awọn iroyin pataki julọ ati awọn ayipada rẹ

Lẹhin ọdun kan ti idagbasoke, GCC 11.1 akojọpọ akojọpọ ẹya tuntun ti a tujade, idasilẹ pataki akọkọ ni ẹka GCC 11.x tuntun. Labẹ ero nọmba nọmba tuntun, a lo ẹya 11.0 lakoko idagbasoke, ati ni pẹ diẹ ṣaaju itusilẹ ti GCC 11.1, ẹka ti GCC 12.0 ti tẹlẹ ti forked lati dagba ẹya pataki ti atẹle ti GCC 12.1.

GCC 11.1 duro fun iyipada si ọna kika aṣiṣe aṣiṣe aiyipada DWARF 5, ifisi aiyipada ti boṣewa C ++ 17 ("-std = gnu ++ 17"), awọn ilọsiwaju to ṣe pataki ni ibamu pẹlu bošewa C ++ 20, atilẹyin idanwo fun C ++ 23, awọn ilọsiwaju ti o ni ibatan si bošewa ọjọ iwaju ti ede C (C2x), awọn iṣapeye iṣẹ tuntun.

GCC 11.1 Main Awọn ẹya tuntun

Ipo aiyipada fun ede C ++ ti yipada lati lo boṣewa C ++ 17, dipo C ++ 14 ti a dabaa tẹlẹ. O ṣee ṣe lati yan yiyan mu ihuwasi C ++ 17 tuntun nigbati awọn awoṣe ṣiṣe ti o lo awọn awoṣe miiran bi ipilẹṣẹ (-fno-new-ttp-matching).

Afikun atilẹyin fun isare ohun elo ti ọpa AddressSanitizer, eyiti o fun ọ laaye lati pinnu awọn otitọ ti iraye si awọn agbegbe ominira ti iranti, ti o kọja awọn aala ti ifipamọ ti a pin, ati diẹ ninu awọn iru awọn aṣiṣe miiran nigbati o ba n ṣiṣẹ pẹlu iranti. Isare ohun elo Lọwọlọwọ wa nikan fun faaji AArch64 ati fojusi lori lilo rẹ nigbati o ba n ṣajọ ekuro Linux.

Aratuntun miiran ti a gbekalẹ ni awọn awọn iṣapeye ati awọn ilọsiwaju laarin awọn ilana, bi a ti fi iwe-aṣẹ IPA-modref tuntun kun (-fipa-modref) lati tọpinpin awọn ipa ẹgbẹ ni awọn ipe iṣẹ ati imudarasi iṣiro onínọmbà. Yato si tun kan ilọsiwaju imuse ti iwe-aṣẹ IPA-ICF (-fipa-icf), eyiti o dinku agbara iranti akopọ ati mu nọmba ti awọn iṣẹ iṣọkan pọ si eyiti awọn bulọọki aami kanna ti koodu ti dapọ.

El engine ti o dara ju ti iṣafihan profaili (PGO), ilọsiwaju "-fprofile-values" ipo nipa ṣiṣe atẹle awọn ipilẹ diẹ sii fun awọn ipe aiṣe-taara.

Bakannaa Tẹsiwaju imuse ti boṣewa OpenMP 5.0 ti wa ni afihan (Ṣi i Ṣiṣẹpọ pupọ), ninu eyiti ṣafikun atilẹyin akọkọ fun itọsọna iṣẹ iyansilẹ ati agbara lati lo awọn iyipo ti kii ṣe aṣọ ni OpenMP kọ. Oniyipada ayika OMP_TARGET_OFFlix ni atilẹyin bayi.

Imuse ti iru alaye siseto OpenACC 2.6 ti a pese fun awọn ede C, C ++ ati awọn ede Fortran, eyiti o ṣalaye awọn irinṣẹ lati gbe awọn iṣiṣẹ jade si awọn GPU ati awọn onimọṣẹ pataki bii NVIDIA PTX, ti ni ilọsiwaju.

Fun awọn ede ti idile C, a ti fi ipinfunni tuntun kan "no_stack_protector" ṣe, ti a ṣe apẹrẹ lati samisi awọn iṣẹ fun eyiti idaabobo akopọ ko yẹ ki o muu ṣiṣẹ ("-fstack-protector"). A ti fa animọ "malloc" pẹlu atilẹyin fun idamọ awọn orisii awọn ipe lati fi ipin ati iranti ọfẹ, eyiti a lo ninu parser aimi lati ṣe awari awọn aṣiṣe iranti aṣoju (awọn jijo iranti, lilo lẹhin ọfẹ, awọn ipe lẹẹmeji si iṣẹ ọfẹ, ati bẹbẹ lọ) ati awọn ikilo akopọ "-Wmismatched-dealloc", "-Wmismatched- titun-paarẹ" ati " -Kọọ-ohun-ainipẹ-ohun-nnkan "ijabọ aiṣedeede ipin ati awọn iṣẹ ṣiṣe ipin.

Nigbati o ba n ṣe alaye n ṣatunṣe aṣiṣe, ọna kika DWARF 5 ni a lo nipasẹ aiyipada, eyiti, ni akawe si awọn ẹya ti tẹlẹ, gba iran ti n ṣatunṣe aṣiṣe data ti o jẹ 25% iwapọ diẹ sii. Atilẹyin DWARF 5 ni kikun nilo awọn binutils o kere ju ikede 2.35.2.

Awọn agbara ipo ThreadSanitizer ti mu dara si (-fsanitize = o tẹle ara), nitori bẹẹnie ṣe afikun atilẹyin fun awọn akoko asiko miiran ati awọn agbegbe, bakanna atilẹyin fun ohun elo n ṣatunṣe aṣiṣe Kernel Concurrency Sanitizer (KCSAN) lati ṣe iwari ipo awọn ipo ije laarin ekuro Linux. Awọn aṣayan tuntun "–param tsan-iyatọ-iyipada" ati "–param tsan-tool-func-entry-exit" ti ṣafikun.

Vectorizer n pese iṣiro ti gbogbo akoonu ti iṣẹ naa ati ṣiṣe afikun ti awọn agbara ti o ni nkan ṣe pẹlu awọn ikorita ati awọn itọkasi awọn bulọọki iṣaaju ninu chart ṣiṣan iṣakoso (CFG).

Olufunni ni agbara lati yi iyipada lẹsẹsẹ ti awọn iṣiṣẹ majẹmu sinu ikosile iyipada, ninu eyiti a ṣe afiwe oniyipada kanna. Ni ọjọ iwaju, iṣafihan iyipada le ti yipada nipasẹ lilo awọn itọnisọna idanwo bit (lati ṣakoso iyipada yii, a ti fi kun aṣayan “-fbit-tests”).

Fun C ++, apakan kan ti awọn ayipada ati awọn imotuntun ti a dabaa ni ilana C ++ 20 ti wa ni imuse, pẹlu awọn iṣẹ iṣaro “iṣọnju consteval”, awọn apanirun-apanirun fun ipari igbesi aye awọn nkan, ni lilo kilasi enum ati iṣiro iwọn orun kan ninu ikosile "tuntun".

Ti o ba fẹ lati mọ diẹ sii nipa rẹ, o le ṣayẹwo awọn alaye inu ọna asopọ atẹle. 


Awọn akoonu ti nkan naa faramọ awọn ilana wa ti awọn ilana olootu. Lati jabo aṣiṣe kan tẹ nibi.

Jẹ akọkọ lati sọ ọrọ

Fi ọrọ rẹ silẹ

Adirẹsi imeeli rẹ yoo ko le ṣe atejade.

*

*

  1. Lodidi fun data naa: Miguel Ángel Gatón
  2. Idi ti data naa: SPAM Iṣakoso, iṣakoso ọrọ asọye.
  3. Ofin: Iyọọda rẹ
  4. Ibaraẹnisọrọ data: Awọn data kii yoo ni ifọrọhan si awọn ẹgbẹ kẹta ayafi nipasẹ ọranyan ofin.
  5. Ibi ipamọ data: Alaye data ti o gbalejo nipasẹ Awọn nẹtiwọọki Occentus (EU)
  6. Awọn ẹtọ: Ni eyikeyi akoko o le ni opin, gba pada ki o paarẹ alaye rẹ.