El proyecto LLVM s una colección modular y reusable de tecnologías de compilación. Empezó como un proyecto de investigación en la Universidad de Illinois, con la meta de dar una estrategia moderna para compilación, que soporte este proceso de forma dinámica o estática para cualquier lenguaje de programación que se deseé.
El proyecto Clang se inició para crear un nuevo compilador LLVM de C, C++ y Objective C. Con ello se supone que se pueda compilar más rápidamente (tres veces más rápido que GCC cuando se compila Objective C en configuración de depuración). Una de las mejoras más importantes en LLVM 3.4 es que habilita por omisión el AMD R600 GPU. Hasta ahora esto era “experimental” pero la nueva versión ya lo pone de manera oficial. La ventaja de esto es que ofrece la posibilidad de usar el manejador (driver) de AMD para las gráficas en Linux.
Otras mejoras incluyen un nuevo programa utilitario, Clang-Format, que puede usarse para auto-formatear código. Se ha añadido soporte para la arquitectura MPIS SIMD así como soporte experimental para SPARC V9. También se ha mejorado la generación de código y el tiempo de compilación para los sistemas X86, SPARC, ARM32, Aarch64 y SystemZ.
De acuerdo a las notas de esta versión 3.4, las mejoras importantes en la implementación de Clang empiezan con el diagnóstico que da Clang al compilar. Ahora se explica más claramente lo que encuentra el compilador. Digamos que los mensajes son menos crípticos. El lenguaje C soportado en Clang tiene ahora nuevas instrucciones de verificación aritmética para las aplicaciones de seguridad crítica. Otra mejora fundamental es el soporte para el estándar de C++ (llamado 1y), el cual será el nuevo estándar de C++ una vez que se complete. Aparte de esto, Clang-c1 es un nuevo driver que se ha diseñado para ser compatible con Visual Studio.
Puede verse que esta versión 3.4 parece ya ser más sólida y usable que las anteriores. Cuestión ahora de probarla.
Referencias: