GCC 9.1


GCC 9.1

El pasado 3 de mayo tuvo lugar el primer lanzamiento público de la novena versión de GCC: GCC 9.1.
Contiene muchas mejoras y adiciones significativas en comparación con el octavo.
versión.

Cambios generales

Opciones
Nuevas funciones integradas
Nuevo atributo
Otro

Numerosas mejoras en la generación de código relacionadas con:

  • generación de construcciones de interruptores;
  • optimizaciones entre procedimientos;
  • optimización basada en información de perfiles;
  • optimización en la etapa de montaje (LTO);

Además, el formato interno de gcov ahora es JSON y la nueva opción --usa-colores-picantes Implica colorear líneas de código según la frecuencia con la que se utilizan.

Idiomas

Calidad e integridad de la implementación. AbrirACC los lenguajes C, C++ y Fortran continúan mejorando.

lenguajes tipo C
  • Se ha implementado soporte parcial para OpenMP 5.0;
  • Característica añadida __builtin_convertvector;
  • Advertencia agregada -Waddress-de-miembro-empaquetado;
  • Mejoras a una serie de advertencias existentes;
  • El texto de error al pasar una cantidad incorrecta de argumentos a una macro ahora incluye la declaración de la macro misma;
  • Mejoras en las sugerencias de corrección de errores tipográficos.
C
  • Admite _Static_assert con un argumento para -std=c2x (futuro estándar C);
  • Nueva advertencia -Wabsoluto-valor, que detecta el tipo de argumento incorrecto para funciones como abs().
C + +
  • Nuevas advertencias: -Wcopia en desuso,
    -Winit-lista-vida,
    -movimiento redundante,
    -Wpesimizador-movimiento,
    -Wclass-conversión;
  • Se está trabajando para implementar nuevas características del futuro estándar. C++2a;
  • La interfaz ahora almacena información más precisa sobre una serie de elementos del código fuente, lo que le permite mostrar información más detallada en los diagnósticos;
  • Diagnóstico mejorado para funciones sobrecargadas, operadores binarios, llamadas a funciones y cadenas de formato;
  • Se agregaron correcciones automáticas admitidas por algunos entornos de desarrollo para una serie de errores populares (faltan paréntesis, espacios de nombres, errores tipográficos, etc.).
libstdc ++
  • La implementación de C++17 ya no es experimental;
  • Se agregaron algoritmos paralelos, , , A ya no requiere -lstdc++fs;
  • Soporte experimental mejorado para C++2a ( , , std::bind_front, etc.);
  • Soporte para abrir secuencias de archivos en Windows cuyas rutas contienen caracteres que no son caracteres;
  • Soporte inicial en Windows;
  • Soporte inicial para Networking TS.
D

La versión 2.076 del lenguaje D está incluida en GCC.

Fortran
  • Soporte completo para E/S asincrónicas;
  • Se implementó el argumento BACK para MINLOC y MAXLOC;
  • Funciones FINDLOC e IS_CONTIGOUS implementadas;
  • Se ha implementado la sintaxis para acceder a los componentes de números complejos: c%re y c%im;
  • Sintaxis implementada str%len y a%kind;
  • Se implementaron descriptores de C y encabezado ISO_Fortran_binding.h;
  • Requisitos relajados para el resultado de las funciones MAX y MIN cuando uno de los argumentos es NaN;
  • Opción añadida -fdec-incluir;
  • Directiva añadida INCORPORADO.
libgccjit

Otro

Muchos cambios específicos de arquitectura y sistema operativo.

Fuente: linux.org.ru

Añadir un comentario