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)
- Версии инструментария Xcode на Википедии
- Поддержка языка C++ и стандартной библиотеки C++ в Xcode
- Примечания к выпуску Xcode
- Статус поддержки C++20/23/26 в Xcode 16
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
- Функции C++14/17 и исправления STL в VS "15" Preview 5 включая C++14 LWG2112, LWG2246 и LWG2285 и C++17 LWG2296
- Функции и исправления STL в VS 2017 15.8 включая C++17 LWG2911
- Улучшения соответствия стандартам C++, изменения в поведении и исправления ошибок в Visual Studio 2022 включая C++23 P2334R1
- CWG 2518 еще не реализовано - static_assert в неинстанцированном шаблоне вызывает ошибку включая C++23 CWG2518
- Обновления языка компилятора MSVC в Visual Studio 2022 версии 17.12 включая C++23 P2128R6
- Обновления языка C++ в MSVC в Visual Studio 2022 17.13 включая C++23 P0330R8, P0847R7 и P2242R3
Intel C++ (обновлено 2023-01)
- Статус поддержки основного языка C++11 (полная поддержка начиная с версии 15.0)
- Статус поддержки основного языка C++14 (функционально полная поддержка начиная с версии 17.0 - N3664 является оптимизацией)
- Статус поддержки основного языка C++17 (неполная)
- Статус поддержки основного языка C++20 (неполная)
- Функции C++17 в Intel 19.0 beta
-
Intel не поставляет реализацию стандартной библиотеки C++, за исключением
- Parallel STL (реализация алгоритмов стандартной библиотеки C++17 с поддержкой политик выполнения)
- Совместимость Intel с версиями libstdc++ из GCC
EDG (обновлено 2025-01)
- Статус поддержки базового языка C++11
- Статус поддержки базового языка C++14
- Статус поддержки базового языка C++17
- Статус поддержки базового языка C++20
- Статус поддержки базового языка C++23
- Статус поддержки базового языка C++26
- EDG не поставляет реализацию стандартной библиотеки C++
Oracle C++ (обновлено 2017-07)
- Номер версии относится к версии компилятора, а не к версии Oracle Studio
- Статус поддержки основного языка C++11 в версии 5.13
-
Функции C++14 добавлены в версии 5.14
- Полная поддержка C++14 добавлена в версии 5.15.
-
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++ для Linux
- Состояние поддержки базового языка : C++11 полностью реализован начиная с 13.1.6, C++14 частично в 16.1.0
- IBM не поставляет реализацию стандартной библиотеки C++ для Linux (используется GNU libstdc++)
-
IBM XL C++ для AIX
- Состояние поддержки базового языка : C++11 частично в 13.1.3 и 16.1.0 (фронтенд xlC), полностью в 16.1.0 (фронтенд xlclang)
- IBM поставляет версию библиотеки Dinkumware для AIX с полной поддержкой C++ TR1, включая <regex>, но без поддержки C++11
- Функциональные возможности компиляторов IBM XL C/C++
HP aCC
- Примечания к выпуску HP aC++ A.06.28 (включая основные языковые возможности C++11)
- HP поставляет версию реализации RogueWave STL 2.0 стандартной библиотеки C++98
Digital Mars C++
Embarcadero C++
- Статус соответствия языковым возможностям (RAD Studio 10.1 Berlin), включая функции C++11, поддерживаемые устаревшими и усовершенствованными компиляторами Clang (на основе Clang 3.3)
- Статус соответствия языковым возможностям (RAD Studio 10.3 Rio), включая функции C++11, поддерживаемые устаревшими компиляторами, и функции C++11, C++14 и C++17, поддерживаемые усовершенствованными компиляторами Clang (на основе Clang 5.0)
Cray (обновлено 2023-02)
- Cray C and C++ Reference Manual (8.4) Для версии 8.4 утверждается полная поддержка C++14, за исключением alignas
- 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 год заявляют о поддержке C++14, за исключением "обобщенных constexpr и constexpr функций-членов с неявным const, шаблонов переменных, уточнения выделения памяти (объединенное выделение)"
- Примечания к выпуску за 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 для SHARC заявляет о поддержке C++11