A versão estável do LLVM 19.1 foi lançada, trazendo consigo importantes atualizações, especialmente no suporte ao C++17, além de novos recursos para C++20, C++23 e até algumas funcionalidades futuras do C++2c. Esta versão do LLVM 19, que inclui o Clang 19, marca o primeiro grande lançamento do compilador após um ciclo de desenvolvimento de seis meses.
Aqui estão alguns dos principais destaques da versão LLVM 19.1:
- Suporte completo ao C++17: Todos os recursos pendentes foram implementados, tornando o suporte ao C++17 finalmente completo nesta versão.
- Novidades no C++20 e C++23: Diversas funcionalidades desses padrões foram adicionadas, incluindo algumas já previstas para o C++2c, que ainda está em desenvolvimento.
- Suporte ao C2y: O Clang 19 agora permite habilitar o suporte à linguagem C2y usando a opção
-std=c2y
. - Inclusão do #embed no C23: O Clang 19 passa a suportar a nova diretiva
#embed
do padrão C23. - Depreciação do -Ofast: A opção de otimização
-Ofast
foi oficialmente descontinuada. Para obter o mesmo resultado, os usuários devem usar-O3 -ffast-math
. - Melhorias nos diagnósticos do Clang: Diversas melhorias foram feitas nas mensagens e diagnósticos gerados pelo compilador, facilitando a identificação de problemas no código.
- Descontinuação de suportes antigos: O suporte a 3DNow! e aos processadores Intel Knights Mill e Knights Landing foi removido.
- Suporte a novos processadores Arm: O LLVM 19.1 agora oferece suporte aos processadores Arm Cortex R82AE, A78AE, A520AE, A720AE, A725m, X925, N3, V3 e V3AE, além de suportar a autenticação de ponteiros no formato ELF.
- RISC-V: A nova versão traz suporte completo à extensão experimental Zabha (operações atômicas de byte e meia-palavra), além de suporte experimental para extensões de mascaramento de ponteiro, como Ssnpm, Smnpm, Smmpm, Sspm, Ssqosid e Supm. Agora também é possível usar a opção
-mcpu=native
em sistemas Linux 6.4 para detecção automática de recursos da CPU via hwprobe. - AMDGPU e RDNA4: No back-end AMDGPU, novos intrínsecos foram adicionados, além de melhorias de suporte para a arquitetura GFX12 (RDNA4).
Essas atualizações fazem do LLVM 19.1 uma versão importante para desenvolvedores que buscam utilizar os padrões mais recentes das linguagens C e C++, além de proporcionar suporte aprimorado para plataformas como Arm, RISC-V e AMDGPU.
Para mais detalhes sobre o lançamento do LLVM 19.1, acesse o site oficial LLVM.org.