GCC 4.8 Release Series Changes, New Features, and Fixes
C++周りの変更は以下。
言語
- thread_localキーワードのサポートを追加。
- 属性構文のサポートを追加。GCCに元々あった独自属性も、C++11属性の構文で提供されるようになりました。
- alignas属性のサポートを追加。
- 継承コンストラクタのサポートを追加。
- C++1yの実験的サポートのために、「-std=c++1y」コンパイルオプションを追加。このオプションをオンにすることで、N3386で提案された「戻り値型を推論する関数宣言構文」が利用可能になります。
ライブラリ(libstdc++)
- forward_listを、標準のアロケータ要件を満たすよう修正(allocator_traits)
- this_thread::sleep_for()、this_thread::sleep_until()、this_thread::yield()を、「--enable-libstdcxx-time」オプションを付けることなく定義されるようにした。
の改善 - normal_distributionを、SSE最適化
- 新しいx86プロセッサ上で、random_deviceにRNG命令を使用するようにした
- 拡張の乱数ライブラリとして
を追加 - SSE最適化されたメルセンヌ・ツイスターの実装であるsimd_fast_mersenne_twister_engineを追加
- 分布クラスを色々追加。beta_distribution, normal_mv_distribution, rice_distribution, nakagami_distribution, pareto_distribution, k_distribution, arcsine_distribution, hoyt_distribution
- プロセスが異常終了したときに出力される診断メッセージを無効にするための「--disable-libstdcxx-verbose」オプションを追加。実行ファイルのサイズを減らすのに使える。
GCCを含む、コンパイラのC++11対応状況は、以下のページにまとめてあります:
コンパイラの実装状況 - cpprefjp
言語的には、GCCはあと「メンバ関数の左辺値/右辺値修飾」だけですね。