Clang beherrscht vollständig C++11
Das C++-Frontend Clang für das Compiler-System LLVM unterstützt jetzt den kompletten Sprachumfang von C++11. Darüber hinaus hat die Umsetzung erster Teile des kommenden C++1y-Standards (alias C++14) begonnen.
Das gaben die Entwickler in einem Blog-Beitrag bekannt. So unterstützt das LLVM-Frontend jetzt auch die „[[attribute]]“-Notation, vererbte Konstruktoren und thread_local-Variablen. Diese in der Clang-Version 3.2 bislang noch fehlenden Features sollen Programmierer ab der nächsten Version 3.3 nutzen können. Wer sie jetzt schon ausprobieren möchte, muss die aktuelle Clang-Entwicklerversion aus dem SVN-Repository verwenden.
Darüber hinaus haben die Entwickler mit der Unterstützung von C++1y begonnen. Zwar ist die Standardisierung der nächsten C++-Version noch nicht abgeschlossen, die Implementierungen einiger Bestandteile aus dem ersten Entwurf sollen jedoch schon in den nächsten Wochen im SVN-Repository auftauchen. Dazu zählen insbesondere die generalisierten Lambda-Funktionen, die Ableitung von Rückgabetypen (etwa im Fall von auto fn(int n) { return irgendwas(); }) sowie ein verbessertes „constexpr“-Feature. Die Nutzung von C++1y kann man erzwingen, indem man den Compiler mit dem Parameter „-std=c++1y“ aufruft. Welche Sprach-Features Clang ab welcher Version von C++11 und C++1y unterstützt, verrät eine detaillierte Liste auf der Homepage des Clang-Projekts.





