LLVM – platform voor het ontwikkelen van compilers en toolchains onder licentie Apache 2.0 met uitzonderingen.
Enkele wijzigingen in clang:
Standaard wordt compilatie nu niet meer in een nieuw proces gestart zoals voorheen.
-
Wordt ondersteund concepten C++20.
Arithmetica van pointers in C en C++ is alleen toegestaan binnen arrays, volgens de standaarden. Bijbehorende controles zijn toegevoegd in de Undefined Behavior Sanitizer.
Verbeterde ondersteuning voor OpenCL en OpenMP 5.0.
Het gedrag is in een aantal gevallen dichterbij dat van GCC gekomen.
Enkele algemene wijzigingen in LLVM:
Nieuwe intrinsics voor het genereren van geoptimaliseerde vectorinstructies.
De mogelijkheden voor interprocedurale optimalisatie zijn aanzienlijk uitgebreid in het experimentele Attractor-framework.
Talrijke verbeteringen in de ondersteuning van verschillende architecturen (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
En ook verschillende verbeteringen in libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Bron: linux.org.ru
