[all-commits] [llvm/llvm-project] f78f93: [libc++][chrono] Adds tzdb_list implementation.
Mark de Wever via All-commits
all-commits at lists.llvm.org
Wed Sep 6 11:48:22 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f78f93bc9fd47696f592434fdbfed916de0f4873
https://github.com/llvm/llvm-project/commit/f78f93bc9fd47696f592434fdbfed916de0f4873
Author: Mark de Wever <koraq at xs4all.nl>
Date: 2023-09-06 (Wed, 06 Sep 2023)
Changed paths:
M libcxx/CMakeLists.txt
A libcxx/cmake/caches/Generic-no-tzdb.cmake
M libcxx/docs/BuildingLibcxx.rst
A libcxx/docs/DesignDocs/TimeZone.rst
A libcxx/docs/ImplementationDefinedBehavior.rst
M libcxx/docs/Status/Cxx20.rst
M libcxx/docs/Status/Cxx20Issues.csv
M libcxx/docs/Status/Cxx20Papers.csv
M libcxx/docs/UsingLibcxx.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__availability
A libcxx/include/__chrono/tzdb.h
A libcxx/include/__chrono/tzdb_list.h
M libcxx/include/__config
M libcxx/include/__config_site.in
M libcxx/include/chrono
M libcxx/include/module.modulemap.in
M libcxx/modules/std/chrono.inc
M libcxx/src/CMakeLists.txt
A libcxx/src/tz.cpp
A libcxx/src/tzdb_list.cpp
A libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
A libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
M libcxx/test/libcxx/experimental/fexperimental-library.compile.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.list/erase_after.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
A libcxx/test/libcxx/time/time.zone/time.zone.db/version.pass.cpp
M libcxx/test/libcxx/transitive_includes.gen.py
M libcxx/test/libcxx/transitive_includes/cxx03.csv
M libcxx/test/libcxx/transitive_includes/cxx11.csv
M libcxx/test/libcxx/transitive_includes/cxx14.csv
M libcxx/test/libcxx/transitive_includes/cxx17.csv
M libcxx/test/libcxx/transitive_includes/cxx20.csv
M libcxx/test/libcxx/transitive_includes/cxx23.csv
M libcxx/test/libcxx/transitive_includes/cxx26.csv
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.access/get_tzdb_list.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/erase_after.compile.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/front.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/iterators.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.list/types.compile.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/reload_tzdb.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.remote/remote_version.pass.cpp
A libcxx/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/tzdb.members.pass.cpp
A libcxx/test/support/test_tzdb.h
M libcxx/utils/ci/buildkite-pipeline.yml
M libcxx/utils/ci/run-buildbot
M libcxx/utils/libcxx/test/features.py
M libcxx/utils/libcxx/test/params.py
Log Message:
-----------
[libc++][chrono] Adds tzdb_list implementation.
This is the first step to implement time zone support in libc++. This
adds the complete tzdb_list class and a minimal tzdb class. The tzdb
class only contains the version, which is used by reload_tzdb.
Next to these classes it contains documentation and build system support
needed for time zone support. The code depends on the IANA Time Zone
Database, which should be available on the platform used or provided by
the libc++ vendors.
The code is labeled as experimental since there will be ABI breaks
during development; the tzdb class needs to have the standard headers.
Implements parts of:
- P0355 Extending <chrono> to Calendars and Time Zones
Addresses:
- LWG3319 Properly reference specification of IANA time zone database
Reviewed By: #libc, ldionne
Differential Revision: https://reviews.llvm.org/D154282
More information about the All-commits
mailing list