LLVM – plataforma para desenvolvimento de compiladores e ferramentas sob licença Apache 2.0 com exceções.
Algumas alterações em clang:
Agora, por padrão, a compilação não é iniciada em um novo processo como era anteriormente.
-
Suportados conceitos C++20.
A aritmética de ponteiros em C e C++ é permitida apenas dentro de arrays, de acordo com os padrões. Verificações correspondentes foram adicionadas no Undefined Behavior Sanitizer.
Apoio melhorado para OpenCL e OpenMP 5.0.
O comportamento em vários casos se aproxima do comportamento do GCC.
Algumas mudanças gerais em LLVM:
Novos intrínsecos para geração de instruções vetoriais otimizadas.
As capacidades de otimização interprocedimental foram significativamente ampliadas no framework experimental Attractor.
Muitas melhorias no suporte a várias arquiteturas (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
E também várias melhorias no libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Fonte: linux.org.ru
