Fedora 40 рассматривает ужесточение поддержки устаревшего языка C в преддверии GCC 14
Предложение об изменениях, разработанное для Fedora 40 следующего года, направлено на «перенос Fedora на современный C» путем обеспечения того, чтобы содержащийся в пакетах исходный код C был совместим со строгими компиляторами C99.
Для компилятора GCC 14 в 2024 году разработчики с открытым исходным кодом рассматривают возможность отключения поддержки устаревших конструкций языка C по умолчанию. Разработчики LLVM рассматривают возможность отключения устаревших конструкций C еще раньше. В Fedora 40 цель состоит в том, чтобы более активно выявлять содержащиеся проекты с открытым исходным кодом, которые все еще полагаются на устаревшее поведение C, чтобы апстримы могли вовремя адаптироваться.
Новое предложение по изменению F40 резюмируется следующим образом:
Среди изменений, рассматриваемых для GCC 14 и планируемых для Fedora 40, — удаление неявных объявлений функций, удаление неявных int, удаление объявлений функций в старом стиле, новые ключевые слова bool/true/false, измененное значение ( ) в деклараторы функций и отклонение неявных преобразований между целыми числами и указателями как ошибок.
Для проектов с открытым исходным кодом, которые уже ориентированы на совместимость с C99+, и разработчиков, которые обращают внимание на предупреждения компилятора, этот толчок к подготовке к «современному C» с GCC 14+ или ранней версией Fedora Linux не вызовет серьезных проблем. Но для редко поддерживаемых пакетов с открытым исходным кодом и т.п. могут быть обновления, которые нужно сделать, чтобы подготовиться к этим предстоящим изменениям компилятора и полностью собрать Fedora 40 в следующем году.
Предложение об изменении еще должно быть проверено Техническим и руководящим комитетом Fedora (FESCo). Помимо вики-страницы с предложением об изменении, также активно обсуждается это предлагаемое изменение Fedora 40 через список разработчиков Fedora.
Для компилятора GCC 14 в 2024 году разработчики с открытым исходным кодом рассматривают возможность отключения поддержки устаревших конструкций языка C по умолчанию. Разработчики LLVM рассматривают возможность отключения устаревших конструкций C еще раньше. В Fedora 40 цель состоит в том, чтобы более активно выявлять содержащиеся проекты с открытым исходным кодом, которые все еще полагаются на устаревшее поведение C, чтобы апстримы могли вовремя адаптироваться.
Новое предложение по изменению F40 резюмируется следующим образом:
Еще в 1999 году новая версия стандарта C удалила несколько функций обратной совместимости. Однако GCC по-прежнему принимает эти устаревшие конструкции по умолчанию. Поддержка этих конструкций сбивает с толку программистов и потенциально влияет на способность GCC реализовывать функции из будущих стандартов C. Ожидается, что будущая версия GCC (вероятно, GCC 14) по умолчанию отключит поддержку этих устаревших языковых конструкций. Цель этого изменения — подготовить Fedora к этому переходу.
Среди изменений, рассматриваемых для GCC 14 и планируемых для Fedora 40, — удаление неявных объявлений функций, удаление неявных int, удаление объявлений функций в старом стиле, новые ключевые слова bool/true/false, измененное значение ( ) в деклараторы функций и отклонение неявных преобразований между целыми числами и указателями как ошибок.
Для проектов с открытым исходным кодом, которые уже ориентированы на совместимость с C99+, и разработчиков, которые обращают внимание на предупреждения компилятора, этот толчок к подготовке к «современному C» с GCC 14+ или ранней версией Fedora Linux не вызовет серьезных проблем. Но для редко поддерживаемых пакетов с открытым исходным кодом и т.п. могут быть обновления, которые нужно сделать, чтобы подготовиться к этим предстоящим изменениям компилятора и полностью собрать Fedora 40 в следующем году.
Предложение об изменении еще должно быть проверено Техническим и руководящим комитетом Fedora (FESCo). Помимо вики-страницы с предложением об изменении, также активно обсуждается это предлагаемое изменение Fedora 40 через список разработчиков Fedora.
Похожие публикации
Нет комментариев