Найти тему
ServerNews

Вышел релиз GCC 10: поддержка Radeon OpenMP, Intel Cooper Lake и новых ARM-платформ

Наряду с проприетарными компиляторами в индустрии широко используется набор GCC (GNU Complier Collection), включающий в себя поддержку не только C и С++, но и таких языков, как Objective-C, Java, Fortran, Ada, Go, GAS и D. Буквально сегодня было объявлено о первом релизе GCC 10 ветки stable.

Речь идёт о версии GCC 10.1. Она вышла спустя полтора месяца после релиза другого, не менее значимого проекта LLVM 10.

Новая версия содержит ряд нововведений. В частности, поддерживается новый стандарт C++20 и содержит архитектурные оптимизации под архитектуры Intel Tiger Lake и Cooper Lake. Также внедрена поддержка ряда вариантов архитектуры ARM:

  • Cortex-A77;
  • Cortex-A76AW;
  • Cortex-A65/65AE;
  • Cortex-A34;
  • Marvell Thunder X3.

Появилась поддержка OpenMP и OpenACC для ускорителей AMD Radeon; правда, она пока ограничена архитектурами Fiji и Vega, более новая Navi ещё не поддерживается. OpenACC имеет версию 2.6 и поддерживается компиляторами C, C++ и Fortran.

Прототип Intel Tiger Lake (фото AnandTech)
Прототип Intel Tiger Lake (фото AnandTech)

Помимо x86 и ARM проект получил поддержку микроконтроллеров семейства AVR XMEGA (серии ATtiny и ATmega, полный список можно найти здесь). А вот поддержка векторных расширений PowerPC отмечена, как «устаревшая»; скорее всего, она будет окончательно удалена в GCC 11.

В GCC 10 версии также появился статический анализатор, который должен помочь в поиске проблемных мест в коде. Кроме того, в пакете содержится ряд исправлений и оптимизаций. Полный список обновлений и дополнений содержится на сайте GCC. Там же можно скачать новую версию, либо воспользоваться для скачивания одним из зеркал проекта.