apache / apache/arrow

[C++] Remove the vendored datetime fallback when toolchain support permits

Open
#51,267 2 comments 0 reactions 1 assignee Claimed by @Adarsh-Me View on GitHub
Component: C++ Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

#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.

### Component(s)

C++

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.