LLVM 3.0リリース

LLVM 3.0 Release Notes
Clang 3.0 Release Notes


C++コンパイラの変更点は以下のようになっています:

  • C++11を仕様する場合に「-std=c++11」もしくは「-std=gnu++11」のオプションを付けれるようになった(これまでは++0xだった)
  • 範囲for文をサポート
  • alias declarationおよびtemplate aliasesをサポート(typedefの新構文)
  • クラスのデータメンバのデフォルト値をクラス定義時に書けるようになった
  • コンストラクタから他のコンストラクタに移譲できるようになった
  • overrideキーワードをサポート
  • 明示的に定義されるコンストラクタのデフォルト定義として=defaultを付けられるようになった
  • nullptrキーワードをサポート
  • Raw String Literalをサポート(例: R"delim(str"ing)delim" )
  • Unicode String Literalをサポート(例: U"\u1234" )。また、char16_t, char32_t組み込み型もサポート
  • noexcept式、および関数宣言のnoexcept識別子をサポート
  • alignof式、および変数宣言のalignas識別子をサポート
  • C++11標準ライブラリのtype traitsをフルサポート