les rumeurs disent qu'il est parce que Apple veut GCC baisse (en raison de problèmes de licence GPLv3 ) et passer à Clang.
Ce n'est pas une rumeur, c'est la position déclarée d'Apple. La licence GPL sur GCC empêche Apple d'intégrer complètement le compilateur/analyseur dans ses outils de développement. Avec Clang/LLVM, ils n'ont pas de telles restrictions et sont donc capables de faire beaucoup plus avec leurs outils (en commençant par le Clang Static Analyzer intégré dans Xcode 3.2 et allant beaucoup plus loin avec Xcode 4). Au-delà des problèmes de licence, Clang/LLVM se construit beaucoup plus vite que GCC et dans les benchmarks d'Apple (et ma propre expérience) crée des exécutables plus performants que GCC. Il génère également des messages d'erreur beaucoup plus utiles. Il a été conçu de manière modulaire, ce qui devrait également faciliter la maintenance et l'extension de GCC. Apple a déclaré que toutes les fonctionnalités C++ à l'exception des modèles exportés sont prises en charge dans le prochain compilateur LLVM 2.0 dans Xcode 4, et le compilateur a été auto-hébergé depuis un petit moment maintenant. Si vous ne pouvez pas attendre, ou ne voulez pas essayer les aperçus du développeur Xcode 4, vous pouvez vérifier le compilateur maintenant en saisissant le code source du main LLVM site.
Je recommande fortement de regarder le WWDC 2010 videos disponible gratuitement pour la session 300 - "Outils de développement Etat de l'Union" et la session 312 - "Quoi de neuf dans le compilateur LLVM" où ils exposent ce qu'ils travaillent actuellement avec le compilateur LLVM . En ce qui concerne le timing, seul Apple peut vous dire quand ils vont faire quelque chose, et même ils ne peuvent pas savoir exactement quand quelque chose sera prêt pour la prime time. Vous pouvez faire des suppositions éclairées basées sur la trajectoire d'amélioration des aperçus du développeur Xcode, mais c'est tout. Cependant, Clang/LLVM est la façon dont Apple va, alors pourquoi ne pas planifier pour cela?
Jusqu'à présent, Clang ne prend en charge que quelques fonctionnalités C++ 0x, je ne pense pas qu'il supporte tout ce que GCC ne supporte pas. – delnan
Eh bien, Apple utilise GCC 4.1 et Clang est plus mature (au moins pour les fonctionnalités supportées) que GCC 4.1. – peoro
Sauf qu'Apple utilise GCC 4.2.1 pas 4.1. – jer