cpp/compiler support/vendors
From cppreference.net
<
cpp
|
compiler support
個別ベンダー互換性チェックリスト
GCC (更新 2025-01)
- C++11 コア言語サポート状況 (4.8.1 時点で完了、ただし 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)
Microsoft Visual Studio (更新 2025-02)
- Microsoft C/C++ 言語準拠 (Visual Studio 2015以降)
- STL 変更履歴 (Visual Studio 2019 16.5以降)
-
上記に含まれない機能のリファレンス
- C++11/14/17 機能のサポート (Modern 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 バージョン 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 標準ライブラリアルゴリズムの実装)
- Intel コンパイラと GCC の libstdc++ バージョンとの互換性
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はC++標準ライブラリの4つの実装を提供しています:
- libCstd(RogueWave Standard Library version 2)、C++98以前
- stlport4(STLport Standard Library version 4.5.3)、C++03以前
- stdcxx4(Apache Standard Library version 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ライブラリのバージョン を提供(C++ TR1を完全サポート、<regex>を含むが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 and C++ Reference Manual (8.4) バージョン8.4では、alignasを除くC++14の全機能がサポートされていると主張
- Cray C and C++ Reference Manual (8.6) バージョン8.6では、C++14の全機能がサポートされていると主張
- Cray C and C++ Reference Manual (9.1) バージョン9.1ではC++14を超えるサポートは主張していない
- HPE Cray Clang C and C++ Quick Reference (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)
- すべてのC++17言語機能はnvccバージョン11.0以降でサポートされており、 こちら で説明されている制限に従います
- すべてのC++20言語機能はnvccバージョン12.0以降でサポートされており、 こちら で説明されている制限に従います
- NVCCはC++標準ライブラリの実装を同梱していません
Texas Instruments (更新 2018-05)
- cl430 version v18.1.0 C++14サポートを主張
Analog Devices (更新 2018-05)
- CrossCore Embedded Studio 2.8.0 for SHARC C++11サポートを謳う