cpp/compiler support/vendors
From cppreference.net
<
cpp
|
compiler support
Listas de verificación de compatibilidad de proveedores individuales
GCC (actualizado 2025-01)
- Estado de soporte del lenguaje central C++11 (completo a partir de 4.8.1, excepto N2670 , que no está implementado por ningún compilador y fue eliminado en C++23)
- Estado de soporte de biblioteca C++11 (completo a partir de 5.1)
- Estado de soporte del lenguaje central C++14 (completo a partir de 5.1)
- Estado de soporte de biblioteca C++14 (completo a partir de 5.1)
- Estado de soporte del lenguaje central C++17 (completo a partir de 7.1)
- Estado de soporte de biblioteca C++17 (completo a partir de 12.0)
- Estado de soporte del lenguaje central C++20 (completo a partir de 11.0, excepto parte de módulos)
- Estado de soporte de biblioteca C++20 (completo a partir de 14.0)
- Estado de soporte del lenguaje central C++23
- Estado de soporte de biblioteca C++23
- Estado de soporte del lenguaje central C++26
- Estado de soporte de Especificaciones Técnicas
- Estado de reportes de defectos del lenguaje central
Clang (actualizado 2025-01)
- Estado de conformidad en tiempo real de libc++
- Estado de soporte del lenguaje central C++11 (completo a partir de 3.3)
- Estado de soporte de biblioteca C++11 (completo a partir del 2012-07-29 )
- Estado de soporte del lenguaje central C++14 (completo a partir de 3.4)
- Estado de soporte de biblioteca C++14 (completo a partir de 3.5)
- Estado de soporte del lenguaje central C++17 (completo a partir de 5.0)
- Estado de soporte de biblioteca C++17
- Estado de soporte del lenguaje central C++20
- Estado de soporte de biblioteca C++20
- Estado de soporte del lenguaje central C++23
- Estado de soporte de biblioteca C++23
- Estado de soporte del lenguaje central C++26
- Estado de soporte de biblioteca C++26
- Estado de soporte de Especificaciones Técnicas
- Estado de reportes de defectos del lenguaje central
Apple Clang (actualizado 2025-01)
- Versiones del toolchain de Xcode en Wikipedia
- Soporte de lenguaje C++ y biblioteca estándar de C++ en Xcode
- Notas de lanzamiento de Xcode
- Estado de soporte de C++20/23/26 en Xcode 16
Microsoft Visual Studio (actualizado 2025-02)
- Conformidad del lenguaje Microsoft C/C++ (desde Visual Studio 2015)
- Registro de cambios de STL (desde Visual Studio 2019 16.5)
-
Referencias para características no incluidas anteriormente
- Soporte para características de C++11/14/17 (C++ moderno) incluyendo características del lenguaje central de C++11
- Novedades de Visual C++ 2003 a 2015 incluyendo C++11 N1913
- Características de C++14/17 y correcciones de STL en VS "15" Preview 5 incluyendo C++14 LWG2112, LWG2246 y LWG2285 y C++17 LWG2296
- Características y correcciones de STL en VS 2017 15.8 incluyendo C++17 LWG2911
- Mejoras de conformidad de C++, cambios de comportamiento y correcciones de errores en Visual Studio 2022 incluyendo C++23 P2334R1
- CWG 2518 aún no implementado - static_assert en plantilla no instanciada produce error incluyendo C++23 CWG2518
- Actualizaciones del lenguaje del compilador MSVC en Visual Studio 2022 versión 17.12 incluyendo C++23 P2128R6
- Actualizaciones del lenguaje C++ en MSVC en Visual Studio 2022 17.13 incluyendo C++23 P0330R8, P0847R7 y P2242R3
Intel C++ (actualizado 2023-01)
- Estado de compatibilidad del lenguaje central de C++11 (completo a partir de la versión 15.0)
- Estado de compatibilidad del lenguaje central de C++14 (funcionalmente completo a partir de la versión 17.0 - N3664 es una optimización)
- Estado de compatibilidad del lenguaje central de C++17 (incompleto)
- Estado de compatibilidad del lenguaje central de C++20 (incompleto)
- Características de C++17 en Intel 19.0 beta
-
Intel no incluye una implementación de la biblioteca estándar de C++, excepto por
- Parallel STL (una implementación de los algoritmos de la biblioteca estándar de C++17 con soporte para políticas de ejecución)
- Compatibilidad de Intel con versiones de libstdc++ de GCC
EDG (actualizado 2025-01)
- Estado de soporte del lenguaje central de C++11
- Estado de soporte del lenguaje central de C++14
- Estado de soporte del lenguaje central de C++17
- Estado de soporte del lenguaje central de C++20
- Estado de soporte del lenguaje central de C++23
- Estado de soporte del lenguaje central de C++26
- EDG no distribuye una implementación de la biblioteca estándar de C++
Oracle C++ (actualizado 2017-07)
- El número de versión es la versión del compilador, no la versión de Oracle Studio
- Estado de soporte del lenguaje core C++11 en 5.13
-
Características de C++14 añadidas en 5.14
- Soporte completo de C++14 añadido en 5.15.
-
Oracle distribuye 4 implementaciones de la biblioteca estándar de C++:
- libCstd (RogueWave Standard Library versión 2), anterior a C++98
- stlport4 (STLport Standard Library versión 4.5.3), anterior a C++03
- stdcxx4 (Apache Standard Library versión 4), anterior a C++11
- libstdc++ (biblioteca de tiempo de ejecución de GCC, soporte para C++11 y C++14 dependiendo de la versión)
IBM XL C++ (actualizado 2018-05)
-
IBM XL C++ para Linux
- Estado de soporte del lenguaje central : C++11 completo a partir de 13.1.6, C++14 parcial en 16.1.0
- IBM no distribuye una implementación de la biblioteca estándar de C++ para Linux (utiliza GNU libstdc++)
-
IBM XL C++ para AIX
- Estado de soporte del lenguaje central : C++11 parcial en 13.1.3 y 16.1.0 (frontend xlC), completo en 16.1.0 (frontend xlclang)
- IBM distribuye una versión de la biblioteca Dinkumware para AIX con soporte completo para C++ TR1, incluyendo <regex>, pero sin C++11
- Características de los compiladores IBM XL C/C++
HP aCC
- Notas de lanzamiento de HP aC++ A.06.28 (incluyendo características del lenguaje central de C++11)
- HP distribuye una versión de la implementación RogueWave STL 2.0 de la biblioteca estándar C++98
Digital Mars C++
Embarcadero C++
- Estado de cumplimiento de características del lenguaje (RAD Studio 10.1 Berlin), incluyendo características de C++11 compatibles con compiladores heredados y mejorados con Clang (basado en Clang 3.3)
- Estado de cumplimiento de características del lenguaje (RAD Studio 10.3 Rio), incluyendo características de C++11 compatibles con compiladores heredados y características de C++11, C++14 y C++17 compatibles con los compiladores mejorados con Clang (basado en Clang 5.0)
Cray (actualizado 2023-02)
- Manual de Referencia de Cray C y C++ (8.4) Para la versión 8.4, afirma que todo C++14 es compatible excepto alignas
- Manual de Referencia de Cray C y C++ (8.6) Para la versión 8.6, afirma que todo C++14 es compatible
- Manual de Referencia de Cray C y C++ (9.1) para la versión 9.1 no afirma compatibilidad más allá de C++14
- Referencia Rápida de HPE Cray Clang C y C++ (14.0) (S-2179) Las versiones desde la 11 en adelante (hasta al menos la 14) están basadas en Clang, y generalmente se espera que tengan el soporte de lenguaje correspondiente. Las características que implican comportamientos de generación de código o enlazado 'interesantes' como corrutinas o módulos pueden retrasarse, ya que el compilador admite generar código para GPUs y otros dispositivos igualmente limitados
Portland Group (PGI) (actualizado 2019-01)
- Notas de lanzamiento para 2016 afirman soporte para C++14, excepto "constexpr generalizado y funciones miembro constexpr e implícitamente const, plantillas de variables, clarificación de asignación de memoria (asignación fusionada)"
- Notas de lanzamiento para 2018
- Manual de referencia de PGI 19.1
- PGI no incluye una implementación de la biblioteca estándar de C++
Nvidia Cuda nvcc (actualizado 2023-01-12)
- Guía de Programación CUDA C++ (v12.0)
- Todas las características del lenguaje C++17 son compatibles en nvcc versión 11.0 y posteriores, sujeto a las restricciones descritas aquí
- Todas las características del lenguaje C++20 son compatibles en nvcc versión 12.0 y posteriores, sujeto a las restricciones descritas aquí
- NVCC no incluye una implementación de la biblioteca estándar de C++
Texas Instruments (actualizado 2018-05)
- cl430 version v18.1.0 afirma tener soporte para C++14
Analog Devices (actualizado 2018-05)
- CrossCore Embedded Studio 2.8.0 for SHARC afirma tener soporte para C++11