GCC 16.2

1000px.jpg

7 августа состоялся выпуск GCC 16.2 — второго стабильного релиза ветки GCC 16. Новая версия носит преимущественно корректирующий характер: разработчики прямо называют её bug-fix release, содержащим исправления регрессий, обнаруженных в GCC 16.1 относительно предыдущих выпусков.

Всего после апрельского GCC 16.1 было исправлено 102 известных ошибки. Исправления затрагивают различные компоненты компилятора и поддерживаемые архитектуры; какого-либо одного крупного изменения, определяющего выпуск, нет.

GCC 16.2 не является новым функциональным релизом: основные возможности ветки GCC 16 появились ещё в GCC 16.1, выпущенном 30 апреля. Среди наиболее заметных изменений этой ветки:

  • C++20 стал режимом C++ по умолчанию вместо GNU++17. Для использования прежнего поведения теперь необходимо явно указывать соответствующий параметр -std=. Экспериментальная поддержка модулей C++20 при этом по-прежнему включается отдельно.
  • Продолжено внедрение C++26, включая экспериментальную статическую рефлексию, контракты, constexpr-исключения и другие предложения будущего стандарта.
  • В состав GCC включён экспериментальный компилятор языка Algol 68 — ga68.
  • Для x86 добавлена поддержка процессоров AMD Zen 6 (-march=znver6), Intel Wildcat Lake и Nova Lake. Улучшена автовекторизация при использовании AVX-512.
  • В реализации AArch64 появилась поддержка Armv9.6-A, Apple M4 и M5, NVIDIA GB10 и новых процессорных ядер Arm; также добавлена возможность применения Memory Tagging Extension через -fsanitize=memtag.
  • Для offloading на GPU AMD существенно уменьшены накладные расходы при запуске областей OpenMP/OpenACC и появилась экспериментальная поддержка ускорителей AMD Instinct MI300 (gfx942).

Таким образом, GCC 16.2 в первую очередь предназначен для пользователей, желающих перейти на новую ветку после устранения обнаруженных после первоначального релиза регрессий. Исходные тексты GCC 16.2 доступны на официальных зеркалах проекта. GCC распространяется как свободное программное обеспечение семейства GNU; основной код компилятора лицензирован по GPLv3+, а для ряда runtime-библиотек применяется GCC Runtime Library Exception.

>>> Источник

©  Linux.org.ru