Skip to content

Commit 24f9984

Browse files
authored
Update VC version (#221)
* Update VC version * Add Defer test suite to Makefile
1 parent 0b62495 commit 24f9984

3 files changed

Lines changed: 39 additions & 29 deletions

File tree

‎Code/max/Compiling/Configuration/Compiler/VC.hpp‎

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,13 @@
1111

1212
#define MAX_COMPILER_MESSAGE( Message ) __pragma( message( Message ) )
1313

14-
#if _MSC_VER > 1950
14+
#if _MSC_VER > 1951
1515
MAX_COMPILER_MESSAGE("Compiling with a newer version of MSVC than max recognizes. Using last known version.");
16+
#elif _MSC_VER >= 1951
17+
// MSVC++ (Visual Studio 2026 / version 18.9)
18+
// TODO: This version number probably also matches some earlier version between the previous 18.2 and the current 18.9
19+
#define MAX_COMPILER_VERSION_MAJOR 18
20+
#define MAX_COMPILER_VERSION_MINOR 9
1621
#elif _MSC_VER >= 1950
1722
// MSVC++ (Visual Studio 2026 / version 18.2)
1823
#define MAX_COMPILER_VERSION_MAJOR 18

‎Docs/DeprecationSchedule.md‎

Lines changed: 32 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,36 +2,46 @@
22

33
|Clang version|Release date|max deprecation date|Adds support for |
44
|-------------|-----------:|-------------------:|------------------------------------|
5-
|Clang 17.0.x |Sep 9, 2023| Current| |
5+
|Clang 23.1.x |Jul 25, 2026| Current| |
6+
|Clang 22.1.x |Feb 24, 2026| Jul 25, 2031|__builtin_stack_address() |
7+
|Clang 21.1.x |Aug 26, 2025| Feb 24, 2031| |
8+
|Clang 20.1.x |Mar 4, 2025| Aug 26, 2030|constexpr placement new |
9+
|Clang 19.1.x |Sep 17, 2024| Mar 4, 2030|__builtin_addc |
10+
|Clang 18.1.x |Mar 5, 2024| Sep 17, 2029|deducing this |
11+
|Clang 17.0.x |Sep 9, 2023| Mar 5, 2029| |
612
|Clang 16.0.x |Mar 18, 2023| Sep 9, 2028| |
713
|Clang 15.0.x |Sep 6, 2022| Mar 18, 2028|std::source_location |
814
|Clang 14.0.x |Mar 25, 2022| Sep 6, 2027| |
915
|Clang 13.0.x |Oct 4, 2021| Mar 25, 2027| |
1016
|Clang 12.0.x |Apr 15, 2021| Oct 4, 2026|constexpr bit intrinsics, [[likely]]|
11-
|Clang 11.0.x |Oct 12, 2020| Apr 15, 2026| |
12-
|Clang 10.0.x |Mar 24, 2020| Oct 12, 2025|concepts, constinit |
13-
|Clang 9.0.x |Sep 19, 2019| Mar 24, 2025|bit operations |
14-
|Clang 8.0.x |Mar 20, 2019| Deprecated| |
17+
|Clang 11.0.x |Oct 12, 2020| Deprecated| |
1518

16-
|GCC version|Release date|max deprecation date|Adds support for |
17-
|-----------|-----------:|-------------------:|--------------------------------------------------|
18-
|GCC 13.2 |Jul 27, 2023| Current| |
19-
|GCC 13.1 |Apr 26, 2023| Jul 27, 2028| |
20-
|GCC 12.2 |Aug 19, 2022| Apr 26, 2028| |
21-
|GCC 12.1 |May 6, 2022| Aug 19, 2027|if consteval, std::move_only_function |
22-
|GCC 11.3 |Apr 21, 2022| May 6, 2027| |
23-
|GCC 11.2 |Jul 28, 2021| Apr 21, 2027| |
24-
|GCC 11.1 |Apr 27, 2021| Jul 28, 2026|std::bit_cast, [[nodiscard]], std::source_location|
25-
|GCC 10.3 |Apr 4, 2021| Apr 27, 2026| |
26-
|GCC 10.2 |Jul 23, 2020| Apr 4, 2026| |
27-
|GCC 10.1 |May 7, 2020| Jul 23, 2025|concepts, std::shift_*, constinit |
28-
|GCC 9.3 |Mar 12, 2020| May 7, 2025| |
29-
|GCC 9.2 |Aug 12, 2019| Mar 12, 2025| |
30-
|GCC 9.1 |May 3, 2019| Deprecated|<version>, std::assume_aligned(), bit operations |
19+
|GCC version|Release date|max deprecation date|Adds support for |
20+
|-----------|-----------:|-------------------:|------------------------------------------------------------|
21+
|GCC 16.2 |Aug 7, 2026| Current| |
22+
|GCC 16.1 |Apr 30, 2026| Aug 7, 2031|reflection, contracts |
23+
|GCC 15.2 |Aug 8, 2025| Apr 30, 2031| |
24+
|GCC 15.1 |Apr 25, 2025| Aug 8, 2030|#embed |
25+
|GCC 14.2 |Aug 1, 2024| Apr 25, 2030| |
26+
|GCC 14.1 |May 7, 2023| Aug 1, 2029|deducing this, <stacktrace>, __has_feature & __has_extension|
27+
|GCC 13.2 |Jul 27, 2023| May 7, 2028| |
28+
|GCC 13.1 |Apr 26, 2023| Jul 27, 2028| |
29+
|GCC 12.2 |Aug 19, 2022| Apr 26, 2028| |
30+
|GCC 12.1 |May 6, 2022| Aug 19, 2027|if consteval, std::move_only_function |
31+
|GCC 11.3 |Apr 21, 2022| May 6, 2027| |
32+
|GCC 11.2 |Jul 28, 2021| Apr 21, 2027| |
33+
|GCC 11.1 |Apr 27, 2021| Deprecated|std::bit_cast, [[nodiscard]], std::source_location |
3134

3235
|MSVC version |Release date|max deprecation date|Adds support for |
3336
|------------------|-----------:|-------------------:|----------------------------------------------------|
34-
|MSVC 18.2.x |Jan 13, 2026| Current| |
37+
|MSVC 18.9.x |Aug 11, 2026| Current| |
38+
|MSVC 18.8.x |Jul 14, 2026| Aug 11, 2031| |
39+
|MSVC 18.7.x |Jul 9, 2026| Jul 14, 2031| |
40+
|MSVC 18.6.x |May 12, 2026| Jul 9, 2031| |
41+
|MSVC 18.5.x |Apr 14, 2026| May 12, 2031| |
42+
|MSVC 18.4.x |Mar 10, 2026| Apr 14, 2031| |
43+
|MSVC 18.3.x |Feb 10, 2026| Mar 10, 2031| |
44+
|MSVC 18.2.x |Jan 13, 2026| Feb 10, 2031| |
3545
|MSVC 18.1.x |Dec 9, 2025| Jan 13, 2031| |
3646
|MSVC 18.0.x |Nov 11, 2025| Dec 9, 2030| |
3747
|MSVC 17.14.x |May 21, 2025| Nov 11, 2030| |
@@ -48,13 +58,7 @@
4858
|MSVC 17.0.x |Nov 8, 2021| Feb 15, 2027| |
4959
|MSVC 16.11.x |Aug 10, 2021| Nov 8, 2026| |
5060
|MSVC 16.10.x |May 25, 2021| Aug 10, 2026| |
51-
|MSVC 16.9.x |Mar 2, 2021| May 25, 2026| |
52-
|MSVC 16.8.x |Nov 10, 2020| Mar 2, 2026|modules, coroutines, ranges |
53-
|MSVC 16.7.x |Aug 5, 2020| Nov 10, 2025| |
54-
|MSVC 16.6.x |May 19, 2020| Aug 5, 2025| |
55-
|MSVC 16.5.x |Mar 16, 2020| May 19, 2025|bit operations |
56-
|MSVC 16.4.x |Dec 3, 2019| Mar 16, 2025| |
57-
|MSVC 16.3.x |Sep 23, 2019| Deprecated|concepts |
61+
|MSVC 16.9.x |Mar 2, 2021| Deprecated| |
5862

5963
|Windows version|Release date|max deprecation date|
6064
|---------------|-----------:|-------------------:|

‎Projects/Make/Makefile‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ AUTOMATED_TEST_PROGRAM = Build/maxAutomatedTests
6969

7070
AUTOMATED_TEST_CXX_SRCS = \
7171
../../Code/max/Algorithms/CountZeroesTest.cpp \
72+
../../Code/max/Algorithms/DeferTest.cpp \
7273
../../Code/max/Algorithms/IsBetweenTest.cpp \
7374
../../Code/max/Algorithms/SwapEndianTest.cpp \
7475
../../Code/max/Containers/PointTest.cpp \

0 commit comments

Comments
 (0)