Skip to content

Macro _MSVC_STL_UPDATE

Stephan T. Lavavej edited this page Sep 11, 2025 · 39 revisions

We've implemented the Standard's feature-test macros, which are the best way to determine whether a feature is supported by your current combination of compiler vendor, compiler version, library vendor, library version, and build settings. However, it can occasionally be useful to query the library version directly. We provide an implementation-specific macro _MSVC_STL_UPDATE defined in the STL's central internal header yvals_core.h; users should include <version> or any other Standard header to get this macro. This macro follows the year-month format of Standard feature-test macros, but isn't related to any of them. We simply intend to update the value of _MSVC_STL_UPDATE every month, so when a Visual Studio update ships, it captures a new value.

Here are the historical values of this macro, verified from actual installations of released (non-preview) Visual Studio updates:

MSVC Compiler _MSC_VER MSVC Build Tools Visual Studio _MSVC_STL_UPDATE Required Clang Required CUDA Notes
1944 14.44 VS 2022 17.14 202503L Clang 19
1943 14.43 VS 2022 17.13 202411L Clang 18
1942 14.42 VS 2022 17.12 202408L
1941 14.41 VS 2022 17.11 202405L CUDA 12.4.0
1940 14.40 VS 2022 17.10 202402L Clang 17 CUDA 12.4.0 began allowing _MSC_VER=1940
1939 14.39 VS 2022 17.9 202310L
1938 14.38 VS 2022 17.8 202308L
1937 14.37 VS 2022 17.7 202305L Clang 16
1936 14.36 VS 2022 17.6 202302L
1935 14.35 VS 2022 17.5 202210L Clang 15
1934 14.34 VS 2022 17.4 202208L Clang 14 CUDA 11.6.0
1933 14.33 VS 2022 17.3 202205L
1932 14.32 VS 2022 17.2 202203L Clang 13
1931 14.31 VS 2022 17.1 202111L
1930 14.30 VS 2022 17.0 202108L Clang 12 CUDA 11.6.0 began allowing _MSC_VER=1930
1929 14.29 VS 2019 16.11.14 202105L /std:c++20 complete
1929 14.29 VS 2019 16.11 202104L Only #1929 in 16.11.0 and #2060 in 16.11.4
1929 14.29 VS 2019 16.10 202104L Clang 11 CUDA 10.1 Update 2
1928 14.28 VS 2019 16.9 202011L
1928 14.28 VS 2019 16.8 202008L
1927 14.27 VS 2019 16.7 202005L Clang 10
1926 14.26 VS 2019 16.6 202002L
1925 14.25 VS 2019 16.5 201912L Clang 9
1924 14.24 VS 2019 16.4 201909L Clang 8.0.1
1923 14.23 VS 2019 16.3 201906L
1922 14.22 VS 2019 16.2 201905L Clang 8
1921 14.21 VS 2019 16.1 201903L
1920 14.20 VS 2019 16.0 201811L CUDA 10.1 RTW began allowing _MSC_VER=1920
1916 14.16 VS 2017 15.9 201809L
1915 14.15 VS 2017 15.8 201806L
1914 14.14 VS 2017 15.7 201803
1913 14.13 VS 2017 15.6 201711
1912 14.12 VS 2017 15.5 201709
older older older none _MSVC_STL_UPDATE did not exist prior to VS 2017 15.5
Clone this wiki locally