diff --git a/Code/max/Compiling/Configuration/Compiler/VC.hpp b/Code/max/Compiling/Configuration/Compiler/VC.hpp index 701e0bc..dd078fe 100644 --- a/Code/max/Compiling/Configuration/Compiler/VC.hpp +++ b/Code/max/Compiling/Configuration/Compiler/VC.hpp @@ -11,8 +11,13 @@ #define MAX_COMPILER_MESSAGE( Message ) __pragma( message( Message ) ) -#if _MSC_VER > 1950 +#if _MSC_VER > 1951 MAX_COMPILER_MESSAGE("Compiling with a newer version of MSVC than max recognizes. Using last known version."); +#elif _MSC_VER >= 1951 + // MSVC++ (Visual Studio 2026 / version 18.9) + // TODO: This version number probably also matches some earlier version between the previous 18.2 and the current 18.9 + #define MAX_COMPILER_VERSION_MAJOR 18 + #define MAX_COMPILER_VERSION_MINOR 9 #elif _MSC_VER >= 1950 // MSVC++ (Visual Studio 2026 / version 18.2) #define MAX_COMPILER_VERSION_MAJOR 18 diff --git a/Docs/DeprecationSchedule.md b/Docs/DeprecationSchedule.md index 66a8817..30eb1c8 100644 --- a/Docs/DeprecationSchedule.md +++ b/Docs/DeprecationSchedule.md @@ -2,36 +2,46 @@ |Clang version|Release date|max deprecation date|Adds support for | |-------------|-----------:|-------------------:|------------------------------------| -|Clang 17.0.x |Sep 9, 2023| Current| | +|Clang 23.1.x |Jul 25, 2026| Current| | +|Clang 22.1.x |Feb 24, 2026| Jul 25, 2031|__builtin_stack_address() | +|Clang 21.1.x |Aug 26, 2025| Feb 24, 2031| | +|Clang 20.1.x |Mar 4, 2025| Aug 26, 2030|constexpr placement new | +|Clang 19.1.x |Sep 17, 2024| Mar 4, 2030|__builtin_addc | +|Clang 18.1.x |Mar 5, 2024| Sep 17, 2029|deducing this | +|Clang 17.0.x |Sep 9, 2023| Mar 5, 2029| | |Clang 16.0.x |Mar 18, 2023| Sep 9, 2028| | |Clang 15.0.x |Sep 6, 2022| Mar 18, 2028|std::source_location | |Clang 14.0.x |Mar 25, 2022| Sep 6, 2027| | |Clang 13.0.x |Oct 4, 2021| Mar 25, 2027| | |Clang 12.0.x |Apr 15, 2021| Oct 4, 2026|constexpr bit intrinsics, [[likely]]| -|Clang 11.0.x |Oct 12, 2020| Apr 15, 2026| | -|Clang 10.0.x |Mar 24, 2020| Oct 12, 2025|concepts, constinit | -|Clang 9.0.x |Sep 19, 2019| Mar 24, 2025|bit operations | -|Clang 8.0.x |Mar 20, 2019| Deprecated| | +|Clang 11.0.x |Oct 12, 2020| Deprecated| | -|GCC version|Release date|max deprecation date|Adds support for | -|-----------|-----------:|-------------------:|--------------------------------------------------| -|GCC 13.2 |Jul 27, 2023| Current| | -|GCC 13.1 |Apr 26, 2023| Jul 27, 2028| | -|GCC 12.2 |Aug 19, 2022| Apr 26, 2028| | -|GCC 12.1 |May 6, 2022| Aug 19, 2027|if consteval, std::move_only_function | -|GCC 11.3 |Apr 21, 2022| May 6, 2027| | -|GCC 11.2 |Jul 28, 2021| Apr 21, 2027| | -|GCC 11.1 |Apr 27, 2021| Jul 28, 2026|std::bit_cast, [[nodiscard]], std::source_location| -|GCC 10.3 |Apr 4, 2021| Apr 27, 2026| | -|GCC 10.2 |Jul 23, 2020| Apr 4, 2026| | -|GCC 10.1 |May 7, 2020| Jul 23, 2025|concepts, std::shift_*, constinit | -|GCC 9.3 |Mar 12, 2020| May 7, 2025| | -|GCC 9.2 |Aug 12, 2019| Mar 12, 2025| | -|GCC 9.1 |May 3, 2019| Deprecated|, std::assume_aligned(), bit operations | +|GCC version|Release date|max deprecation date|Adds support for | +|-----------|-----------:|-------------------:|------------------------------------------------------------| +|GCC 16.2 |Aug 7, 2026| Current| | +|GCC 16.1 |Apr 30, 2026| Aug 7, 2031|reflection, contracts | +|GCC 15.2 |Aug 8, 2025| Apr 30, 2031| | +|GCC 15.1 |Apr 25, 2025| Aug 8, 2030|#embed | +|GCC 14.2 |Aug 1, 2024| Apr 25, 2030| | +|GCC 14.1 |May 7, 2023| Aug 1, 2029|deducing this, , __has_feature & __has_extension| +|GCC 13.2 |Jul 27, 2023| May 7, 2028| | +|GCC 13.1 |Apr 26, 2023| Jul 27, 2028| | +|GCC 12.2 |Aug 19, 2022| Apr 26, 2028| | +|GCC 12.1 |May 6, 2022| Aug 19, 2027|if consteval, std::move_only_function | +|GCC 11.3 |Apr 21, 2022| May 6, 2027| | +|GCC 11.2 |Jul 28, 2021| Apr 21, 2027| | +|GCC 11.1 |Apr 27, 2021| Deprecated|std::bit_cast, [[nodiscard]], std::source_location | |MSVC version |Release date|max deprecation date|Adds support for | |------------------|-----------:|-------------------:|----------------------------------------------------| -|MSVC 18.2.x |Jan 13, 2026| Current| | +|MSVC 18.9.x |Aug 11, 2026| Current| | +|MSVC 18.8.x |Jul 14, 2026| Aug 11, 2031| | +|MSVC 18.7.x |Jul 9, 2026| Jul 14, 2031| | +|MSVC 18.6.x |May 12, 2026| Jul 9, 2031| | +|MSVC 18.5.x |Apr 14, 2026| May 12, 2031| | +|MSVC 18.4.x |Mar 10, 2026| Apr 14, 2031| | +|MSVC 18.3.x |Feb 10, 2026| Mar 10, 2031| | +|MSVC 18.2.x |Jan 13, 2026| Feb 10, 2031| | |MSVC 18.1.x |Dec 9, 2025| Jan 13, 2031| | |MSVC 18.0.x |Nov 11, 2025| Dec 9, 2030| | |MSVC 17.14.x |May 21, 2025| Nov 11, 2030| | @@ -48,13 +58,7 @@ |MSVC 17.0.x |Nov 8, 2021| Feb 15, 2027| | |MSVC 16.11.x |Aug 10, 2021| Nov 8, 2026| | |MSVC 16.10.x |May 25, 2021| Aug 10, 2026| | -|MSVC 16.9.x |Mar 2, 2021| May 25, 2026| | -|MSVC 16.8.x |Nov 10, 2020| Mar 2, 2026|modules, coroutines, ranges | -|MSVC 16.7.x |Aug 5, 2020| Nov 10, 2025| | -|MSVC 16.6.x |May 19, 2020| Aug 5, 2025| | -|MSVC 16.5.x |Mar 16, 2020| May 19, 2025|bit operations | -|MSVC 16.4.x |Dec 3, 2019| Mar 16, 2025| | -|MSVC 16.3.x |Sep 23, 2019| Deprecated|concepts | +|MSVC 16.9.x |Mar 2, 2021| Deprecated| | |Windows version|Release date|max deprecation date| |---------------|-----------:|-------------------:| diff --git a/Projects/Make/Makefile b/Projects/Make/Makefile index 011d96f..1a19468 100644 --- a/Projects/Make/Makefile +++ b/Projects/Make/Makefile @@ -69,6 +69,7 @@ AUTOMATED_TEST_PROGRAM = Build/maxAutomatedTests AUTOMATED_TEST_CXX_SRCS = \ ../../Code/max/Algorithms/CountZeroesTest.cpp \ + ../../Code/max/Algorithms/DeferTest.cpp \ ../../Code/max/Algorithms/IsBetweenTest.cpp \ ../../Code/max/Algorithms/SwapEndianTest.cpp \ ../../Code/max/Containers/PointTest.cpp \