ГЦЦ 11.1 је већ објављен, ово су његове најважније вести и промене

После годину дана развоја, Објављена нова верзија компајлера ГЦЦ 11.1, прво значајно издање у новом огранку ГЦЦ 11.к. Према новој шеми нумерисања верзија, верзија 11.0 је коришћена током развоја, а недуго пре објављивања ГЦЦ 11.1, огранак ГЦЦ 12.0 је већ био рачваст да формира следећу главну верзију ГЦЦ 12.1.

ГЦЦ 11.1 се издваја по преласку на подразумевани формат датотеке за отклањање грешака ДВАРФ 5, подразумевано укључивање Ц ++ 17 стандарда ("-стд = гну ++ 17"), значајна побољшања у компатибилности са Ц ++ 20 стандардом, експериментална подршка за Ц ++ 23, побољшања везана за будући стандард језик Ц (Ц2к), нове оптимизације перформанси.

ГЦЦ 11.1 Главне нове карактеристике

Подразумевани режим за језик Ц ++ се мења да би се користио стандард Ц ++ 17, уместо раније предложеног Ц ++ 14. Могуће је селективно онемогућити ново понашање Ц ++ 17 приликом обраде шаблона који користе друге предлошке као параметар (-фно-нев-ттп-матцхинг).

Додата подршка за хардверско убрзање алата АддрессСанитизер, који вам омогућава да утврдите чињенице приступања ослобођеним областима меморије, прекорачујући ограничења додељеног бафера и неке друге врсте грешака при раду са меморијом. Тренутно је хардверско убрзање доступно само за архитектуру ААрцх64 и фокусирано је на његову употребу приликом компајлирања Линук језгра.

Још једна новост која је представљена су оптимизације и побољшања између процедура, пошто је додата нова ИПА-модреф пропусница (-фипа-модреф) за праћење нежељених ефеката у позивима функција и побољшање тачности анализе. Поред тога и а побољшана примена проласка ИПА-ИЦФ (-фипа-ицф), који смањује потрошњу меморије компилације и повећава број обједињених функција за које се спајају идентични блокови кода.

El механизам за оптимизацију на основу профила (ПГО), побољшани режим „-фпрофиле-валуес“ праћењем више параметара за индиректне позиве.

такође Истакнута је континуирана примена стандарда ОпенМП 5.0 (Отворена вишеструка обрада), у којој додата почетна подршка за директиву о додели и могућност употребе неуједначених петљи у верзијама ОпенМП. Сада је подржана променљива окружења ОМП_ТАРГЕТ_ОФФЛОАД.

Побољшана је примена спецификације паралелног програмирања ОпенАЦЦ 2.6 предвиђена за језике Ц, Ц ++ и Фортран, која дефинише алате за растерећење операција на ГПУ-ове и специјализоване процесоре као што је НВИДИА ПТКС.

За језике породице Ц је примењен нови атрибут „но_стацк_протецтор“, дизајниран да обележи функције за које заштита стека не би требало да буде омогућена („-фстацк-протецтор“). Атрибут „маллоц“ је проширен подршком за идентификовање парова позива за додељивање и ослобађање меморије, који се користи у статичком парсеру за откривање типичних грешака у меморији (цурење меморије, употреба након бесплатног, двоструки позиви на бесплатну функцију итд.) и упозорења компајлера „-Вмисматцхед-деаллоц“, „-Вмисматцхед- нев-делете“ и „ -Вфрее-нонхеап-објецт "извештава о недоследном премештању и операцијама ослобађања.

Када се генеришу информације о отклањању грешака, подразумевано се користи формат ДВАРФ 5, који у поређењу са претходним верзијама омогућава генерисање података за отклањање грешака који су за 25% компактнији. Потпуна подршка за ДВАРФ 5 захтева бинутилс најмање верзије 2.35.2.

Побољшане могућности режима ТхреадСанитизер (-фсанитизе = нит), будући даДодаје подршку за алтернативна извођења и окружења, као и подршка за алатку за отклањање грешака Кернел Цонцурренци Санитизер (КЦСАН) за динамичко откривање услова трке унутар Линук кернела. Додате су нове опције „–парам тсан-дистинцт-волатиле“ и „–парам тсан-инструмент-фунц-ентри-екит“.

Векторизатор обезбеђује обрачун целокупног садржаја функције и додатне могућности обраде повезане са претходним референцама блокова и пресецима у контролној табели тока (ЦФГ).

Оптимизатор има могућност претварања низа условних операција у израз промене у коме се упоређује иста променљива. У будућности се израз промене може кодирати помоћу упутстава за тестирање битова (за контролу ове конверзије додата је опција „-фбит-тестс“).

За Ц ++ је примењен део промена и иновација предложених у стандарду Ц ++ 20, укључујући виртуелне функције „цонстевал виртуал“, псеудо-разараче за завршавање животног циклуса објеката, коришћењем класе енум и израчунавањем величина низа у изразу „ново“.

Ако желите да сазнате више о томе, детаље можете погледати у следећи линк. 


Садржај чланка се придржава наших принципа уређивачка етика. Да бисте пријавили грешку, кликните овде.

Будите први који ће коментарисати

Оставите свој коментар

Ваша емаил адреса неће бити објављена. Обавезна поља су означена са *

*

*

  1. За податке одговоран: Мигуел Ангел Гатон
  2. Сврха података: Контрола нежељене поште, управљање коментарима.
  3. Легитимација: Ваш пристанак
  4. Комуникација података: Подаци се неће преносити трећим лицима, осим по законској обавези.
  5. Похрана података: База података коју хостује Оццентус Нетворкс (ЕУ)
  6. Права: У било ком тренутку можете ограничити, опоравити и избрисати своје податке.