Uh oh!
There was an error while loading. Please reload this page.
GH-48593: [C++] C++20: use standard calendar / timezone APIs - #48601
Conversation
4283740 to
d82f990Comparerok
commented
Dec 23, 2025
It seems that std::chrono on GCC (14.3.0, 15.2.0) potentially has a bug that triggers some of our tests. Meanwhile std::chrono on MSVC 19.44 ( 14.44) appears to be pass them and is correct or at least consistent with vendored Below is the explanation and reproduction of the bug. |
rok
commented
Dec 23, 2025
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
pitrou
commented
Jan 5, 2026
Is the bug reported somewhere? If not, can you do that? |
pitrou
commented
Jan 5, 2026
Yes, I think we should do so. There are also a bunch of code snippets in the C++ and Python codebase that could be removed, IIRC. |
rok
commented
Jan 5, 2026
It seems to be related to a known issue, I added comment explaining our case. |
Uh oh!
There was an error while loading. Please reload this page.
rok
commented
Feb 27, 2026
@github-actions crossbow submit test-r-macos-as-cran |
Revision: 4c5e112 Submitted crossbow builds: ursacomputing/crossbow @ actions-cb3021940b
|
rok
commented
Feb 27, 2026
@github-actions crossbow submit test-r-macos-as-cran |
Revision: 9e87d57 Submitted crossbow builds: ursacomputing/crossbow @ actions-a1f6d9bce5
|
rok
commented
Feb 27, 2026
rok
commented
Feb 27, 2026
@github-actions crossbow submit test-r-macos-as-cran |
Revision: c6caa3c Submitted crossbow builds: ursacomputing/crossbow @ actions-10e324e6df
|
rok
commented
Feb 28, 2026
rok
commented
Feb 28, 2026
@pitrou since this won't cause issues with CRAN shall we proceed with review? |
rok
commented
Mar 2, 2026
@github-actions crossbow submit test-r-macos-as-cran |
Revision: a6660df Submitted crossbow builds: ursacomputing/crossbow @ actions-608e1ed947
|
rok
commented
Mar 2, 2026
@github-actions crossbow submit test-r-macos-as-cran |
Revision: aa7aaaf Submitted crossbow builds: ursacomputing/crossbow @ actions-3ff0f4aa7e
|
rok
commented
Mar 2, 2026
@github-actions crossbow submit -g cpp |
Revision: 6ebc076 Submitted crossbow builds: ursacomputing/crossbow @ actions-a0333069ef |
rok
commented
Mar 2, 2026
@github-actions crossbow submit test-r-macos-as-cran |
Revision: 6ebc076 Submitted crossbow builds: ursacomputing/crossbow @ actions-8f1eea3959
|
rok
commented
Mar 2, 2026
rok
commented
Mar 2, 2026
cc @raulcd |
pitrou
commented
Mar 3, 2026
raulcd
commented
Mar 3, 2026
@github-actions crossbow submit wheel-cp313 |
Revision: 6ebc076 Submitted crossbow builds: ursacomputing/crossbow @ actions-7e859b5810 |
rok
commented
Mar 3, 2026
Thanks for reviews all! I'll keep an eye on the follow-up issue #48743. Feel free to open more if needed. |
After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit c48e81e. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 7 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
Switch to std::chrono for MSVC to be able to use the system-provided timezone automatically on Windows.
What changes are included in this PR?
This adds
chrono_internal.hthat uses C++20 std::chrono timezone/calendar APIs on compilers with support (MSVC only for now) and falls back to vendoreddate.hotherwise.Are these changes tested?
Partially tested locally and partially to be tested on CI.
Are there any user-facing changes?
Yes, Windows users will no longer need to install the IANA tzdb (see instructions here and here). We possibly have tzdb download set up in CI too and should update it appropriately.