3. маја је одржано прво јавно издање девете верзије ГЦЦ-а: ГЦЦ 9.1.
Садржи много значајних побољшања и додатака у поређењу са осмом
верзија.
Опште промене
Опције
- Команде које прихватају величину сада подржавају 64-битне вредности и суфиксе за одређивање величине;
- Додата опција -фливе-патцхинг,за контролу оптимизација које су потенцијално деструктивне за динамичку замену кода;
- Додата опција --цомплетион за подршку аутоматског довршавања у командној љусци;
- Дијагностика компајлера сада укључује бројеве редова (-фно-диагностицс-схов-лине-нумберс) и
информације о типу (фно-диагностицс-схов-лабелс); - Додата опција -фдиагностицс-формат=јсон за излаз дијагностике у ЈСОН формату;
- Опције за одређивање поравнања (-фалигн-фунцтионс, на пример) сада може да прихвати неколико опција поравнања;
- Додате опције за филтрирање листе датотека (-фпрофиле-филтер-датотеке, -фпрофиле-искључи-датотеке), које инструментира профилатор;
- АддрессСанитизер сада користи компактније поравнање за хватање неважећих приступа променљивим на стеку;
- Бројна побољшања излаза -фопт-инфо;
- Додата опција -фсаве-оптимизатион-рецорд да сачувате извештај о оптимизацији у датотеку;
- Додата опција -фипа-стацк-алигнмент и -фипа-референца-адресира.
Нове уграђене функције
Нови атрибут
други
Бројна побољшања генерисања кода у вези са:
- генерисање конструкција прекидача;
- међупроцедуралне оптимизације;
- оптимизација на основу информација о профилисању;
- оптимизација у фази монтаже (ЛТО);
Такође интерни формат гцов-а је сада ЈСОН и нова опција --усе-хотнесс-цолорс укључује бојење линија кода на основу тога колико често се користе.
Језици
Квалитет и комплетност имплементације ОпенАЦЦ језици Ц, Ц++ и Фортран настављају да се побољшавају.
Ц-слични језици
- Делимична подршка за ОпенМП 5.0 је имплементирана;
- Додата функција __буилтин_цонвервецтор;
- Додато упозорење -Ваддресс-оф-пацкед-мембер;
- Побољшања бројних постојећих упозорења;
- Текст грешке приликом прослеђивања погрешног броја аргумената макроу сада укључује декларацију самог макроа;
- Побољшања предлога за исправку грешака.
C
- Подршка _Статиц_ассерт са једним аргументом за -стд=ц2к (будући Ц стандард);
- Ново упозорење -Апсолутна вредност, који хвата погрешан тип аргумента за функције као што је абс().
Ц + +
- Нова упозорења: -Вдепрецатед-цопи,
-Винит-лист-лифетиме,
-Непотребан потез,
-Впесимизинг-мове,
-Вцласс-цонверсион; - У току је рад на имплементацији нових функција из будућег стандарда Ц++2а;
- Фронтенд сада чува тачније информације о бројним елементима изворног кода, што вам омогућава да прикажете детаљније информације у дијагностици;
- Побољшана дијагностика за преоптерећене функције, бинарне операторе, позиве функција и формат стрингова;
- Додате су аутоматске исправке које подржавају нека развојна окружења за бројне популарне грешке (недостају заграде, простори имена, грешке у куцању итд.).
либстдц++
- Имплементација Ц++17 више није експериментална;
- Додати паралелни алгоритми, , , А више не захтева -лстдц++фс;
- Побољшана експериментална подршка за Ц++2а ( , , стд::бинд_фронт, итд.);
- Подршка за отварање токова датотека у Виндовс-у чије путање садрже знакове без знакова;
- Почетна подршка на Виндовс;
- Почетна подршка за Нетворкинг ТС.
D
Верзија Д језика 2.076 је укључена у ГЦЦ.
Фортран
- Потпуна подршка за асинхрони И/О;
- Имплементован аргумент БАЦК за МИНЛОЦ и МАКСЛОЦ;
- Имплементиране функције ФИНДЛОЦ и ИС_ЦОНТИГОУС;
- Имплементирана је синтакса за приступ компонентама комплексних бројева: ц%ре и ц%им;
- Имплементирана синтакса стр%лен и а%кинд;
- Имплементирани Ц дескриптори и заглавље ИСО_Фортран_биндинг.х;
- Опуштени захтеви за резултат функција МАКС и МИН када је један од аргумената НаН;
- Додата опција -фдец-инцлуде;
- Додата директива БУИЛТИН.
либгццјит
- Додата функција гцц_јит_цонтект_адд_дривер_оптион.
други
Многе промене специфичне за архитектуру и ОС.
Извор: линук.орг.ру