LLVM – plataforma para el desarrollo de compiladores y herramientas bajo licencia Apache 2.0 con excepciones.
Algunos cambios en clang:
Ahora, por defecto, la compilación no se ejecuta en un nuevo proceso como antes.
-
Soportadas conceptos de C++20.
La aritmética de punteros en C y C++ se permite solo dentro de los arreglos, de acuerdo con los estándares. Se han añadido verificaciones correspondientes en el Undefined Behavior Sanitizer.
Mejorada la compatibilidad con OpenCL y OpenMP 5.0.
El comportamiento en varios casos se aproxima al comportamiento de GCC.
Algunos cambios generales en LLVM:
Nuevos intrínsecos para generar instrucciones vectoriales optimizadas.
Se han ampliado significativamente las capacidades de optimización interprocedimental en el marco experimental Attractor.
Muchas mejoras en el soporte de diversas arquitecturas (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
Así como diversas mejoras en libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Fuente: linux.org.ru
