FERRAMENTAS LINUX: O código do compilador de módulos C ++ 20 em revisão, ainda pode chegar ao GCC 11

quarta-feira, 4 de novembro de 2020

O código do compilador de módulos C ++ 20 em revisão, ainda pode chegar ao GCC 11

 

Confira !!

Com o C ++ 20, um dos principais recursos adicionados é o de módulos como uma alternativa moderna aos arquivos de cabeçalho C ++ convencionais para pacotes. O código de 20 módulos C ++ para a GNU Compiler Collection que está em desenvolvimento há vários anos está agora sob revisão e pode potencialmente ainda chegar ao lançamento do GCC 11 no próximo ano.

Os módulos C ++ 20 devem permitir um melhor isolamento, evitando a abundância de arquivos de cabeçalho nos sistemas, melhor estrutura de código e, também, um possível melhor desempenho de compilação. Obviamente, os módulos não vêm de graça e os desenvolvedores precisam fazer uso explícito da nova funcionalidade da linguagem. No lado do compilador, o LLVM Clang 11 e mais recente tem suporte para alguns elementos dos módulos C ++ 20, embora incompletos. A GNU Compiler Collection também tem trabalhado no suporte aos módulos por um tempo e parece que o suporte inicial pode chegar ao lançamento do GCC 11 que será lançado em março ~ abril.

O denvolvimento de recursos do GCC 11está terminando este mês, mas Nathan Sidwell enviou a implementação inicial na lista de discussão de patches na terça-feira. A implementação atual dos módulos C ++ 20 é de 32 patches e adiciona cerca de 25k linhas de novo código ao compilador.

Alguns recursos dos módulos C ++ 20 ainda não foram implementados em torno de fragmentos de módulo privados, (in) visibilidade de tipo completo e mais, mas ele espera resolver as deficiências mais significativas ainda a tempo para o estágio um (o desenvolvimento de recurso atual do GCC 11 ) O código até agora foi testado em Linux x86_64 / AArch64 / POWER, entre outros destinos.

Este código de módulos C ++ 20 sob revisão para GCC pode ser encontrado na lista de discussão gcc-patches . Esperançosamente, a implementação preliminar vai realmente dar certo para o GCC 11.

O GCC já implementou muito do C ++ 20 nos últimos anos, enquanto alguns bits restantes já estão incluídos para o GCC 11. O principal componente ausente é o suporte a módulos, juntamente com o uso de suporte a enum , comparação e troca atômica com bits de preenchimento, e outras partes menores faltando. O suporte aos padrões atuais para este compilador GNU é delineado através da documentação cxx-status .

Fonte

Até a próxima !!

Nenhum comentário:

Postar um comentário