Nel
benchmark sui compilatori segnalato la scorsa settimana riguardante GCC,
LLVM (Low Level Virtual Machine),
clang e
DragonEgg abbiamo parlato della
velocità di compilazione della versione SVN degli ultimi due citati.
Oggi segnaliamo il rilascio ufficiale della
versione 2.9 di
LLVM — la suite di strumenti di compilazione, che incorpora
clang e
DragonEgg — che segue i recenti rilasci di
GCC 4.6 e
pcc 1.0.
Le
novità più importanti della nuova versione riguardano il compilatore clang, il plug-in per GCC DragonEgg e la libreria
libc++. Il
nuovo clang apporta migliorie al supporto per lo standard C++0x (C++ 2011), alla generazione di funzioni e alla compatibilità con il kernel Linux. La
nuova versione di DragonEgg, utilizzato da LLVM come
back-end per generare il codice nei linguaggi supportati dal compilatore GCC, offre migliorie nel supporto a Fortran e riduce i crash nelle fasi di compilazione di codice Java.
Il
nuovo libc++, una implementazione alternativa della libreria standard C++, risolve alcune falle e si presenta con una
duplice licenza, analogamente a un altro progetto della suite LLVM,
compiler-rt. Le due licenze in questione sono la
UUIC (University of Illinois Open Source License) (simile a una licenza BSD) e la
MIT. La libreria è progettata per lavorare con
clang, ma funziona bene anche con altri compilatori e supporta il nuovo standard C++.
Ulteriori modifiche sono state apportate al debugger
LLDB (Low Level Debugger), che migliora in termini di stabilità. La nuova versione di LLVM ha anche un
back-end sperimentale che supporta i processori grafici NVIDIA. Inizialmente il target principale del compilatore
clang era il linguaggio C++, ma adesso l’infrastruttura mette a disposizione front-end per Objective-C/C++, bytecode Java, CIL di Microsoft, Python e Ruby.
Per ulteriori informazioni sul nuovo rilascio si consiglia la consultazione delle
note, in cui sono riportate informazioni dettagliate e un certo numero di progetti della comunità Open Source che usano LLVM. Chi fosse interessato a provare il nuovo LLVM, può scaricarlo dalla
pagina dedicata al download.