Dopo la lunga attesa, finalmente arriva la versione 3.0 di LLVM. Di fatto questo è un rilascio incrementale, ma gli sviluppatori non hanno perso l’occasione per eliminare qualche vecchio modulo. Sono stati necessari sei mesi di sviluppo dalla versione 2.9 per introdurre importanti novità: un nuovo register allocator per migliorare ulteriormente le prestazioni, il supporto completo per operazioni atomiche e il nuovo memory model per C++.
Avevamo già trattato l’abbandono di llvm-gcc
in favore di CLang e DragonEgg. E proprio CLang offre numerose correzioni e migliorie: ridotta lunghezza nei messaggi di errore, ricavando così un’informazione più immediata e suggerimenti in caso di errori di digitazione. Quest’ultima si rivela utile nel caso di errori di digitazione: maiuscole/minuscole nella battitura dei tipi. Gli sviluppatori potranno inoltre fare affidamento nei nuovi messaggi di warning, il tutto a beneficio dell’espressività della diagnostica.
Lo sforzo degli sviluppatori si è concentrato non solo nelle prestazioni, migliorate rispetto alla precedente versione, ma anche per quanto riguarda l’aderenza ai recenti standard per C/C++. Ad esempio sono state introdotte molte caratteristiche del C++11 come il supporto agli alias
, i cicli for
basati su intervalli e le espressioni noexcept
. Infine per quanto riguarda il plugin DragonEgg, non sarà più necessario apportare la patch ed effettuare la compilazione di GCC. La versione 4.6 è pienamente supportata.
Via | Phoronix
Rilasciato LLVM 3.0 é stato pubblicato su Ossblog.it alle 13:00 di lunedì 05 dicembre 2011.