LLVM la suite d’outils de compilation est disponible dans sa version 3.3. Cette dernière apporte son lot de nouvelles fonctionnalités.
LLVM 3.3 intègre le compilateur Clang 3.3 pour les langages C, C++ et Objective-C, la librairie compiler-rt, le « low-level debugger LLDB », la librairie C++ libc++ et la JVM VMKit qui utilise LLVM pour la compilation statique et JIT (Just In Time).
Cette version se distingue avec ses prédécesseurs par un le support complet de la norme C++ 11. Les ajouts sont entre autres : les attributs C++ 11, l'héritage de constructeurs, la gestion des variables thread_local, les lambda généralisées, l’amélioration des expression constexpr, etc.
Cette mouture ne prend plus en charge le traitement des exceptions pour JIT. Les développeurs qui voudront bénéficier de cette fonctionnalité sont invités à utiliser le MCJIT (Machine Code Just In time).
Puisqu'ils sont désormais obsolètes, les architectures des processeurs Hexagon V2 et Hexagon V3 ne sont plus prises en charge. Seuls les processeurs Hexagon V4 et Hexagon V5 sont supportés par cette nouvelle mouture.
Le support pour l'architecture 64 bits des processeurs ARM est au stade expérimental. Cependant, d'après l'équipe de développement, Clang devrait compiler avec succès du code respectant les standards C99 et C++03.
Pour l'architecture PowerPC, on note l'ajout de l'analyseur syntaxique pour le langage assembleur. On note en plus l'amélioration des performances pour les opérations de division à virgule flottante et racine carrée, grâce à l'option -ffast-math. Le support du stockage local des « threads » est également de la partie, cependant il n'est disponible que pour les architectures 64 bits uniquement.
Grace à la fonctionnalité « R600 backend » LLVM prend en charge les GPU d'AMD, pour les puces HD2XXX à HD7XXX.
LLVM est désormais compatible avec les architectures basées sur le SystemZ d'IBM. Cependant ce support est restreint pour la plateforme GNU/Linux.
Le débogueur LLDB (Low level Debugger) subit des changements notables pour la plateforme Linux. On peut désormais ajouter des « watchpoints ». L'intégration de Vim pour les commandes LLDB s'est faite à l'aide d'un nouveau plugin, et on note en plus, une amélioration du support des registres y compris ceux vectoriels.
Télécharger LLVM 3.3
Source : LLVM
Et vous ?
Que pensez vous de cette nouvelle mouture de LLVM ?
LLVM 3.3 disponible avec Clang
La suite d'outils de compilation pour C, C++ et Objective-C apporte un support complet de C++ 11
LLVM 3.3 disponible avec Clang
La suite d'outils de compilation pour C, C++ et Objective-C apporte un support complet de C++ 11
Le , par Cedric Chevalier
Une erreur dans cette actualité ? Signalez-nous-la !