Compiler-Infrastruktur: LLVM 9.0 ist erschienen

Mit leichter Verzögerung ist das neue Major Release von LLVM und Clang erschienen – mit dabei die lang erwartete Unterstützung für das "asm goto"-Statement.

Lesezeit: 1 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen
Von

Die neunte Hauptversion der Compilerinfrastruktur LLVM ist mit leichter Verspätung gegenüber dem offiziellen Plan erschienen. Die Veröffentlichung des 9.0.0-Release umfasst nun endlich Unterstützung für das "asm goto"-Statement, sodass man zum Beispiel den Linux-Kernel für x86_64 mit Clang bauen kann, für ARM war das schon vorher möglich. Hieran hatten die Entwickler schon etliche Jahre gearbeitet, die Erweiterung war bislang nur beim GCC umgesetzt.

Die Unterstützung des RISCV-V-Backends ist nun nicht mehr experimentell. Die Verwendung von C++ für OpenCL-Anwendungen ist hingegen neu, aber noch ein experimentelles Feature. Sie basiert auf OpenCL C 2.0 sowie auf C++17-Funktionen. libc++ hat darüber hinaus ein Webassembly System Interface (WASI) bekommen.

LLVM enthält nun mit JITLink außerdem einen Just-in-Time-Linker zum Parsen von Objektdateien und zum Ausführen deren Inhalte in einem Target-Prozess. Darüber hinaus hat es etliche Überarbeitungen im Kleinen gegeben, was die Release Notes womöglich am besten wiedergeben.

Der Clang-Compiler unterstützt nun über --std=c2x initial das, was was den nächsten C-Sprachstandard (C2x) ausmachen soll. Wo Module jetzt ein akzeptiertes Feature für C++20 sind, ist im Clang-Compiler nun die Funktion aktiviert, und zwar über den Compiler-Switch -std=c++2a. Die Änderungen für den Clang-Compiler findet man ausführlich in den entsprechenden Release Notes. (ane)