From 831132293b6c295d454feac2754f462662cd9707 Mon Sep 17 00:00:00 2001 From: Vladislav Shchapov Date: Sun, 3 Jul 2022 15:56:56 +0500 Subject: [PATCH] Workaround for Microsoft Visual Studio 2022 Internal compiler error. D:\a\fmt\fmt\test\compile-test.cc(362,3): fatal error C1001: Internal compiler error. [D:\a\fmt\build\test\compile-test.vcxproj] (compiler file 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\constexpr\constexpr.cpp', line 8635) Signed-off-by: Vladislav Shchapov --- test/compile-test.cc | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/compile-test.cc b/test/compile-test.cc index 06c7303b..2a9e1619 100644 --- a/test/compile-test.cc +++ b/test/compile-test.cc @@ -294,7 +294,14 @@ TEST(compile_test, compile_format_string_literal) { } #endif -#if FMT_CPLUSPLUS >= 202002L || \ +// MSVS 2019 19.29.30145.0 - Support C++20 and OK. +// MSVS 2022 19.32.31332.0 - compile-test.cc(362,3): fatal error C1001: Internal +// compiler error. +// (compiler file +// 'D:\a\_work\1\s\src\vctools\Compiler\CxxFE\sl\p1\c\constexpr\constexpr.cpp', +// line 8635) +#if ((FMT_CPLUSPLUS >= 202002L) && \ + (!FMT_MSC_VERSION || FMT_MSC_VERSION < 1930)) || \ (FMT_CPLUSPLUS >= 201709L && FMT_GCC_VERSION >= 1002) template struct test_string { template constexpr bool operator==(const T& rhs) const noexcept {