Microsoft va int�grer le compilateur Clang dans une mise � jour de Visual C++
qui est attendue en novembre 2015

Le mois dernier, Jim Springfield, architecte logiciel sur Visual C++ et employ� chez Microsoft, a reconnu dans un billet de blog que le compilateur C/C++ de Microsoft est maintenant vieux. Selon lui, il existe dans le code source de ce dernier des commentaires qui datent de 1982, lorsque Microsoft commen�ait tout juste � travailler sur son propre projet de compilateur C. Il a donc partag� avec les d�veloppeurs des d�tails sur certaines �tapes de la refonte du compilateur C/C++.

Microsoft a officiellement amorc� ce processus de refonte puisque l�entreprise a annonc� durant le CPPCon 2015 qu�elle va int�grer Clang, le compilateur open source pour les langages de programmation C, C++ et Objective C dont l�interface de bas niveau utilise les biblioth�ques LLVM pour la compilation, dans une mise � jour de Visual C++ qui est attendue au courant du mois de novembre 2015.

Pour rappel, Visual Studio 2015 int�gre d�j� Clang pour les d�veloppements Android et iOS. Aussi, si vous voulez d�velopper par exemple une application pour la plateforme Android, vous avez le choix entre GCC (GNU C++) ou la bo�te � outils Clang. L�int�gration � venir de Clang est diff�rente dans la mesure o� elle se sert de Clang pour compiler les applications Windows.

Visual C++ comprend plusieurs parties : l�environnement de d�veloppement int�gr� Visual Studio, le compilateur front-end qui g�n�re un arbre syntaxique abstrait (AST) repr�sentant le contenu du programme et un compilateur back-end qui va lire l�arbre syntaxique abstrait et g�n�rer le code ex�cutable.

Le compilateur front-end est appel� C1 et le compilateur back-end C2. Au sein de Microsoft, ce sont deux �quipes diff�rentes qui travaillent sur chacun de ces compilateurs.

La nouvelle int�gration de Microsoft viendra remplacer C1 par Clang, m�me si C2 est toujours utilis� en compilation back-end. C�est Jim Radigan, le responsable de l��quipe Microsoft d�di�e au compilateur back-end, qui a expliqu� que Clang �mettra une LLVM IR (Intermediate Representation) qui sera alors convertie dans une forme interm�diaire utilis�e par le compilateur C2 que Radigan a d�crit comme �tant des tuples. Par la suite, la g�n�ration de code continue comme � l�accoutum�e avec l�UTC (Universal Tuple Compiler) de C2.

L�objectif derri�re la combinaison Clang / C2 pour Windows est d�am�liorer le support du multiplateforme aussi bien pour les projets Microsoft que pour les d�veloppeurs tiers. Utiliser Clang comme compilateur front-end sur les plateformes Android, iOS et Windows 10 UWP (Universal Windows Platform) r�duit consid�rablement la possibilit� de bogues caus�s par les diff�rences entre le C1 et Clang.

Les d�veloppeurs pourraient �galement bien accueillir Clang en raison de son meilleur respect des normes que Visual C++ aussi bien pour le C que pour le C++. Steve Carroll, Microsoft Engineering Manager de l��quipe front-end, a expliqu� que tandis que le support des normes C99 et C11 est d�j� beaucoup am�lior�, la combinaison Clang / C2 va la compl�ter. Il a pr�cis� que Microsoft n�abandonne pas le compilateur C1, mais va continuer de l�am�liorer.

La version initiale mise � la disposition des d�veloppeurs de Clang / C2 sera bien entendu une pr�version suivie par une mise � jour qui est pr�vue pour le mois de f�vrier 2016.

En plus d�apporter Clang / C2 � Visual C++, Microsoft a �galement modifi� son approche des mises � jour afin de prendre enti�rement en charge davantage de changements de fonctionnalit�s durant la dur�e de vie de Visual Studio 2015 au lieu de les garder en pr�version en attendant les prochaines mises � jour majeures.

Microsoft compte �galement proposer une �dition � Build Only � de Visual C++ qui viendra installer le compilateur et les outils pour lancer ses lignes de commandes sans l�environnement de d�veloppement int�gr� Visual Studio.


Source : YouTube

Voir Aussi :

L'�quipe Visual C++ donne des d�tails sur certaines �tapes de la refonte du compilateur C/C++