cpp/コンパイラのサポート/ベンダー
From cppreference.com
< cpp | compiler support
[編集] 個々のベンダー互換性チェックリスト
[編集] GCC (2025-01 更新)
- C++11 コア言語サポート状況 (4.8.1 時点で完了、ただし N2670 を除く。N2670 はどのコンパイラでも実装されておらず、C++23 で削除された)
- C++11 ライブラリサポート状況 (5.1 時点で完了)
- C++14 コア言語サポート状況 (5.1 時点で完了)
- C++14 ライブラリサポート状況 (5.1 時点で完了)
- C++17 コア言語サポート状況 (7.1 時点で完了)
- C++17 ライブラリサポート状況 (12.0 時点で完了)
- C++20 コア言語サポート状況 (11.0 時点で完了、モジュールの一部を除く)
- C++20 ライブラリサポート状況 (14.0 時点で完了)
- C++23 コア言語サポート状況
- C++23 ライブラリサポート状況
- C++26 コア言語サポート状況
- テクニカル仕様サポート状況
- コア言語欠陥レポート状況
[編集] Clang (2025-01 更新)
- リアルタイム libc++ 準拠状況
- C++11 コア言語サポート状況 (3.3 時点で完了)
- C++11 ライブラリサポート状況 (2012-07-29 時点で完了)
- C++14 コア言語サポート状況 (3.4 時点で完了)
- C++14 ライブラリサポート状況 (3.5 時点で完了)
- C++17 コア言語サポート状況 (5.0 時点で完了)
- C++17 ライブラリサポート状況
- C++20 コア言語サポート状況
- C++20 ライブラリサポート状況
- C++23 コア言語サポート状況
- C++23 ライブラリサポート状況
- C++26 コア言語サポート状況
- C++26 ライブラリサポート状況
- テクニカル仕様サポート状況
- コア言語欠陥レポート状況
[編集] Apple Clang (2025-01 更新)
- Wikipedia の Xcode ツールチェーンバージョン
- Xcode C++ 言語および C++ 標準ライブラリのサポート
- Xcode リリースノート
- Xcode 16 における C++20/23/26 サポート状況
[編集] Microsoft Visual Studio (2025-02 更新)
- Microsoft C/C++ 言語準拠 (Visual Studio 2015 以降)
- STL 変更ログ (Visual Studio 2019 16.5 以降)
- 上記に含まれない機能の参照
- C++11/14/17 機能のサポート (モダン C++) (C++11 コア言語機能を含む)
- Visual C++ の新機能 2003 から 2015 (C++11 N1913 を含む)
- VS “15” Preview 5 における C++14/17 機能と STL の修正 (C++14 LWG2112, LWG2246, LWG2285 および C++17 LWG2296 を含む)
- VS 2017 15.8 における STL 機能と修正 (C++17 LWG2911 を含む)
- Visual Studio 2022 における C++ 準拠の改善、動作変更、バグ修正 (C++23 P2334R1 を含む)
- CWG 2518 はまだ実装されていません - インスタンス化されていないテンプレート内の static_assert がエラーを生成する (C++23 CWG2518 を含む)
- Visual Studio 2022 version 17.12 における MSVC コンパイラ言語の更新 (C++23 P2128R6 を含む)
- Visual Studio 2022 17.13 における MSVC の C++ 言語の更新 (C++23 P0330R8, P0847R7, P2242R3 を含む)
[編集] Intel C++ (2023-01 更新)
- C++11 コア言語サポート状況 (15.0 時点で完了)
- C++14 コア言語サポート状況 (17.0 時点で機能的に完了 - N3664 は最適化)
- C++17 コア言語サポート状況 (不完全)
- C++20 コア言語サポート状況 (不完全)
- Intel 19.0 ベータ版の C++17 機能
- Intel は C++ 標準ライブラリの実装を提供していません。ただし、以下を除きます。
- Parallel STL (実行ポリシーをサポートする C++17 標準ライブラリアルゴリズムの実装)
- GCC の libstdc++ バージョンとの Intel の互換性
[編集] EDG (2025-01 更新)
- C++11 コア言語サポート状況
- C++14 コア言語サポート状況
- C++17 コア言語サポート状況
- C++20 コア言語サポート状況
- C++23 コア言語サポート状況
- C++26 コア言語サポート状況
- EDG は C++ 標準ライブラリの実装を提供していません
[編集] Oracle C++ (2017-07 更新)
- バージョン番号はコンパイラのバージョンであり、Oracle Studio のバージョンではありません。
- 5.13 における C++11 コア言語サポート状況
- 5.14 で追加された C++14 機能
- 5.15 で完全な C++14 サポートが追加されました。
- Oracle は 4 つの C++ 標準ライブラリ実装を提供しています。
- libCstd (RogueWave Standard Library バージョン 2), C++98 よりも前のもの
- stlport4 (STLport Standard Library バージョン 4.5.3), C++03 よりも前のもの
- stdcxx4 (Apache Standard Library バージョン 4), C++11 よりも前のもの
- libstdc++ (GCC ランタイムライブラリ、リリースに応じて C++11 および C++14 をサポート)
[編集] IBM XL C++ (2018-05 更新)
- IBM XL C++ for Linux
- コア言語サポート状況: C++11 は 13.1.6 で完了、C++14 は 16.1.0 で部分的に対応
- IBM は Linux 用の C++ 標準ライブラリの実装を提供していません (GNU libstdc++ を使用)
- IBM XL C++ for AIX
- コア言語サポート状況: C++11 は 13.1.3 および 16.1.0 (xlC フロントエンド) で部分的、16.1.0 (xlclang フロントエンド) で完了
- IBM は AIX 用の Dinkumware ライブラリのバージョン を提供しており、<regex> を含む C++ TR1 の完全なサポートがありますが、C++11 は含まれていません。
- IBM XL C/C++ コンパイラの機能
[編集] HP aCC
- HP aC++ A.06.28 リリースノート (C++11 コア言語機能を含む)
- HP は C++98 標準ライブラリの RogueWave STL 2.0 実装バージョンを提供しています
[編集] Digital Mars C++
[編集] Embarcadero C++
- 言語機能の準拠状況 (RAD Studio 10.1 Berlin)、レガシーコンパイラと Clang 拡張コンパイラ (Clang 3.3 ベース) でサポートされる C++11 機能を含む
- 言語機能の準拠状況 (RAD Studio 10.3 Rio)、レガシーコンパイラでサポートされる C++11 機能と、Clang 拡張コンパイラ (Clang 5.0 ベース) でサポートされる C++11、C++14、C++17 機能を含む
[編集] Cray (2023-02 更新)
- Cray C および C++ リファレンスマニュアル (8.4) バージョン 8.4 では、alignas を除くすべての C++14 がサポートされていると主張
- Cray C および C++ リファレンスマニュアル (8.6) バージョン 8.6 では、すべての C++14 がサポートされていると主張
- Cray C および C++ リファレンスマニュアル (9.1) バージョン 9.1 では C++14 を超えるサポートは主張されていません。
- HPE Cray Clang C および C++ クイックリファレンス (14.0) (S-2179) バージョン 11 以降 (少なくとも 14 まで) は Clang ベースであり、一般的に対応する言語サポートが期待されます。コルーチンやモジュールなど、「興味深い」コード生成やリンク動作を伴う機能は、コンパイラが GPU やその他の同様に限定されたデバイス用のコード生成をサポートしているため、遅れる可能性があります。
[編集] Portland Group (PGI) (2019-01 更新)
- 2016 年のリリースノートでは、「一般化された constexpr と constexpr メンバ関数と暗黙の const、変数テンプレート、メモリ割り当ての明確化 (マージされた割り当て)」を除く C++14 サポートを主張しています。
- 2018 年のリリースノート
- PGI 19.1 のリファレンスマニュアル
- PGI は C++ 標準ライブラリの実装を提供していません
[編集] Nvidia Cuda nvcc (2023-01-12 更新)
- CUDA C++ プログラミングガイド (v12.0)
- nvcc バージョン 11.0 以降では、すべての C++17 言語機能がサポートされていますが、こちらに記載されている制限が適用されます。
- nvcc バージョン 12.0 以降では、すべての C++20 言語機能がサポートされていますが、こちらに記載されている制限が適用されます。
- NVCC は C++ 標準ライブラリの実装を提供していません
[編集] Texas Instruments (2018-05 更新)
- cl430 バージョン v18.1.0 は C++14 サポートを主張しています
[編集] Analog Devices (2018-05 更新)
- SHARC 用 CrossCore Embedded Studio 2.8.0 は C++11 サポートを主張しています