Compilerinfrastruktur LLVM 4.0 ist fertig, und eine neue Zählweise beginnt
Nach einer kurzen Verzögerung sind die offenen Probleme inzwischen behoben. Version 4.0 der Compilerinfrastruktur besitzt nun offiziell den Status "final". Ab sofort ändert sich das Versionierungsschema.
![LLVM 4.0 ist fertig, und eine neue Zählweise beginnt](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/2/1/5/7/1/1/3/gtk-7dd3357c8f6b4127.jpeg)
Die ursprünglich für Februar vorgesehene Fertigstellung von LLVM 4.0 hat sich leicht verzögert, da das Team zum Release-Zeitpunkt noch offene Bugs gefunden hatte, die die Veröffentlichung blockierten. Nachdem sie nun behoben sind, liegt der final Build der Compilerinfrastruktur vor, wie ein Beitrag auf der Mailing-Liste verkündet. Die offizielle Ankündigung steht jedoch noch aus, da das Team zunächst die Tarballs zur Installation vorbereitet und auf die LLVM-Site hochlädt.
Zu den Neuerungen im Clang-Compiler gehört das diagnose_if-Attribut, mit dem Entwickler festlegen, unter welchen Bedingungen Clang eine Warnung oder Fehlermeldung ausgibt. Das neue Compiler-Flag -Og bewirkt derzeit noch dasselbe wie -O1, ist aber für künftige Debugging-Optimierungen vorgesehen. LLVM bietet unter anderem eine verbesserte Unterstützung für ARM-Prozessoren und bringt einige Änderungen an der API mit. Die Liste der Änderungen lässt sich den Release Notes zu LLVM und Clang entnehmen.
Ab sofort ändert sich auch das Versionierungsschema, sodass die üblicherweise halbjährlich erscheinenden größere Releases auch eine neue Hauptversion mitbringen werden. Bisher gab es halbjährliche Punktreleases und neue Hauptversionen nach der regulären Dezimalzählweise auf x.9 folgend, also im Fünfjahrestakt. Im Dezember 2017 soll somit LLVM 5.0 und nicht Version 4.1 erscheinen. Gleichzeitig setzt LLVM auf semantische Versionierung. Da jedoch keine kleineren Updates vorgesehen sind, wird die erste Nachkommastellte voraussichtlich "0" bleiben und Patches sich in der letzten Stelle, also beispielsweise als 4.0.1 widerspiegeln.
[Update 14.3.17 7:00 Uhr]:
Nun sind die offiziellen Release Notes und die Source- und Binary-Archive fertig, die sich in der Downlaod-Sektion auf der LLVM-Site finden. Als nennenswerte technische Neuerung lässt sich noch der Support für Coroutinen nennen, der derzeit experimentell ist. (rme)