Релиз свободного набора компиляторов GCC 16.1
В конце апреля 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);
реализованы возможности, связанные со
Читать на habr.com