-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<chrono>: Cannot parse
"23:59:59" as system_clock::time_point
on older Windows versions
#2163
Comments
system_clock::time_point
on older Windows versionsparse
"23:59:59" as system_clock::time_point
on older Windows versions
Is it feasible to populate the |
@MattStephanson That would affect a single Win10 version, but it happens to be the Windows Server 2019 version, so it might be worthwhile. https://github.com/microsoft/STL/wiki/Changelog#vs-2019-1610 mentioned:
@statementreply I agree with your expected behavior. |
After a second thought, I think there are two separate issues here:
|
True, but even if we changed course on checking leap second validity, we'd still have to fix (1) because it's not specific to |
Thanks for bringing this up, noting that #1911 is also related. |
…dern OpenMPT and libopenmpt builds. Older versions of Windows 10 are still supported by legacy builds. Any of the removed Windows 10 versions are only supported for Windows 10 Enterprise by now, and not for consumer versions. Newer VS2022 functionality (like std::chrono timezone handling, see <microsoft/STL#1911> and <microsoft/STL#2163>) does not target these outdated Windows 10 versions any more. See <https://bugs.openmpt.org/view.php?id=1555>. git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@17241 56274372-70c3-4bfc-bfc3-4c3a0b034d27
… to disable std::chrono date handling completely for MSVC when targeting Windows earlier than Windows 10 1903 due to <microsoft/STL#1911> and <microsoft/STL#2163>. [Ref] mpt/base/detect_quirks.hpp: Add MPT_LIBCXX_QUIRK_NO_CHRONO_DATE_PARSE tp disable std::chrono for date parsing in VS2022 due to <https://developercommunity.visualstudio.com/t/stdchronoget-tzdb-list-memory-leak/1644641> / <microsoft/STL#2504>. git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@17377 56274372-70c3-4bfc-bfc3-4c3a0b034d27
…20 mode. [Ref] mptTime: Use std::chrono::system_clock for unix time instead of time_t in C++20 mode. This automatically makes date handling year2038-correct in C++20 mode. [Ref] mptTime: Add a custom gregorian date type mpt::Date::UTC to use instead of C struct tm. [Ref] UpdateCheck: Use mpt::Date::Unix instead of time_t. [Mod] UpdateCheck: Store last update timestamp as Unix seconds instead of YYYY-MM-DD HH:MM. On update, reset to 0. [Ref] mptTime: Disable std::chrono date handling completely for MSVC when targeting Windows earlier than Windows 10 1903 due to <microsoft/STL#1911> and <microsoft/STL#2163>. [Mod] OpenMPT: Version is now 1.31.00.12 git-svn-id: https://source.openmpt.org/svn/openmpt/trunk/OpenMPT@17383 56274372-70c3-4bfc-bfc3-4c3a0b034d27
Describe the bug
Originally reported at DevCom-1465261.
Command-line test case
On Windows 10 21H1:
On Windows 7 SP1:
Expected behavior
On older systems without leap second support, parsing "23:59:59" as
system_clock::time_point
should work just fine.STL version
Microsoft Visual Studio Community 2022 Preview (64 位)
版本 17.0.0 Preview 3.1
The text was updated successfully, but these errors were encountered: