読者です 読者をやめる 読者になる 読者になる

GCC 4.8がリリースされた

C++ GCC

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はあと「メンバ関数の左辺値/右辺値修飾」だけですね。