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

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Sur le même sujet
Le , par Cedric Chevalier, Chroniqueur Actualités
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 ?


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de grim7reaper grim7reaper
http://www.developpez.com
Membre chevronné
le 20/06/2013 4:21
Il y a aussi eu une nette augmentation de l’efficacité du code généré par rapport à la 3.2.
En partie dû aux améliorations au niveau auto-vectorisation (cf. ici pour un peu plus d’explications sur ce point).
Avatar de Kaluza Kaluza
http://www.developpez.com
Membre habitué
le 20/06/2013 15:03
Personnellement j'ai installé clang depuis peu comme complément à g++ sous Linux. Avec la version 3.2, j'avais pas mal de code métaprog hautement templaté avec également pas mal de SFINAE/enable_if qui ne compilait pas. Du coup je m'en servais surtout pour débugguer mon code, car les messages d'erreurs de compilation de clang sont quand même merveilleux. J'espère que les problèmes de métaprog de la version 3.2 ont été corrigés dans cette nouvelle mouture
Offres d'emploi IT
Support Fonctionnel Client Expérimenté (H/F)
CDI
IDEAS RH - Rhône Alpes - Satolas-et-Bonce (38290)
Parue le 19/09/2014
Animateur Régional Réseau H/F
CDI
Futur Telecom - Aquitaine - Pessac (33600)
Parue le 11/09/2014
Reconversion ingénieur informatique h/f
CDI
Adaming - Ile de France - France
Parue le 17/09/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula