GCC 4.7がリリースされました

GCC 4.7 Release Series Changes, New Features, and Fixes


遅くなってしまいましたが、2012/03/22(木)にGCC 4.7.0がリリースされました。
リリースノートからC++11周りの変更点を抜粋します。

  • C++11を使用可能にするためのオプションをこれまで-std=c++0x, -std=gnu++0x, -Wc++0x-compatを使用していたが、-std=c++11, -std=gnu++11, -Wc++11-compatを使用できるようにした。効果はこれまでと同じ。
  • 拡張friend宣言をサポート
  • override/finalキーワードをサポート
  • ユーザー定義リテラルをサポート
  • alias declaration, template aliasesをサポート
  • 移譲コンストラクタをサポート
  • atomicアクセスのC++11クラスをサポート
  • C++11を有効にした場合の__cplusplusマクロの値を201103Lにした
  • C++11のライブラリの至る所をnoexceptを使用するよう修正
  • pointer_traits, allocator_traits, scoped_allocator_adaptorをサポート
  • tupleのuses-allocatorによるコンストラクトをサポート
  • vectorを、アロケータの要件を満たすよう修正
  • monotonic_clockをsteady_clockに名前変更
  • スレッドライブラリをより多くの環境で使用可能にした
  • unordered連想コンテナのイテレータデバッグモードを付けた
  • 非staticデータメンバの初期化


それと、GCC拡張ですが、STMのための構文が使用可能になっています。
参照: GCC 4.7にはTransactional Memoryの拡張が入る予定