GCC 9.1


GCC 9.1

Il 3 maggio ha avuto luogo il primo rilascio pubblico della nona versione di GCC: GCC 9.1.
Contiene molti miglioramenti e aggiunte significativi rispetto all'ottavo
versione.

Modifiche generali

Opzioni
Nuove funzionalitΓ  integrate
Nuovo attributo
Altro

Numerosi miglioramenti alla generazione del codice relativi a:

  • generazione di costrutti di interruttori;
  • ottimizzazioni interprocedurali;
  • ottimizzazione basata su informazioni di profilazione;
  • ottimizzazione in fase di assemblaggio (LTO);

Inoltre, il formato interno di gcov ora Γ¨ JSON e la nuova opzione --usa-colori-caldi implica colorare le righe di codice in base alla frequenza con cui vengono utilizzate.

Lingue

QualitΓ  e completezza di realizzazione Apri ACC i linguaggi C, C++ e Fortran continuano a migliorare.

Linguaggi simili al C
  • È stato implementato il supporto parziale per OpenMP 5.0;
  • Funzione aggiunta __builtin_convertvettore;
  • Aggiunto avviso -Waddress-of-packed-member;
  • Miglioramenti a una serie di avvisi esistenti;
  • Il testo dell'errore quando si passa il numero sbagliato di argomenti a una macro ora include la dichiarazione della macro stessa;
  • Miglioramenti ai suggerimenti per la correzione degli errori di battitura.
C
  • Supporta _Static_assert con un argomento per -std=c2x (futuro standard C);
  • Nuovo avvertimento -Wvalore assoluto, che rileva il tipo di argomento sbagliato per funzioni come abs().
C++
  • Nuovi avvisi: -Wcopia-deprecata,
    -Winit-list-a vita,
    -Mossa ridondante,
    -Wpessimizzazione-mossa,
    -Conversione Wclass;
  • Sono in corso i lavori per implementare le nuove funzionalitΓ  dello standard futuro C++2a;
  • Il frontend ora memorizza informazioni piΓΉ accurate su una serie di elementi del codice sorgente, il che consente di visualizzare informazioni piΓΉ dettagliate nella diagnostica;
  • Diagnostica migliorata per funzioni sovraccaricate, operatori binari, chiamate di funzione e stringhe di formato;
  • Aggiunte correzioni automatiche supportate da alcuni ambienti di sviluppo per una serie di errori comuni (parentesi mancanti, spazi dei nomi, errori di battitura, ecc.).
libstdc++
  • L'implementazione C++17 non Γ¨ piΓΉ sperimentale;
  • Aggiunti algoritmi paralleli, , , UN non richiede piΓΉ -lstdc++fs;
  • Supporto sperimentale migliorato per C++2a ( , , std::bind_front, ecc.);
  • Supporto per l'apertura di flussi di file su Windows i cui percorsi contengono caratteri non caratteri;
  • Supporto iniziale Su Windows;
  • Supporto iniziale per Networking TS.
D

La versione in linguaggio D 2.076 Γ¨ inclusa in GCC.

Fortran
  • Supporto completo per I/O asincrono;
  • Argomento BACK implementato per MINLOC e MAXLOC;
  • Funzioni FINDLOC e IS_CONTIGOUS implementate;
  • Implementata la sintassi per accedere alle componenti dei numeri complessi: c%re e c%im;
  • Sintassi implementata str%len e a%kind;
  • Descrittori C implementati e intestazione ISO_Fortran_binding.h;
  • Requisiti rilassati per il risultato delle funzioni MAX e MIN quando uno degli argomenti Γ¨ NaN;
  • Opzione aggiunta -fdec-include;
  • Direttiva aggiunta COSTRUZIONE.
libgccjit

Altro

Molte modifiche specifiche dell'architettura e del sistema operativo.

Fonte: linux.org.ru

Aggiungi un commento