La nuova versione 9.1 del compilatore GCC è già stata rilasciata

gcc-compilatore-9.1

Questa nuova versione del compilatore GCC è stato reso disponibile pochi giorni fa con nuove funzionalità e correzioni di bug.

Secondo il team del progetto GNU GCC, questa nuova versione, la versione 9.1 è una delle principali versioni del compilatore Contiene nuove importanti funzionalità non disponibili in GCC 8.xo versioni precedenti. GCC 9.1 dovrebbe portare nuove funzionalità linguistiche, nuove ottimizzazioni e alcuni miglioramenti delle prestazioni del software.

A proposito di GCC

GCC è una raccolta di compilatori creato dal progetto GNU. È più esattamente un software gratuito in grado di compilare vari linguaggi di programmazione, inclusi C, C ++, Objective-C, Java, Ada e Fortran.

Va anche notato che utilizzato per lo sviluppo della maggior parte del software gratuito. L'ultima versione principale del compilatore risale a maggio 2018, versione 8.1.

Jakub Jelinek, uno sviluppatore di Red Hat, ha spiegato che GCC 8.1 rappresentava una versione principale che porta importanti nuove funzionalità che non sono disponibili in GCC 7.xe versioni precedenti di GCC.

A questo punto, il front-end C ++ ha fornito supporto sperimentale per alcune funzioni C ++ 2a con le opzioni -std = c ++ 2a e -std = gnu ++ 2a.

Nella versione 8.2 a livello di miglioramento generale, sono stati risolti i problemi di prestazioni LTO (ottimizzazione del tempo di collegamento) dovuti a un overflow nell'algoritmo di partizionamento durante la creazione di file binari di grandi dimensioni.

Le correzioni sono continuate nel ramo 8.x con il rilascio della versione 8.3 del compilatore lo scorso febbraio. Questa versione era una versione con correzione di bug che conteneva patch per regressioni in GCC 8.2 rispetto alle versioni precedenti di GCC. Il team di GCC ha lanciato un nuovo ramo il 3 maggio, rilasciando la versione 9.

Cosa c'è di nuovo in GCC 9.1?

In questa versione, Supporto per C ++ 17 introdotto dalla versione 8.1 del compilatore non è più disponibilel. Pertanto, il supporto per C ++ 17 è ora stabile.

L'interfaccia di C ++ implementa l'intero linguaggio di C ++ 17 e il supporto per la libreria standard C ++ è in fase di completamento.

El front-end e la libreria C ++ hanno anche molte altre funzionalità codificate C ++ 2a. Inoltre, GCC ha una nuova interfaccia per il linguaggio D e ora supporta parzialmente OpenMP 5.0 e integra quasi completamente il supporto per OpenACC 2.5.

Per molti, GCC 9 è una versione potente del compilatore che fornisce ottime funzionalità e miglioramenti per migliorare le prestazioni degli sviluppatori.

Tra le molte nuove funzionalità di GCC 9.1 ci sono:

  • Supporto per un supporto per la compilazione di codice scritto con il linguaggio di programmazione D;
  • Un nuovo backend per GPU AMD GCN è stato aggiunto a GCC. L'implementazione è attualmente limitata alla compilazione di programmi a thread singolo.
  • LRA è ora abilitato per impostazione predefinita per il target ARC. Questo può essere controllato da -mlra.
  • Aggiunto supporto per codice immagine e dichiarazioni di densità di rami e indici.
  • A GCC è stata aggiunta l'aggiunta di un nuovo back-end destinato ai processori C-SKY V2.
  • Il supporto Intel MPX è stato rimosso.
  • È stato aggiunto un nuovo backend per il supporto del processore OpenRISC.
  • Il supporto per la specifica OpenACC 2.5 è quasi completo.
  • Il pacchetto "autotest" interno di GCC ora funziona per C ++ e C (nelle versioni di debug del compilatore).
  • Anche il supporto di Fortran in GCC è stato migliorato. Ora gestisce l'I / O asincrono e altre funzionalità.
  • Ottimizzazione interprocedura (OPI), ottimizzazioni basate sul profilo, ottimizzazioni del tempo di collegamento (LTO) e molte altre ottimizzazioni per garantire una migliore qualità del codice.
  • Il tempo totale di compilazione di Firefox 66 e LibreOffice 6.2.3 su una macchina a 8 core è stato ridotto di circa il 5% rispetto a GCC 8.3. La dimensione dei file oggetto LTO è ridotta del 7%.
  • Il tempo di collegamento LTO migliora dell'11% su macchine a 8 core e si evolve notevolmente per ambienti di costruzione più paralleli. La fase seriale dell'ottimizzazione del tempo di collegamento è del 28% più veloce e consuma il 20% in meno di memoria. Parallel Stage ora partiziona 128 partizioni invece di 32 e riduce l'utilizzo della memoria per ogni utente del 30%.
  • È stata introdotta una nuova opzione "-fdiagnostics-format = json" per la diagnostica in formato leggibile dalla macchina.

fonte: https://gcc.gnu.org


Puoi essere il primo a lasciare un commento

Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.