LLVM – piattaforma per lo sviluppo di compilatori e toolchain con licenza Apache 2.0 con eccezioni.
Alcune modifiche in clang:
Ora, per impostazione predefinita, la compilazione non viene eseguita in un nuovo processo come prima.
-
Supportati concetti C++20.
L'aritmetica dei puntatori in C e C++ è consentita solo all'interno degli array, in conformità con gli standard. Sono state aggiunte le corrispondenti verifiche nel Undefined Behavior Sanitizer.
Migliorato il supporto per OpenCL e OpenMP 5.0.
Il comportamento in alcuni casi è vicino a quello di GCC.
Alcune modifiche generali in LLVM:
Nuovi intrinsics per la generazione di istruzioni vettoriali ottimizzate.
Le capacità di ottimizzazione interprocedurale sono state notevolmente ampliate nel framework sperimentale Attractor.
Molti miglioramenti nel supporto per architetture diverse (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
E anche vari miglioramenti in libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Fonte: linux.org.ru
