LLVM – platforma do tworzenia kompilatorów i narzędzi pod licencją Apache 2.0 z wyjątkami.
Niektóre zmiany w clang:
Domyślnie kompilacja nie jest już uruchamiana w nowym procesie jak wcześniej.
-
Obsługiwane są koncepcje C++20.
Arytmetyka wskaźników w C i C++ jest dozwolona tylko w obrębie tablic, zgodnie ze standardami. Dodano odpowiednie kontrole w Undefined Behavior Sanitizer.
Ulepszono wsparcie dla OpenCL i OpenMP 5.0.
Zachowanie w niektórych przypadkach zbliżone jest do zachowania GCC.
Niektóre ogólne zmiany w LLVM:
Nowe intrinsics do generowania zoptimizowanych instrukcji wektorowych.
Znacząco rozszerzone możliwości optymalizacji międzyproceduralnej w eksperymentalnym frameworku Attractor.
Wiele ulepszeń w wsparciu różnych architektur (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
A także różne ulepszenia w libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Źródło: linux.org.ru
