From 302a7351351e9235cf36d364930243c79459a69d Mon Sep 17 00:00:00 2001
From: lat9nq <22451773+lat9nq@users.noreply.github.com>
Date: Wed, 5 Jul 2023 15:58:12 -0400
Subject: [PATCH] settings: Disable C++20 path on MSVC

Even though it compiles and runs fine on the latest Windows versions,
older LTSC builds will crash due to lacking support somewhere in the OS.

For now just disable it for MSVC until either Microsoft fixes this or we
no longer support 1809 LTSC.
---
 src/common/settings.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/common/settings.cpp b/src/common/settings.cpp
index 6cbbea1b21..c81909a063 100644
--- a/src/common/settings.cpp
+++ b/src/common/settings.cpp
@@ -26,7 +26,8 @@ std::string GetTimeZoneString() {
 
     std::string location_name;
     if (time_zone_index == 0) { // Auto
-#if __cpp_lib_chrono >= 201907L
+#if __cpp_lib_chrono >= 201907L && !defined(_MSC_VER)
+        // TODO: Remove `!defined(_MSC_VER)` when we no longer support Windows 10 1809 LTSC
         const struct std::chrono::tzdb& time_zone_data = std::chrono::get_tzdb();
         try {
             const std::chrono::time_zone* current_zone = time_zone_data.current_zone();