LLVM – Plattform zur Entwicklung von Compilern und Toolchains unter Lizenz Apache 2.0 mit Ausnahmen.
Einige Änderungen in clang:
Jetzt wird die Kompilierung standardmäßig nicht mehr in einem neuen Prozess wie zuvor gestartet.
-
Unterstützt Konzepte von C++20.
Die Pointer-Arithmetik in C und C++ ist nur innerhalb von Arrays zulässig, gemäß den Standards. Entsprechende Prüfungen wurden im Undefined Behavior Sanitizer hinzugefügt.
Unterstützung für OpenCL und OpenMP 5.0 verbessert.
Das Verhalten kommt in mehreren Fällen dem Verhalten von GCC nahe.
Einige allgemeine Änderungen in LLVM:
Neue Intrinsics zur Generierung optimierter Vektor-Instruktionen.
Die Möglichkeiten der interproceduralen Optimierung wurden im experimentellen Framework Attractor erheblich erweitert.
Zahlreiche Verbesserungen in der Unterstützung verschiedener Architekturen (AArch64, ARM, MIPS, PowerPC, SystemZ, X86, WebAssembly, RISC-V).
Und verschiedene Verbesserungen in libclang, clangd, clang-format, clang-tidy, Static Analyzer, LLDB.
Quelle: linux.org.ru
