LLVM – Plattform zur Entwicklung von Compilern und Toolchains unter Lizenz Apache 2.0 mit Ausnahmen.
Einige Änderungen in clang:
Die Kompilierung wird jetzt standardmäßig nicht mehr in einem neuen Prozess wie zuvor gestartet.
-
Unterstützte Konzepte C++20.
Die Arithmetik von Zeigern in C und C++ ist nur innerhalb von Arrays zulässig, gemäß den Standards. Entsprechende Überprüfungen wurden im Undefined Behavior Sanitizer hinzugefügt.
Unterstützung für OpenCL und OpenMP 5.0 verbessert.
Das Verhalten ist in einigen Fällen dem Verhalten von GCC ähnlich.
Einige allgemeine Änderungen in LLVM:
Neue Intrinsics zur Erzeugung optimierter Vektorbefehle.
Die Möglichkeiten der interproceduralen Optimierung im experimentellen Framework Attractor wurden erheblich erweitert.
Viele 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
