Ya fue liberada la nueva versión 9.1 del compilador GCC

gcc-compiler-9.1

Esta nueva versión del compilador GCC se puso a disposición hace unos días con nuevas características y correcciones de errores.

De acuerdo con el equipo del proyecto GNU GCC, esta nueva versión, la versión 9.1 es una versión principal del compilador contiene importantes nuevas características no disponibles en 8.x GCC o versiones anteriores. GCC 9.1 debería traer nuevas características de lenguaje, nuevas optimizaciones y algunas mejoras de rendimiento al software.

Sobre GCC

GCC es una colección de compiladores creados por el proyecto GNU. Es más exactamente un software libre capaz de compilar varios lenguajes de programación, incluyendo C, C ++, Objective-C, Java, Ada y Fortran.

También se debe tener en cuenta que se utiliza para el desarrollo de la mayoría del software libre. La última versión principal del compilador se remonta a mayo de 2018, versión 8.1 .

Jakub Jelinek, un desarrollador de Red Hat, explicó que GCC 8.1 representó un lanzamiento importante que trae nuevas funciones importantes que no están disponibles en GCC 7.xy versiones anteriores de GCC.

En este punto, el front-end de C ++ ha proporcionado soporte experimental para algunas funciones de C ++ 2a con las opciones -std = c ++ 2a y -std = gnu ++ 2a.

La versión 8.2 a nivel de mejoras generales, los problemas de rendimiento de LTO (optimización de tiempo de enlace) debidos a un desbordamiento en el algoritmo de partición durante la creación de grandes archivos binarios se han corregido.

Las correcciones continuaron en la rama 8.x con el lanzamiento de la versión 8.3 del compilador en febrero pasado. Esta versión fue una versión de corrección de errores que contenía parches para regresiones en GCC 8.2 en comparación con versiones anteriores de GCC. El equipo de GCC lanzó una nueva sucursal el 3 de mayo, lanzando la versión 9.

¿Qué hay de nuevo en GCC 9.1?

En esta versión, el soporte para C ++ 17 introducido desde la versión 8.1 del compilador ya no es experimental. Por lo tanto, el soporte para C ++ 17 ahora es estable.

La interfaz de C ++ implementa todo el lenguaje de C ++ 17 y el soporte para la biblioteca estándar de C ++ está a punto de completarse.

El front-end y la biblioteca de C ++ también tienen muchas otras características codificadas de C ++ 2a. Además, GCC tiene una nueva interfaz para el lenguaje D y ahora admite parcialmente OpenMP 5.0 y casi integra completamente el soporte para OpenACC 2.5.

Para muchos, GCC 9 es una versión sólida del compilador que proporciona excelentes funciones y mejoras para mejorar el rendimiento del desarrollador.

Entre las muchas novedades de GCC 9.1 se encuentran:

  • Soporte para un soporte para compilar código escrito con el lenguaje de programación D;
  • Se ha agregado un nuevo back-end AMD GCN GPU a GCC. La implementación se limita actualmente a compilar programas de un solo hilo.
  • LRA ahora está habilitado de forma predeterminada para el objetivo ARC. Esto puede ser controlado por -mlra.
  • Se agregó soporte para el código de imagen y las instrucciones de densidad de índice y rama.
  • Fue añadido a GCC la adición de un nuevo back-end dirigido a los procesadores C-SKY V2.
  • Fue eliminada la compatibilidad con Intel MPX.
  • Se ha agregado un nuevo back-end para el soporte del procesador OpenRISC.
  • El soporte para la especificación OpenACC 2.5 está casi completo.
  • El paquete interno «selftest» de GCC ahora funciona para C ++ y C (en las versiones de depuración del compilador).
  • El soporte de Fortran en GCC también se ha mejorado. Ahora maneja E / S asíncronas y otras características.
  • Optimizaciones de interprocedimiento (OPI), optimizaciones basadas en perfiles, optimizaciones de tiempo de enlace (LTO), así como muchas otras optimizaciones para garantizar una mejor calidad de código.
  • El tiempo total de compilación de Firefox 66 y LibreOffice 6.2.3 en una máquina de 8 núcleos se ha reducido en aproximadamente un 5% en comparación con GCC 8.3. El tamaño de los archivos de objetos LTO se reduce en un 7%.
  • El tiempo de enlace LTO mejora en un 11% en 8 máquinas centrales y evoluciona dramáticamente para más entornos de construcción en paralelo. La etapa en serie de la optimización del tiempo de enlace es un 28% más rápida y consume un 20% menos de memoria. Parallel Stage ahora particiona 128 particiones en lugar de 32 y reduce el uso de memoria para cada usuario en un 30%.
  • se ha introducido una nueva opción «-fdiagnostics-format = json» para el diagnóstico en un formato legible por la máquina.

Fuente: https://gcc.gnu.org


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.