Grande atualização

LLVM 19.1 lançado com suporte completo ao C++17 e novos recursos para C e C++

O LLVM 19.1 foi lançado com suporte completo ao C++17, novas funcionalidades para C++20 e C++23, além de suporte aprimorado para as arquiteturas Arm e RISC-V. Esta atualização inclui melhorias importantes e novas otimizações para desenvolvedores.

Logo do llvm

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.