Сообщество спорит, не слишком ли рано делать новый стандарт языком «по умолчанию» для миллионов проектов.
Инженер по компиляторам Red Hat Марек Полачек предложил сделать стандарт C++20 (точнее, диалект GNU++20) режимом по умолчанию в GCC, если разработчик явно не указывает другую версию языка. Сейчас компилятор по умолчанию использует C++17 (GNU++17) — это поведение было принято около пяти лет назад и с тех пор не менялось.
В письме в рассылке разработчиков GCC Полачек напомнил , что планировал перевести компилятор на C++20 ещё в GCC 15, но тогда этому мешали незавершённая поддержка стандарта в библиотеке libstdc++ и проблемы в самом компиляторе, связанные с концептами, модулями и другими деталями реализации. Сейчас он спрашивает сообщество, нет ли оставшихся блокирующих проблем, и отдельно отмечает, что включать поддержку модулей по умолчанию всё равно, скорее всего, никто не станет. При этом Полачек заявил, что готов взять на себя всю сопутствующую работу: обновить документацию, статусы реализации и описания изменений.
Пока предложение остаётся на уровне обсуждения и не привело к конкретному решению. GCC 16 уже на пороге третьего этапа разработки, когда новые крупные изменения обычно не принимаются, так что переход на C++20 по умолчанию в этом релизе может не успеть войти. Выпуск GCC 16 ожидается в первые месяцы 2026 года, а судьба нового стандарта как настройки по умолчанию, вероятнее всего, решится уже в контексте следующих версий компилятора.
Инженер по компиляторам Red Hat Марек Полачек предложил сделать стандарт C++20 (точнее, диалект GNU++20) режимом по умолчанию в GCC, если разработчик явно не указывает другую версию языка. Сейчас компилятор по умолчанию использует C++17 (GNU++17) — это поведение было принято около пяти лет назад и с тех пор не менялось.
В письме в рассылке разработчиков GCC Полачек напомнил , что планировал перевести компилятор на C++20 ещё в GCC 15, но тогда этому мешали незавершённая поддержка стандарта в библиотеке libstdc++ и проблемы в самом компиляторе, связанные с концептами, модулями и другими деталями реализации. Сейчас он спрашивает сообщество, нет ли оставшихся блокирующих проблем, и отдельно отмечает, что включать поддержку модулей по умолчанию всё равно, скорее всего, никто не станет. При этом Полачек заявил, что готов взять на себя всю сопутствующую работу: обновить документацию, статусы реализации и описания изменений.
Пока предложение остаётся на уровне обсуждения и не привело к конкретному решению. GCC 16 уже на пороге третьего этапа разработки, когда новые крупные изменения обычно не принимаются, так что переход на C++20 по умолчанию в этом релизе может не успеть войти. Выпуск GCC 16 ожидается в первые месяцы 2026 года, а судьба нового стандарта как настройки по умолчанию, вероятнее всего, решится уже в контексте следующих версий компилятора.
- Источник новости
- www.securitylab.ru