LLVM β platform for developing compilers and toolchains under a license Apache 2.0 with exceptions.
Some changes to clang:
-
Now, by default, compilation does not start 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. Added appropriate checks to Undefined Behavior Sanitizer.
-
Improved support for OpenCL and OpemMP 5.0.
-
The behavior in some cases is close to the behavior of GCC.
Some general changes to LLVM:
-
New intrinsics for generating optimized vector instructions.
-
The capabilities of interprocedural optimization in the experimental Attractor framework have been significantly expanded.
-
Many improvements in support for various architectures (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
As well as various improvements in libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Source: linux.org.ru