Nova versão 9.1 do compilador GCC foi lançada

Lançado compilador GCC 10.1
GNU Compiler Collection GCC

De acordo com a equipe do projeto GNU GCC, esta versão, a 9.1, contém novos recursos importantes não disponíveis no 8.x GCC ou em versões anteriores. O GCC 9.1 deve trazer novos recursos de linguagem de programação, novas otimizações e algumas melhorias no desempenho do software. Portanto, uma nova versão 9.1 do compilador GCC foi lançada.

Sobre o GCC

O GCC é uma coleção de compiladores criados pelo projeto GNU. É mais exatamente um software livre capaz de compilar várias linguagens de programação, incluindo C, C ++, Objective-C, Java, Ada e Fortran.

Também deve ser levado em conta que é usado para o desenvolvimento da maioria dos softwares livres. A versão principal mais recente do compilador remonta a maio de 2018, versão 8.1.

Jakub Jelinek, um desenvolvedor da Red Hat, explicou que o GCC 8.1 representou uma versão importante que traz novos recursos que não estão disponíveis no GCC 7.xe versões anteriores do GCC.

Neste ponto, o front end C ++ forneceu suporte experimental para algumas funções do C ++ 2a com as opções -std = c ++ 2a e -std = gnu ++ 2a.

As correções continuaram na ramificação 8.x com o lançamento da versão 8.3 do compilador em fevereiro passado. Esta era uma versão de correção de erros que continha patches para regressões no GCC 8.2 em comparação com versões anteriores do GCC. A equipe do GCC inaugurou uma nova filial em 3 de maio, lançando a versão 9.

O que há de novo no GCC 9.1?

nova-versao-9-1-do-compilador-gcc-foi-lancada

Nesta versão, o suporte para C ++ 17 introduzido desde a versão 8.1 do compilador não é mais experimental. Portanto, o suporte para C ++ 17 agora está estável.

A interface C ++ implementa toda a linguagem C ++ 17 e o suporte para a biblioteca padrão C ++ está prestes a ser completado.

front-end e a biblioteca C ++ também possuem muitos outros recursos codificados do C ++ 2a. Além disso, o GCC tem uma nova interface para a linguagem D e agora suporta parcialmente o OpenMP 5.0 e integra quase completamente o suporte ao OpenACC 2.5.

Para muitos, o GCC 9 é uma versão robusta do compilador que fornece recursos e aprimoramentos excelentes para melhorar o desempenho do desenvolvedor.

Entre os muitos novos recursos do GCC 9.1 estão:

  • Suporte para compilar código escrito com a linguagem de programação D;
  • Um novo back-end da GPU AMD GCN foi adicionado ao GCC. A implementação está atualmente limitada à compilação de programas de thread único.
  • A LRA agora está habilitada por padrão para o destino ARC. Isso pode ser controlado por -mlra.
  • Adicionado suporte para o código de imagem e as instruções de índice e densidade de ramificação.
  • A adição de um novo back-end aos processadores C-SKY V2 foi adicionada ao GCC.
  • A compatibilidade com o Intel MPX foi eliminada.
  • Um novo back-end foi adicionado para suporte ao processador OpenRISC.
  • O suporte para a especificação OpenACC 2.5 está quase completo.
  • O pacote interno “selftest” do GCC agora funciona para C ++ e C (nas versões de depuração do compilador).
  • O suporte a Fortran no GCC também foi melhorado. Agora ele lida com E/S assíncronas e outros recursos.
  • Otimizações de Interprocedimento (OPI), otimizações baseadas em perfil, otimizações de tempo de link (LTO), bem como muitas outras otimizações para garantir uma melhor qualidade de código.
  • O tempo total de criação do Firefox 66 e do LibreOffice 6.2.3 em uma máquina de 8 núcleos foi reduzido em aproximadamente 5% em comparação com o GCC 8.3. O tamanho dos arquivos de objetos LTO é reduzido em 7%.
  • O tempo de link LTO melhora em 11% em 8 máquinas centrais e evolui drasticamente para ambientes de construção mais paralelos. O estágio serial da otimização do tempo de link é 28% mais rápido e consome 20% a menos de memória. O Parallel Stage agora particiona 128 partições em vez de 32 e reduz o uso de memória para cada usuário em 30%.
  • uma nova opção “-diagnostics-format = json” foi introduzida para diagnóstico em formato legível por máquina.

Fonte