LLVM – a platform for developing compilers and toolchains under license Apache 2.0 with exceptions.
Some changes in clang:
Now, by default, compilation does not run in a new process as before.
-
Supported C++20 concepts.
Pointer arithmetic in C and C++ is only allowed within arrays, according to the standards. Corresponding checks have been added to the Undefined Behavior Sanitizer.
Improved support for OpenCL and OpenMP 5.0.
Behavior in several cases is closer to GCC's behavior.
Some general changes in LLVM:
New intrinsics for generating optimized vector instructions.
Significantly expanded interprocedural optimization capabilities in the experimental Attractor framework.
Many improvements in support for various architectures (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
And various improvements in libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Source: linux.org.ru
