GCC 9.1


GCC 9.1

El 3 de maig va tenir lloc la primera versió pública de la novena versió de GCC: GCC 9.1.
Conté moltes millores i addicions importants en comparació amb el vuitè
versió.

Canvis generals

Opcions
Noves funcions integrades
Nou atribut
Un altre

Nombroses millores de generació de codi relacionades amb:

  • generació de construccions d'interruptors;
  • optimitzacions interprocedimentals;
  • optimització basada en la informació de perfil;
  • optimització en l'etapa de muntatge (LTO);

També el format intern de gcov és ara JSON i la nova opció --usar-colors-calents implica pintar línies de codi en funció de la freqüència amb què s'utilitzen.

Idiomes

Qualitat i exhaustivitat de la implementació OpenACC els llenguatges C, C++ i Fortran continuen millorant.

Llenguatges semblants a C
  • S'ha implementat suport parcial per a OpenMP 5.0;
  • Característica afegida __vector_convertidor integrat;
  • Avís afegit -Adreça-del-membre-empat;
  • Millores en una sèrie d'avisos existents;
  • El text d'error en passar el nombre incorrecte d'arguments a una macro ara inclou la declaració de la pròpia macro;
  • Millores als suggeriments de correcció d'errors ortogràfics.
C
  • Admet _Static_assert amb un argument per a -std=c2x (futur estàndard C);
  • Nou avís -Valor-wabsolut, que capta el tipus d'argument incorrecte per a funcions com abs().
C + +
  • Nous avisos: -Wobsolet-còpia,
    -Llista de guanys de vida,
    -Moviment-wredundant,
    -Wpessimizing-moveu,
    -Wclass-conversió;
  • S'està treballant per implementar noves funcions del futur estàndard C++2a;
  • La interfície ara emmagatzema informació més precisa sobre una sèrie d'elements del codi font, la qual cosa us permet mostrar informació més detallada en el diagnòstic;
  • Diagnòstic millorat per a funcions sobrecarregades, operadors binaris, trucades de funcions i cadenes de format;
  • S'han afegit correccions automàtiques admeses per alguns entorns de desenvolupament per a una sèrie d'errors populars (falten parèntesis, espais de noms, errors tipogràfics, etc.).
libstdc++
  • La implementació de C++17 ja no és experimental;
  • S'han afegit algorismes paral·lels, , , A ja no requereix -lstdc++fs;
  • Suport experimental millorat per a C++2a ( , , std::bind_front, etc.);
  • Suport per obrir fluxos de fitxers a Windows els camins dels quals contenen caràcters que no són caràcters;
  • Suport inicial a Windows;
  • Suport inicial per a Networking TS.
D

La versió de llenguatge D 2.076 s'inclou a GCC.

Fortran
  • Suport complet per a E/S asíncrona;
  • Argument BACK implementat per a MINLOC i MAXLOC;
  • S'han implementat les funcions FINDLOC i IS_CONTIGOUS;
  • S'ha implementat la sintaxi per accedir als components dels nombres complexos: c%re i c%im;
  • Sintaxi implementada str%len i a%kind;
  • Descriptors C implementats i capçalera ISO_Fortran_binding.h;
  • Requisits relaxats per al resultat de les funcions MAX i MIN quan un dels arguments és NaN;
  • Opció afegida -fdec-inclou;
  • Directiva afegida CONSTRUït.
libgccjit

Un altre

Molts canvis específics de l'arquitectura i del sistema operatiu.

Font: linux.org.ru

Afegeix comentari