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. Aggiunti i controlli corrispondenti nel Undefined Behavior Sanitizer.
Migliorato il supporto per OpenCL e OpenMP 5.0.
Il comportamento in alcuni casi è stato avvicinato a quello di GCC.
Alcune modifiche generali in LLVM:
Nuovi intrinsics per la generazione di istruzioni vettoriali ottimizzate.
Significativa espansione delle capacità di ottimizzazione interprocedurale nel framework sperimentale Attractor.
Numerosi miglioramenti nel supporto di varie architetture (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
