BT

GCC 6.1がリリース - C++17新機能,OpenMPフルサポート,OpenACCサポート向上

| 作者: Sergio De Simone フォローする 17 人のフォロワー , 翻訳者 吉田 英人 フォローする 0 人のフォロワー 投稿日 2016年5月19日. 推定読書時間: 2 分 |

原文(投稿日:2016/05/03)へのリンク

GCCバージョン6.1は,前回から1年以上を経た最初のメジャーリリースだ。メンテナのJakub Jelinek氏によると,新たにC++17機能やOpenMPのフルサポート,OpenACCのサポート向上など,多くの新機能が含まれている。

GCC 6.1で導入された最も重要な変更点は以下のようなものだ。

  • C++コンパイラのデフォルトが-std=gnu++98から-std=gnu++14に変更された。
  • ロケーションの改善,ロケーション範囲,不正な識別子の提案,fix-itヒント,新たな警告など,診断機能の改善。
  • オプティマイザの改善。これは手続き内(intra-procedural)最適化,手続き間(inter-procedural)最適化,リンク時の最適化など,さまざまなターゲットのバックエンドに影響する。
  • C++コンパイラが拡張され,フォールド式(fold expression)u8文字リテラル,入れ子になった名前空間の定義など,C++17に必要な新機能がサポートされた。さらには,公式にはC++17に含まれていない機能であるC++ コンセプト(concept)や,C++トランザクショナルメモリもサポートされている。C++標準ライブラリでも同様に,std::uncaught_exception, std::invoke, std::shared_mutexなどのC++17機能がサポートされた。
  • OpenMP(Open Multi-Processing) 4.5仕様のフルサポート。マルチプラットフォームの共有メモリマルチプロセッシング用に設計されたAPIである。
  • OpenACC 2.0aのサポート改善。異種CPU/GPUシステムによる並列プログラミングの簡素化を目的として,Cray, CAPS, Nvidia, PGIが開発したプログラミング標準である。

既存コードのGCC 6.1への移行を容易にするため,GCCチームは,予想される主な問題点とその対処方法を詳細に説明したガイドも公開している。その内容は次のようなものだ。

  • 必要とする標準バージョンに対して,適切な-stdオプションを選択すること。
  • デストラクタのnoexcept例外仕様のように,標準バージョンによって動作が異なる可能性のある機能を使用する場合は,その旨を注記すること。あるいは,ポインタが必要な場面でfalseを使うような操作は,完全に除外すること。

GCCの最新リリースは,GNUミラーリスト内にある任意のサーバの,gcc/gcc-6.1.0サブディレクトリから入手可能だ。

 
 

この記事を評価

関連性
形式
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT