El mes pasado se propuso un cambio en Fedora 40 para "portar a Fedora al C moderno", que consiste en reforzar el soporte del lenguaje C heredado. Este cambio, centrado en asegurar que el código C empaquetado sea compatible con los estrictos compiladores C99, ha sido aprobado por el Comité de Ingeniería y Dirección de Fedora (FESCo).
Como dice el Sumario del Proyecto Fedora: "En 1999, una nueva revisión del estándar C eliminó varias características de compatibilidad con versiones anteriores. Sin embargo, GCC sigue aceptando estas construcciones obsoletas por defecto. El soporte de estas construcciones es confuso para los programadores y puede afectar a la capacidad de GCC para implementar características de futuros estándares C. Se espera que una futura versión de GCC (probablemente GCC 14) deshabilite por defecto el soporte de estas construcciones del lenguaje heredado. El objetivo de este cambio es preparar a Fedora para esta transición."
| Puede leer también | Disponible Fedora 37 con Kernel Linux 6.0
Antecedentes
El compilador GCC 14 que se lanzará en 2024 probablemente deshabilitará por defecto el soporte de las construcciones de lenguaje C heredado. Los desarrolladores de LLVM esperan un movimiento similar en 2023. Así que desde Fedora están buscando ser más proactivos en la detección de software de código abierto contenido que todavía depende del comportamiento de C heredado para que pueda ser corregido por las corrientes ascendentes pertinentes a tiempo para estos futuros lanzamientos de compiladores.
| Puede leer también |Carbon, el lenguaje de programación de Google, el sucesor de C++
Entre los cambios que se están estudiando para GCC 14 y que se realizarán con Fedora 40 se incluyen la eliminación de declaraciones de funciones implícitas, la eliminación de int implícitos, la eliminación de declaraciones de funciones de estilo antiguo, las nuevas palabras clave bool/true/false, el cambio de significado de ( ) en los declaradores de funciones y el rechazo de las conversiones implícitas entre enteros y punteros como errores.
| Puede leer también | RisiOS la distribución de Linux basada en Fedora
Este cambio afectará sobre todo al software de código abierto que se mantiene con poca frecuencia. Pero para los principales proyectos de código abierto que ya se centran en los estándares de C más modernos, este cambio no debería causar ningún impacto - especialmente para aquellos que prestan atención a las advertencias del compilador.
| Puede leer también | Fedora 37 y sus novedades que traerá
La propuesta "Porting Fedora to Modern C" puede encontrarse en el Wiki de Fedora. Desde la semana pasada, el Comité de Ingeniería y Dirección de Fedora ha aprobado el plan. Durante la votación se planteó que tal vez en el futuro.
Beneficios para Fedora
Los programadores ya no perderán el tiempo buscando cosas que parecen errores del compilador o de la ABI, porque en muchos casos, las compilaciones fallarán con un mensaje de error claro, en lugar de producir una advertencia que se pasa por alto fácilmente. Se eliminan los posibles obstáculos para la adopción de nuevos cambios en el lenguaje C.
Otros artículos asociados: