web-dev-qa-db-ja.com

GCCでのC ++ 17サポートのステータスは何ですか?

Clangには、プロジェクトステータスw.r.tを説明する Nice page があります。 C++ 1z/C++ 17機能のサポート(およびC++ 11とC++ 14、同じページです)。

g ++には C++ 14の機能に関するページ がありますが、C++ 17/C++ 1zについては何も見つかりませんでした。それは取り組んでいますが、ウェブ上には存在しませんか?バージョン5.0の場合

33
einpoklum

更新された最終的な答え:

  • GCC 8.x(およびそれ以降)は、C++ 17のすべてを完全にサポートしています。
  • GCC 7.xは、クラステンプレート引数の推論を除くすべてのC++ 17をサポートしています。
  • GCC 6.x(およびそれ以前)では、C++ 17機能のサポートはほとんどまたはまったくありません。

全機能表へのリンク について@JanVanDijkに感謝します。

5
einpoklum

現在、gccのC++ 1z言語サポートは次の場所で追跡されています: https://gcc.gnu.org/projects/cxx1z.html 。 libstdc ++のC++ 1zステータスについては、 https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.201z を参照してください。

30
Jan van Dijk

すでにいくつかのサポートがあります。次の2つの要約は、Clangのリストに基づいています。

サポート(2015年7月5日現在):

  • 関数パラメーターのautoがサポートされています 4.9以降 。この機能は現在拡張機能と見なされていますが、概念提案に含まれており、「汎用機能」と呼ばれます。
  • トライグラフはデフォルトで無視されています 5.1.0以降
  • typenameテンプレートテンプレートパラメータ 5.1.0以降
  • 直接リスト初期化のための新しい演rules規則 5.1.0以降
  • static_assertメッセージなし in HEAD
  • u8文字リテラル HEAD内
  • 名前空間または列挙子の属性 HEAD

未サポート(2015年7月5日現在、有効な使用例へのリンク付き):

Libstdc ++でのライブラリ提案の実装状況については、 対応するマニュアル にリストがあります。

7
Columbo

また、cppreference.comには、いくつかのコンパイラでサポートされている機能をリストした素敵な表があります。

http://en.cppreference.com/w/cpp/compiler_support

4
BoshWash