GCC 15.1 llega con C23 por defecto, LTO incremental y diagnósticos mejorados

El 25 de abril de 2025, el proyecto GNU publicó GCC 15.1. La versión trae cambios que llevan tiempo esperando los desarrolladores de C y C++, aunque sin grandes anuncios: el trabajo se nota en el día a día.

C23 pasa a ser el estándar por defecto

Hasta ahora, compilar sin indicar -std= en GCC usaba C17 como base. A partir de GCC 15.1, el compilador asume C23 de forma predeterminada. Esto afecta a proyectos que dependan de comportamientos específicos de C17, aunque la solución es sencilla: pasar -std=c17 de forma explícita. Si tu código compila limpio, probablemente no notarás nada. Si aparecen warnings nuevos, es buen momento para revisarlos.

LTO incremental: el cambio que más se nota en proyectos grandes

La optimización en tiempo de enlace (LTO) ya existía, pero tenía un coste importante: cualquier cambio obligaba a reprocesar todos los módulos. Con GCC 15.1, el modo incremental solo vuelve a procesar los archivos que han cambiado desde la última compilación. En proyectos medianos, el impacto es moderado. En proyectos grandes, puede reducir builds de varios minutos a unos pocos segundos. Una diferencia que se agradece mucho cuando estás iterando sobre un fallo concreto.

Para activarlo no hace falta configuración especial si ya usabas -flto. El compilador detecta qué módulos han cambiado y actúa en consecuencia.

Diagnósticos con diffs en color

Los mensajes de error de GCC siempre han sido informativos, pero a veces algo crípticos. En esta versión, algunos errores incluyen diffs visuales con color directamente en la salida del compilador. Ver qué línea esperaba el compilador frente a lo que encontró reduce el tiempo de depuración, especialmente con errores de tipos complejos en C++.

Salida SARIF para integración con herramientas

GCC 15.1 puede generar diagnósticos en formato SARIF (Static Analysis Results Interchange Format). Este formato es el que entienden herramientas como GitHub Code Scanning o SonarQube, así que ahora es posible alimentar esos sistemas directamente desde el compilador sin pasar por herramientas intermedias. Para equipos que ya usan análisis estático en su CI, es una integración que simplifica el pipeline.

Nuevas instrucciones de hardware

En el frente de arquitecturas, GCC 15.1 añade soporte para las instrucciones Intel AMX-AVX512 y mejoras en el backend ARM. Útil para proyectos de robótica y sistemas embebidos con C++ que necesiten sacar el máximo partido al hardware disponible.

En paralelo, el mundo del compilador C++ sigue moviéndose. Carbon, la alternativa que Google desarrolla para C++, también usa LLVM y GCC como referencia para sus propias decisiones de diseño.

Puedes consultar todas las notas de la versión en la página oficial de GCC 15.

Imagen: Pexels / Markus Spiske

COMPARTE ESTA NOTICIA

COMPARTIR EN FACEBOOK
COMPARTIR EN TWITTER
COMPARTIR EN LINKEDIN
COMPARTIR EN WHATSAPP