
В конце апреля 2026 года состоялся релиз первого стабильного выпуска свободного набора компиляторов GCC 16.1. Согласно схеме нумерации выпусков проекта, разработка версии GCC 16.0 началась в апреле 2025 года. Также создана ветка GCC 17.0, на базе которой будет сформирован следующий значительный релиз GCC 17.1. Релиз свободного набора компиляторов GCC 14.1 состоялся в мае 2024 года, а версия GCC 15.1 вышла в апреле 2026 года.

По информации OpenNET, в первый стабильный выпуск GCC 16 внесены изменения:
-
режим по умолчанию для языка C++ переключён на использование стандарта C++20 (диалект GNU C++20, -std=gnu++20) вместо ранее предлагавшегося C++17. Реализация C++20 в стандартной библиотеке объявлена стабильной;
-
в состав включён экспериментальный фронтенд ga68 для компиляции программ на языке программирования Алгол 68 (Algol 68);
-
добавлена возможность вывода диагностической информации в формате HTML. Расширена информация о ходе выполнения программы, включаемая при выводе диагностики в формате SARIF, основанном на JSON (поддержка «-fdiagnostics-format=json» прекращена);
-
расширены оптимизации на этапе связывания (LTO, Link-Time Optimization). Добавлена опция «-flto-toplevel-asm-heuristics», включающая эвристику для улучшения оптимизации кода с ассемблерными вставками. Техника спекулятивной девиртуализации (‑fdevirtualize‑speculatively) теперь не ограничена преобразованием виртуальных методов и может применяться при преобразовании в прямые вызовы любых косвенных вызовов функций, например, вызовов через указатели;
-
реализована поддержка векторизации циклов, для которых на этапе компиляции неизвестно число итераций. Повышена эффективность обработки досрочных выходов из цикла (например, через break).
-
реализованы возможности, связанные со стандартом C++23, такие как явное управление временем жизни объектов и поддержка указания кодировки символов диагностических сообщений.
-
расширена поддержка стандарта C23, например, реализована возможность использования атрибута «counted_by»для проверки корректности использования указателей.
-
продолжена реализация стандартов OpenMP 5.0, 5.1, 5.2 и 6.0 (Open Multi‑Processing), определяющих API и способы применения методов параллельного программирования на многоядерных и гибридных (CPU+GPU/DSP) системах с общей памятью и блоками векторизации (SIMD). Улучшена реализация спецификаций параллельного программирования OpenACC 3.0, 3.3 и 3.4, определяющих средства для выноса операций (offloading) на GPU и специализированные процессоры, такие как Nvidia PTX.
-
в бэкенд для архитектуры x86 добавлена поддержка процессоров AMD на основе микроархитектуры Zen6 (-march=znver6), а также процессоров Intel Wildcat Lake (-march=wildcatlake) и Nova Lake (-march=novalake).
-
в бэкенде генерации кода для GPU AMD Radeon (GCN) реализована поддержка ускорителей AMD Instinct MI300 (gfx942).
-
для архитектур RISC‑V, ARM, S/390 и LoongArch реализована поддержка типа «_BitInt (N)» для определения целых чисел с указанным числом битов.
ссылка на оригинал статьи https://habr.com/ru/articles/1030624/