You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[C++] Remove the vendored datetime fallback when toolchain support permits #51267
#51216 makes std::chrono the default datetime backend and removes vendored datetime dependencies from standard-backend binaries. However most builds still default to vendored date.h library. The vendored fallback must remain for unsupported standard libraries.
This requires:
Raising the minimum Linux libstdc++ version to GCC 16.2 or newer.
Apple libc++ providing working C++20 timezone and formatting APIs.
Migrating Rtools40 and MSYS2 Clang64 builds.
Validating Emscripten, and other supported targets.
Retiring the ARROW_USE_STD_CHRONO=0 override.
Once all supported toolchains use std::chrono, remove the vendored sources and build plumbing (e.g. reload_tzdb). The Windows text-tzdb configuration APIs, including the deprecated Python API and R initialization, can also be removed once no supported Windows build uses the fallback.
Opened #51315 as a first step: it adds ARROW_USE_STD_CHRONO (CMake) / use_std_chrono (Meson) options with toolchain feature detection (__cpp_lib_chrono >= 201907L). AUTO preserves the current platform default (vendored fallback everywhere except Windows toolchains with timezone support) until the minimum-toolchain prerequisites above are met; explicit opt-in fails fast at configure time on unsupported toolchains, and standard-backend binaries no longer bundle vendored/datetime.cpp. Full removal of the vendored sources still waits on the toolchain upgrades listed in this issue.
Full removal of the vendored sources still waits on the toolchain upgrades listed in this issue.
The point of this issue is to remove the vendored sources. Conditions for this are that Arrow uses only new enough libstdc++ libraries. This issue should likely wait until such time.
Update on this claim: still no PR from me. Removing the vendored datetime fallback means building and testing the C++ libraries, and this machine has no CMake or usable C++ toolchain, so anything I posted would be unverified. Freeing this issue up for a contributor who can actually run the arrow-cpp suite.
@rok this one is unassigned but #51315 already implements it - the std::chrono opt-in, with the toolchain gate you flagged. Could you assign #51267 to me so nobody duplicates the work? The PR has a merge conflict and one MATLAB check red that I have shown is repo-wide; I will rebase once the assignment lands.
Activity
Adarsh-Me commentedon Sep 10, 2026
take
Adarsh-Me commentedon Sep 12, 2026
Opened #51315 as a first step: it adds
ARROW_USE_STD_CHRONO(CMake) /use_std_chrono(Meson) options with toolchain feature detection (__cpp_lib_chrono >= 201907L).AUTOpreserves the current platform default (vendored fallback everywhere except Windows toolchains with timezone support) until the minimum-toolchain prerequisites above are met; explicit opt-in fails fast at configure time on unsupported toolchains, and standard-backend binaries no longer bundlevendored/datetime.cpp. Full removal of the vendored sources still waits on the toolchain upgrades listed in this issue.apacheGH-51267: [C++] address review findings on the std::chrono opt-in
apacheGH-51267: [C++] fix option description line continuation in Def…
apacheGH-51267: [C++] apply clang-format, cmake-format and meson-fmt
apacheGH-51267: [C++] stop the chrono probe from carrying a second /s…
apacheGH-51267: [C++] Add std::chrono opt-in with toolchain feature d…
apacheGH-51267: [C++] address review findings on the std::chrono opt-in
apacheGH-51267: [C++] fix option description line continuation in Def…
apacheGH-51267: [C++] apply clang-format, cmake-format and meson-fmt
apacheGH-51267: [C++] stop the chrono probe from carrying a second /s…
apacheGH-51267: [C++] address remaining review findings on the std::c…
apacheGH-51267: [C++] address remaining review findings on the std::c…
apacheGH-51267: [C++] bind the probe time point before make_format_args
apacheGH-51267: [C++] include chrono_internal.h outside namespace arr…
rok commentedon Sep 17, 2026
The point of this issue is to remove the vendored sources. Conditions for this are that Arrow uses only new enough libstdc++ libraries. This issue should likely wait until such time.
apacheGH-51267: [C++] enable MSVC exception unwinding in chrono probe
Adarsh-Me commentedon Oct 3, 2026
Update on this claim: still no PR from me. Removing the vendored datetime fallback means building and testing the C++ libraries, and this machine has no CMake or usable C++ toolchain, so anything I posted would be unverified. Freeing this issue up for a contributor who can actually run the arrow-cpp suite.
Adarsh-Me commentedon Oct 10, 2026
@rok this one is unassigned but #51315 already implements it - the std::chrono opt-in, with the toolchain gate you flagged. Could you assign #51267 to me so nobody duplicates the work? The PR has a merge conflict and one MATLAB check red that I have shown is repo-wide; I will rebase once the assignment lands.