Skip to content

Update vendored cctz#995

Open
meztez wants to merge 7 commits intor-dbi:mainfrom
meztez:main
Open

Update vendored cctz#995
meztez wants to merge 7 commits intor-dbi:mainfrom
meztez:main

Conversation

@meztez
Copy link
Copy Markdown
Contributor

@meztez meztez commented Mar 25, 2026

Steps:
Updated from google/cctz: 00fc77b843504f231f89c13eff86327c444094e8

Removed .github and testdata directories.
Modified cctz Makefile:

From:

CXXFLAGS += -g -Wall -I$(SRC)include -std=$(STD) \
            $(TEST_FLAGS) -fPIC -MMD

To:

CPPFLAGS += -I$(SRC)include
override CXXFLAGS += -g -Wall -std=$(STD) $(TEST_FLAGS) $(CXXPICFLAGS) -MMD

Ported the odbc specific changes made to previous vendored cctz back in and added clear formatted notes in cctz included sources.

Address issue with cctz + odbc + snowflake driver on windows when using arg timezone and timezone_out.

Reported error from windows: Final transitions not in same year.

I would test more before merging.

Then update NEWS / Maintenance

Seems like it was on the todo list. (#568)

Bruno Tremblay and others added 7 commits March 25, 2026 13:20
00fc77b8 Update zoneinfo files to 2026a (r-dbi#339)
52f82e49 Fix cctz::format()/parse() to treat NULs like any other chars (r-dbi#338)
58b6d4b4 Fixes cctz::parse() to reject input with embedded NULs (r-dbi#337)
5a446d2f Remove unnecessary TODO (r-dbi#335)
10993e26 Fix signed/unsigned mismatch warning with msvc (r-dbi#334)
cdaca908 CI Maintenence: (r-dbi#336)
24f284d2 Update zoneinfo files to 2025c (r-dbi#332)
de801239 Ensure HAS_STRPTIME is defined by default (r-dbi#331)
46d62c00 Fix -Wsign-compare and -Wundef warnings from clang on Windows (r-dbi#330)
27ca1731 Reimplement GetWindowsLocalTimeZone without icu.h (r-dbi#329)
c6faf078 Optimize %F/%T format/parse (r-dbi#322)
4a499021 Adds a time zone fuzz test (r-dbi#326)
d85cf7b2 Update the time_point used in Format.PosixConversions (r-dbi#325)
67014858 Update the Bazel build for future compatibility (r-dbi#324)
d2f2abda Fix GCC attribute warning introduced by r-dbi#319 (r-dbi#320)
cd757b1e Disable fsanitize=array-bounds for days_per_month (r-dbi#319)
306fd9b3 Fix -Wsign-compare warning
f8e494f0 Fix for "No Target Architecture" error (r-dbi#317)
2ebbe0d8 Remove WinRT deps from `cctz::local_time_zone` (r-dbi#316)
74e787f5 Fix typo (r-dbi#314)
510f2208 Miscellaneous cleanup for MODULE.bazel and README.md (r-dbi#312)
739fd5a8 Update zoneinfo files to 2025b (r-dbi#310)
25e510fc CIFuzz: Update upload-artifact to v4 (r-dbi#311)
1f2268a1 Update zoneinfo files to 2025a (r-dbi#306)
70c3bd1a Revert "[fuchsia] Updates the FIDL bindings in Fuchsia-specific code (r-dbi#302)" (r-dbi#303)
b98efcf0 [fuchsia] Updates the FIDL bindings in Fuchsia-specific code (r-dbi#302)
d1397431 Update zoneinfo files to 2024b (r-dbi#300)
8bdbd840 Fix mingw compiler error due to missing function declaration (r-dbi#297)
6624659e Add GitHub Actions CI (r-dbi#299)
4f257821 Add support for Bzlmod (r-dbi#296)
88b30979 Revert "Use reference in range-for with non trivial type (r-dbi#294)" (r-dbi#295)
151b37b4 Use reference in range-for with non trivial type (r-dbi#294)
64d12062 [cmake] Find Benchmark quiet (r-dbi#293)
f62d7b77 [cmake] Require CMake 3.16 (r-dbi#292)
5b5c77df Do not redefine _CRT_SECURE_NO_WARNINGS if it's defined (r-dbi#289)
bb0595b6 [Android] Remove unnecessary __system_property_get definition (r-dbi#286)
2d9f3d01 Add support for DLLs on Windows (r-dbi#285)
981dc6b1 Update zoneinfo files to 2024a (r-dbi#284)
89d3c319 Update zoneinfo files to 2023d (r-dbi#283)
2878b411 Stop trimming "redundant" trailing transitions. (r-dbi#281)
2acd9f2b Add new tzdata path for Android (r-dbi#279)
b6d7a852 [fuchsia] Adds new tzdata dir, explains all dirs (r-dbi#278)
65036e93 Bazel: Support header_modules, layering_check and parse_headers (r-dbi#277)
c8cd07ca test: trim the kTimeZoneNames[] lists to "real" zones (r-dbi#276)
ffce47e8 MSVC version greater 17.7.1 would give errors for civil_time_detail.h (r-dbi#273)
1261fab0 Give FreeBSD the same treatment as OpenBSD re _XOPEN_SOURCE (r-dbi#271)
17c7dbc8 Changes the Windows SDK version check to support MingW (r-dbi#269)
04186a81 Extend transitions for 401 years (r-dbi#268)
6355d604 Use a specific value (500) for _XOPEN_SOURCE (r-dbi#266)
616401dc Revert "build: fix cross-platform android builds on OS X (r-dbi#237)" (r-dbi#264)
f46ef8f5 Add a couple of direct-dependency includes (r-dbi#263)
467c42af Add factory functions for named time zones (r-dbi#262)
e542de5f Streamline time_zone::Impl::UTCImpl to bypass general LoadTimeZone(). (r-dbi#256)
2837e1be Fix missing include in time_zone.h (r-dbi#261)
b43d4d29 Add VxWorks support (r-dbi#260)
13b90c85 Avoid implicit long -> int conversion when calling tm_gmtoff (r-dbi#258)
ac497c9e Fix the "libc:localtime" implementation (r-dbi#257)
ee249732 Explicit sign conversions on Windows (r-dbi#255)
5ea90471 Fully qualify another instance of cctz::format() in time_zone_format_test.cc (r-dbi#253)
1bb996ca local_time_zone: Add Windows support with WinRT (r-dbi#242)
8b81c2e5 Fully qualify cctz::format in tests (r-dbi#251)
bb4d205e Prefer std::copy_n() over std::copy() where appropriate (r-dbi#250)
6c9fa5e5 Correct a spelling mistake (r-dbi#249)
1fb16492 Update zoneinfo files to 2023c. (r-dbi#245)
4eda7435 Update zoneinfo files to 2023b. (r-dbi#244)
1d3efe8b Update zoneinfo files to 2023a. (r-dbi#243)
3803b961 Add an option to separate benchmark build from tests (r-dbi#241)
49ba88fa Fix build on cygwin (r-dbi#240)
790e1abe Update zoneinfo files to 2022g. (r-dbi#239)
83ffd88d ci: add CIFuzz github action (r-dbi#238)
54176545 build: fix cross-platform android builds on OS X (r-dbi#237)
c674330e Fix skipping unused portions in TimeZoneInfo::Load() for version 1 zonefiles. (r-dbi#236)
6caa145a Update zoneinfo files to 2022f. (r-dbi#235)
8b7632e8 cleanup: zic.c no longer tries to "WORK_AROUND_QTBUG_53071" (r-dbi#234)
c83606d3 Update zoneinfo files to 2022e. (r-dbi#233)
c2bbd835 Update zoneinfo files to 2022d. (r-dbi#232)
ec5d1d33 Fix a signedness conversion warning. (r-dbi#231)
dcb83e0c Update zoneinfo files to 2022c-1-gaca1a70. (r-dbi#230)
022394a1 Update zoneinfo files to 2022c. (r-dbi#228)
e0494c62 Fix call placement of recently-introduced AllYearDST() (r-dbi#229)
e1524937 Start using the "backzone" file when building the testdata. (r-dbi#227)
1c87d550 Update zoneinfo files to 2022b. (r-dbi#226)
c7c193f3 Buildfix OpenBSD. (r-dbi#224)
9d47fcdb [fuchsia] Remove the dependency on the fdio library (r-dbi#223)
5575351b Limit MakeTime.LocalTimeLibC test to GLIBC (r-dbi#221)
2b003c42 Limit testing of extended format/parse specifiers to GLIBC (r-dbi#220)
455b5f5c Add a NextTransition.Scan test case to time_zone_lookup_test. (r-dbi#218)
15551f93 Update the script for generating testdata/zoneinfo. (r-dbi#219)
467c50eb Update zoneinfo files to 2022a. (r-dbi#217)
2d2bfe5b Replace NULL with nullptr (r-dbi#216)
b5546d7f Add missing #include <ios> for 'std::left'. (r-dbi#215)
6921e4f8 Small microptimizations to year_index. (r-dbi#209)
02918d62 Fix 32-bit ARM builds (r-dbi#208)
18f5c213 [fuchsia] Fix bug in Fuchsia async code (r-dbi#207)
793f7933 Update zoneinfo files to 2021e. (r-dbi#206)
1bb06d9f Remove a few redundant calls to `unique_ptr.get()`: https://clang.llvm.org/extra/clang-tidy/checks/readability-redundant-smartptr-get.html (r-dbi#205)
c93ba281 Update zoneinfo files to 2021d. (r-dbi#204)
3e2b9048 Remove bazelbuild/rules_cc dependency (r-dbi#203)
913019ee [reland] Add basic support for Fuchsia (r-dbi#202)
769622e0 Avoid min()/max() macro conflicts (r-dbi#201)
9af727a3 Breakdown the "seconds + femtoseconds => time_point" overflow issue. (r-dbi#200)
556a1bc6 Update zoneinfo files to 2021c. (r-dbi#198)
b6e11eeb Update zoneinfo files to 2021b. (r-dbi#197)
da8be708 Use the Bazel @platforms repository for platform constraints (r-dbi#196)
63b7130d Revert "Add basic support for Fuchsia (r-dbi#189)" (r-dbi#195)
f6cef0a3 fix installation of dll on windows (r-dbi#194)
e2649a4c fix cross-build to iOS when tools are enabled (r-dbi#193)
e5b9c1c8 Updates the GoogleTest and Google Benchmark dependencies (r-dbi#192)
b86f0265 Fixes -Wrange-loop-construct warning in GCC 11 (r-dbi#191)
31628f21 Move raw FILE* values into an auto-closing unique_ptr ASAP. (r-dbi#190)
51a84719 Add basic support for Fuchsia (r-dbi#189)
28334ea7 Fixes -Wrange-loop-construct warning in GCC 11 (r-dbi#188)
ed267413 Revert time_tool to use "localtime" for the local timezone. (r-dbi#186)
583c52d1 Add support for cctz::load_time_zone("UTC0", &tz) (r-dbi#185)
46251525 Update zoneinfo files to 2021a. (r-dbi#184)
3eae9cae Update zoneinfo files to 2020f. (r-dbi#183)
79e03767 Update zoneinfo files to 2020e. (r-dbi#182)
98fb541c Fix tm_gmtoff build failure on AIX (r-dbi#177)
b1453a1d Update zoneinfo files to 2020d. (r-dbi#175)
2934704a Workaround gcc-5.5 ICE bug. (r-dbi#174)
3ab2dae7 Update zoneinfo files to 2020c. (r-dbi#172)
c8dbe1c4 Update zoneinfo files to 2020b. (r-dbi#171)
8b443b39 Exports test suite for all our tests to other Bazel workspaces. (r-dbi#170)
e1bf5046 Disable a "libc:UTC" test expectation that fails on BSD systems (r-dbi#166)
6cba7759 Update to a newer version of bazelbuild/rules_cc (r-dbi#167)
9352dc28 Tie google/googletest and google/benchmark to a recent release (r-dbi#168)
da5a52d9 Removes license comment (r-dbi#160)
0c3d6cd2 Succumb to the pressure of -Wshadow. (r-dbi#159)
5dca604a Stick with uint_least8_t rather than a (possibly) narrowing conversion. (r-dbi#157)
7853000b Fixes a few compile warnings (r-dbi#156)
4c87213d handle "slim" TZif files in TimeZoneInfo::ExtendTransitions() (r-dbi#155)
e87b391f handle "slim" TZif files in TimeZoneInfo::ExtendTransitions() (r-dbi#154)
8bb48f4f check for year overflow when parsing %U/%W conversions
e74639b2 avoid year overflow (if possible) when normalizing a civil time (r-dbi#152)
79d457bc avoid civil_day overflow when computing week numbers (r-dbi#151)
a2721107 Don't hold a lock while reading zoneinfo data (r-dbi#149)
19556269 Support %U/%u and %W/%w specifiers in cctz::format() and cctz::parse() (r-dbi#150)
2a910637 Mention 'z' and 'Z' as possible UTC offsets for cctz::parse() (r-dbi#148)
dfad4792 Use the new %ET format specifier in time_tool (r-dbi#147)
2d6d54cf Adds support for MSVC 32-bit ARM platforms (r-dbi#145)
24e9dcfb support parsing 'T' and 'Z' case insensitively (r-dbi#144)
00f4089c Test with a new timezone, America/Nuuk, added in 2020a. (r-dbi#141)
f092f1e2 Update zoneinfo files to 2020a. (r-dbi#140)
44541cf2 Cmake fixes (r-dbi#135)
d01654e0 style: make some allowances for -Wshadow (r-dbi#133)
a26bc5f2 We choose to pass cctz::civil_second by value. (r-dbi#131)
a1dc7108 Disables the zone_info_source extension under the MinGW compiler (r-dbi#130)
7b847489 Defeat leak detectors in ClearTimeZoneMapTestOnly() (r-dbi#129)
cc84fe45 Modify how a zone-name "file:" prefix is discarded (r-dbi#128)
ac08afdb Fix a spelling error (r-dbi#127)
d78ebaaf Update zoneinfo files to 2019c (r-dbi#126)
b4935eef Load @rules_cc for compatibility with Bazel 1.0 (r-dbi#125)
f11e008c Fix SIOF issue by moving time_zone_mutex into function (r-dbi#124)
1e7fb5e0 Ensure we don't call destructor for global static time_zone_mutex (r-dbi#123)
a66daf52 Set the correct union field for PosixTransition::N (r-dbi#122)
742d3707 Update zoneinfo files to 2019b (r-dbi#120)
c73f8c9e Update r-dbi#116 to use a civil_second parameter for get_{week,year}day() (r-dbi#119)
8cabbb3f Avoid a "-Wshadow-uncaptured-local" warning (r-dbi#118)
ceb0539d Allow get_weekday() and get_yearday() to take all civil-time types (r-dbi#116)
8800e59f Define _XOPEN_SOURCE to import strptime (r-dbi#115)
b8027cb6 Avoid strcpy() calls to quash MSVC warnings (r-dbi#113)
74ca13c6 Reverse the checks for __has_attribute(weak) and _MSC_VER (r-dbi#109)
fcad8d7d Fix time_zone_libc.cc compilation error (r-dbi#112)
e50563d1 Add casts to suppress implicit-conversion-loss warnings (r-dbi#111)
ba90e43d Fix -Wunused-member-function warning. (r-dbi#110)
ce76fd46 Simplify the handling of the tm_gmtoff and tm_zone extension fields (r-dbi#108)
30de25c8 Change the suggestions for the non-strict next/prev-weekday calls (r-dbi#107)
b9fd30b0 A 5X performance improvement in next_weekday()/prev_weekday() (r-dbi#105)
4632ec21 Correct some BUILD formatting errors introduced in r-dbi#102. (r-dbi#104)
049e4b60 Cater to -Wundef by also checking defined() in #if tests (r-dbi#103)
b820d31e Link to CoreFoundation in time_zone (r-dbi#102)
93f8d105 Update per-platform support for determining the local time zone (r-dbi#101)
157a94af Update zoneinfo files to 2019a. (r-dbi#100)
6548c6bd Remove use of CFStringGetCStringPtr (r-dbi#99)
913f8422 Fix MacOS compilation (Fix r-dbi#96) (r-dbi#97)
65e6ffcb Use CFTimeZoneCopyDefault() instead of CFTimeZoneCopySystem() to allow overrides with CFTimeZoneSetDefault for tests (r-dbi#95)
805a025a Make local_time_zone() work on iOS (r-dbi#94)
01dbbed2 Updated HTTP URLs to HTTPS: Apache Headers and Miscellaneous URLs (r-dbi#93)
6ad4fee5 Add pragma alternate name support for Windows ARM64 (r-dbi#90)
901b0d87 Disable MakeTime.LocalTimeLibC on Android, where the heritage of the bionic tzdata, particularly that provided by the test environment, is questionable.
a7edd280 Fixed build under MinGW. (r-dbi#87)
57e07f2d Solve GCC warnings
493735f6 Add Asia/Qostanay to lists of known time zones.
a9d1e18d Merge pull request r-dbi#88 from sggts04/master
3976ca1d Fixed Grammer Mistake in Readme Example 2
1b9f55e6 Remove the (now) unused VersionCmp() from time_zone_format_test.
13bdd696 Update zoneinfo files to 2018i.
7efc590b Support multiple, comma-separated timezones in the --tz flag. Also add a new --fmt flag to override the cctz::format() format specifier.
c18700a7 Add support for the %:z, %::z, and %:::z format specifiers.
bc3eff4c Add a blank line to the end of the license file (for Abseil compat).
603d2e92 Harden civil_time_detail.h against platforms that #define min and max.
b14d4c98 Remove a mod operation from get_weekday() by slightly increasing the size of the offset vector.
2cbee9fa Expand the TimeZoneLibC implementation to support SKIPPED and AMBIGUOUS civil_lookup values (although it is still necessarily incomplete).  Also be more careful about the representable range of "time_t", "tm", and "time_point" values.
bd1baeff Update zoneinfo files to 2018g-9-gf0d2759.
e5ba9ead Update zoneinfo files to 2018f-1-g401c42d.
cdd9939f The new test for overflow in "libc" timezones also does not apply when std::time_t is less than 64 bits wide.
e8297fb8 Disable the new test for overflow in "libc" timezones on Windows. It seems that Microsoft doesn't believe in years past 3000.  Let's hope they're mistaken.
228192d9 Merge pull request r-dbi#83 from Mizux/master
acd1b358 Remove the use of target_sources
d201d04c Avoid integer overflow for large years in the "libc" timezones.
19efc141 Merge pull request r-dbi#84 from tkoeppe/anon
412df1f3 [time_zone_posix.h] Replace "nested anonymous struct", which is not valid C++, with named types.
d0f8d102 Update README.md
6f1642e7 Remove _SRCS variable and keep CCTZ_HDRS
b7a2f3ce Avoid snprintf() in FixedOffsetToName() for performance reasons.
6cd87896 Add install rules to CMakelists.txt (Fix r-dbi#82)
47a5b26f Add PUBLIC_HEADER properties to cctz library
c665ac68 Add header files to cctz library
a2acba29 Remove the references to some bygone interfaces in comments and benchmark names.
776e781b Avoid overflow on extreme year values in cctz::get_weekday() by mapping the year to an equivalent contemporary one. @@ -506,12 +506,8 @@ CONSTEXPR_F weekday get_weekday(const civil_day& cd) noexcept {
4801e708 Mark civil_time::max() and min() as constexpr functions.
6f2e06e1 Unify decl/defn parameter naming for {next,prev}_transition().
340caa7a Make both the "32-bit tzdata" comments the same.
da51548f Teach the NextTransition.AmericaNewYork test case about 32-bit tzdata, which only extends back to 1901-12-13T20:45:52+00:00.
cf42d801 Remove undesirable include of "time_zone_impl.h".
4e3dc522 Add cctz::time_zone member functions next_transition(), prev_transition(), version(), and description().  The first two can be used to enumerate the offset-transition points in a time zone.  The latter two give descriptive text about a time zone.  Note that all these new interfaces should only be used for informational purposes.
cd6aeff6 Mark the civil_time friend declarations as CONSTEXPR_F (function) instead of CONSTEXPR_M (member).
eb1b8121 Remove the redundant "inline"s from the friend definitions of the civil_time binary arithmetic operators.  Also always use pass by value.
81f9be42 Assume that gcc supports __attribute__((weak)).
6896a516 Allow for platforms that do not support __attribute__((weak)).
2005efab Switch from cctz::sys_seconds to cctz::seconds for the 64-bit, seconds-resolution duration.  The "sys" part was an historical artifact.
4e190dce Tweak some test cases to allow for running in Android environments with old tzdata.  In general we want to run tests using the fresh data from testdata/zoneinfo, but this is difficult for Android.
c4b1b273 Merge pull request r-dbi#77 from astrelni/benchmark_target
50b8b08e Remove extra newline at eof.
8b0e0f90 Update benchmark source file name to match new target name.
3517257f Update benchmark target for consistency with other google projects.
52c2e4f1 Make a similar allowance in the ExtendedSecondOffset test case when looking for local mean time in Europe/Moscow as we did for America/New_York.  (The Moscow test fails using Android tzdata.)
8fdbf255 Merge pull request r-dbi#76 from astrelni/workspace
281027b5 Update benchmark http_archive name to match benchmark WORKSPACE name
ad660f84 Update WORKSPACE; google/benchmark has bazel support
a2dd3d0f Update time-zone lists to match 2018e-2-g99dd695 testdata.
cf31b098 Update zoneinfo files to 2018e-2-g99dd695.
3f8873a5 Merge pull request r-dbi#74 from rongjiecomputer/constexpr
f5efbbac Merge branch 'master' into constexpr
d5a783db Simplify macros
804fef2c Enable C++14 contsexpr for Visual Studio 2017 and above
2408b22f Change the abbreviations for fixed-offset time zones to use the same syntax as named time zones with numeric-style abbreviations.  For example, fixed_time_zone(hours(12) + minutes(45)) will use "+1245" just like Pacific/Chatham.
de72db74 Declare the tz2017b release are ubiquitous, so re-enable the test.
7b9a73fb Add a note about the possible future use of the RFC3339 "Unknown Local Offset Convention" when loading the local time zone fails.
7d18cd24 Enable C++14 constexpr for more compilers
46dcee9b Generalize references to third_party/tz.
6ace0133 Move to DATAFORM=vanguard to use the latest, bleeding-edge data format.
3eee631c Remove mention of US/Pacific-New, which we no longer generate.
62917470 Update zoneinfo files to 2018d-1-g260ea0d.
919dcce6 Merge pull request r-dbi#73 from sbc100/fix_wasm_build
2dd8e023 Fix native WebAssembly emscripten build
d541fda6 Fix location of "_MSC_VER" comment.
dda20f80 Relax the Format.ExtendedSecondOffset test to allow for zoneinfo files, such as on OSX, that do not list the 1883-11-18 transition off local mean time in America/New_York.
19bf53d2 Remove some unnecessary qualification of cctz::year_t. This makes some upstream transformations a little easier.
7a155f5e Start using %E*z in time_tool.  Also, parsing of civil times should be done using utc_time_zone(), not the zone from the command line.
b4a53f10 Add support for the %E*z cctz::format() specifier, which renders the UTC offset with resolution to the second.  That is, [-+]hh:mm:ss. In contrast, the existing %Ez truncates to the minute.
9fbe363e Merge pull request r-dbi#71 from sigmoidal/master
8768b6d0 BUILD_TOOLS option added to switch on/off compilation of executable tools.
e19879d Update zoneinfo files and tzfile.h to 2018c-20-ga6cc661. For the time being we comment out the tests for pre-1913 offsets in America/Jamaica.
7a97a6f Add the -pthread link option to the "benchmark" library. I'm not sure what the right fix is here, but this works for now.
2b51f4a Add copyright headers to benchmarks.cc and civil_time_detail.cc.
8aa5b77 Run CONTRIBUTING.md through mdformat.
cab5d98 Update zoneinfo files to 2018c.
291a51d Merge pull request r-dbi#66 from suertreus/patch-1
a3ce88d Add a workspace() rule with the project name to the WORKSPACE file
708483d Given the recent reinterpretation of "IST" in post-1968 Europe/Dublin as "Irish Standard Time" but still prevailing during the summer months, with the "daylight saving time" applying during the winter months using a negative delta, it is no longer accurate to think of the STD->DST transition as occurring in Spring and the DST->STD transition as occurring in Autumn.  So, let's avoid using those labels.
017e685 Allow for __system_property_get() being hidden in Android 'L' and beyond.
36a8fff Update the "currently known to work on" documentation. Also fix a signature to be consistent with local style.
9cff736 Add support for reading Bionic-style tzdata files and for obtaining the local time-zone name from the "persist.sys.timezone" system property.
aee9096 mdformat --in_place README.md.
2c07467 Don't even try to parse %C/%y or %EC/%Ey format specifiers. Until we do something to group them, they will never work.
a9e322d Avoid duplication of CivilTime.Difference test-case name.
8bcfadd React to commit 5b2c086 to google/benchmark, "Enforce using a semicolon after BENCHMARK_MAIN to remove compiler warnings."
1e5d793 Merge pull request r-dbi#64 from Sarcasm/master
9fd5fdb CMake: remove getopt checking code, time_tool no longer requires it
93f3459 README.md: fix broken numbered list
a82ef3e use FeatureSummary to handle require packages
a25e2ba Run mdformat after the recent changes to README.md.
4f1803d Remove <getopt.h> from src/time_tool.cc by manually handling the command-line options.  This is for the same of portability.
ecb90a9 Reduce the number of TimeZones.LoadZonesConcurrently threads (from 256 to 128) for portability reasons.
a59b930 Merge pull request r-dbi#54 from Sarcasm/master
03db026 CMake: use target_compile_features(... cxx_std_11) when available
41f2ef8 FindGMock.cmake: put GMOCK_LIBRARY as first argument after DEFAULT_MSG
b28cf20 Revert "CMake: add CMake "workspace" project to build cctz and its dependencies"
4d6cb4a CMake: changes after review from @Sydius
793f632 CMake: add CMake "workspace" project to build cctz and its dependencies
79c7c0a CMake: remove install target
0225120 CMake: specify C++ standard per-target
f6b2a6a CMake: remove -fcolor-diagnostics Ninja workaround
03f1327 add CMake support
4f9776a Avoid weak vtables (see clang's -Wweak-vtables) by making the destructors of TimeZoneIf and ZoneInfoSource "key" functions.
9715eea Add 2017c zoneinfo files to CCTZ for possible use on systems that don't have their own (like Windows).  They are also useful for hermetic testing.
f1776e9 Suppress testing of %c in FormatParse.RoundTrip on Windows.
47f500e Merge pull request r-dbi#59 from google/fix-benchmarks
9549437 formatted build content
b8e502b Fixed GoogleBenchmarks build to work on Windows
15d0cc7 Merge pull request r-dbi#58 from dcower/patch-1
4cd2f98 Fix ambiguous conditional expression via Clang+Windows
3441e33 Tag the time_tool target as "manual".  It currently is not portable due to its use of <getopt.h>.
bc83a60 Fix problem with strptime() emulation when the entire input is consumed.  Add internal support for %% parsing/formatting and %e parsing.  Expect %x to match either M/D/Y or D/M/Y.
9e7f637 Merge pull request r-dbi#55 from kant/patch-1
b339a31 Minor fixes (proposal)
12025d6 Define _CRT_SECURE_NO_WARNINGS in the same way as you would get from -D_CRT_SECURE_NO_WARNINGS on the command line (i.e., as 1), the goal being to avoid a redefinition warning.
52564b2 Add a user-defined default constructor for cctz::time_zone instead of using the compiler-generated one and in-class initialization.  This avoids a (somewhat bogus) "default initialization of an object of const type without a user-provided default constructor" error when declaring a (somewhat useless, but tested for) const cctz::time_zone.
90bf1bd Change the MakeTime.SysSecondsLimits test case to use fixed-offset zones for far-east/west conversions.  Pacific/Apia and America/Dawson both have transitions before time_t(-2147483648) that are not represented in the macOS zoneinfo files, so conversions in the distant past will give unexpected results when using that data.  Fixed zones sidestep the issue.
d5e227e Merge pull request r-dbi#51 from mwinterb/vs2017-codegen-fix
809b420 Declaring kDigits static to avoid a codegen bug in VS2017.
149b299 Removed incorrect slash after
5b17020 Moves includes into a "cctz" subdirectory.
0e2dd88 Change "BaseTime" to "CCTZ" in benchmark names.
f2bdef9 Merge pull request r-dbi#50 from gennadiycivil/master
8f71aaa Switch to googletest provided bazel build files
bd0f906 Fixed some compilation issues on windwos
2e86a77 Merge pull request r-dbi#48 from sheu-google/master
416ce79 Fix extern declaration of default_factory with initializer
0a5cc50 Optimize cctz::get_weekday(), cctz::get_yearday(), and civil_time construction with "day" values in the previous year (-365 < d <= 0). Also add a temporary optimization for converting contemporary times in fixed-offset zones.
237c335 Parameterize the BM_Format_{Format,Parse}Time benchmarks by the format string.  This will provide better insight into performance changes.  Also delete the redundant BM_Format_RoundTrip* benchmarks.
c7675c3 Add a new TimeZoneInfo::LocalTime() overload that takes the prevailing Transition.  This means we need only perform a single addition in the civil_second domain during an absolute lookup().
1912dee Remove some trailing white space from lines in README.md.
e27a6f1 Fix the civil_time.h link in README.md.
ff4b7ae Add benchmarks for civil_time.h interfaces.
b6ac6bf BUILD changes that should have been part of the last commit.
2de157c Add benchmarks for time_zone.h interfaces.
75f1f88 added testonly attribute to benchmarks binary
7da4b9f Moved benchmarks to their own file/target
8422279 Adds support for benchmarking
e563641 Allow a small number of failures in TimeZones.LoadZonesConcurrently to account for skew between the contents of kTimeZoneNames and the zoneinfo data source.
94c76d4 Add "zdump" support to time_tool.
a72d644 cctz::time_zone::lookup(const time_point<D>&) should floor its argument rather than truncate it.  The "zero" time_point has no special significance.
a5478b9 Add mangled symbol names for _MSC_VER/_M_IX86.
f7e17e7 Correct the Windows weak-symbol names.
05f52fe Add support for user-supplied sources of zoneinfo data.
5e7c694 Tidy up some more #include lines.
65554a3 Don't ignore an empty ${TZ} in local_time_zone() and just allow "${TZDIR}/" to fallback to UTC, which will match "env TZ= date".
7c9a405 Tidy up some #include lines.
45e6c87 Fix the dependencies of a couple of examples, the includes of a couple of tests, and some recently added, overly long lines.
669b9d3 Merge pull request r-dbi#45 from gabeschine/master
7185fc7 Guard get_offset_abbr() impls in src/time_zone_libc.cc
8d4b2a5 Move the handling of "localtime" (which typically maps to /etc/localtime) to local_time_zone(), where ${TZ} was already handled.  This means that load_time_zone("localtime", &zone) will only look for ${TZDIR}/localtime.
58b8886 Avoid the non-portable %F and %T format specifiers in the examples.
8775f88 Simplify the wrapping of strerror_r().
ecee594 reserves space for format's result string
ac5c51a Tweak the new cctz::fixed_time_zone() to take a duration instead of a raw count of seconds.
3daf163 removes accidental blank line
2c89026 Added overflow checking to parse()
65e40c9 Avoid std:: qualifying snprintf() for the time being.
1fa607b Remove TAB character that slipped in during previous commit.
2d4e939 Add support for time zones that are fixed offsets (<=24h) from UTC.
b9c7ea8 The 2017b tzdata release moved the shift from -004430 to +00 from 1972-05-01 to 1972-01-07, so we temporarily accept both outcomes until 2017b is ubiquitous.
3db86d4 Define the behavior of cctz::time_zone::lookup(const civil_second&) when the argument civil_second is beyond the representable range of the time_point<sys_seconds> results.  The results will be saturated.
10c1855 Parse a civil-time argument with respect to the flag-specified time zone, not UTC.  This makes a difference when we are at the extremes of the representable range.
15d4a35 Update test case TimeZoneEdgeCase.AfricaMonrovia for tzdata 2017b.
5759ba5 Now that we have in-class initializers for TimeZoneInfo::local_time_hint_ and time_local_hint_, we don't need any dynamic initialization.
1f928b3 Remove remnant references to DateTime.
52f18a0 Change the civil-time index into the transitions vector from the 64-bit DateTime to a cctz::civil_second.  This allows us to reach the extremities of 64-bit timestamps in all time zones.
8306990 Inline the civil-time relational operators.
68d8e15 Merge pull request r-dbi#41 from proller/patch-1
7461a4b Added an error out-param to detail::parse()
5c02ff3 fix valgrind/s Conditional jump or move depends on uninitialised value(s)
b7662bc Don't call UTCImpl(), which might initialize a function-local static, while holding time_zone_mutex.  This avoids a deadlock on a platform that shall go nameless.
27cbf5a Change cctz::time_zone::absolute_lookup::abbr from a std::string to a const char*.  This is an interface change, but it allows cctz::time_zone::lookup(time_point) to guarantee that it does no memory allocations.
38174cf Refactored platform #ifdefs to use sfinae to be a bit more robust
a3e0f5c Avoid using a global civil_second (at least until it can be constexpr).
24d310d Stop comparing zone abbreviations until tzdata changes settle down.
6e29f90 Make the n_sec() normalization optimization a little clearer.
cce7cec Update tzfile.h to 2017a release.
598e92c Added header guard to civil_time_detail.h
d3fc80b Avoid any possibility of a signed/unsigned comparison warning. Also fix an issue should int_fastXX_t be larger then XX bits.
3f70134 Removed now unneeded includes
5572fa3 added section separator
6a11c32 Moved civil-time output streaming to src/civil_time_detail.cc
1338f4d Stop assuming that a zoneinfo file with a future rule will end with two transitions in the same calendar year ... this will no longer be true in the upcoming tzdata release.
79ddaf6 addes OFFSET()/ABBR() defines for myriad2 processors
fca4cd4 Made the errnum->string logic more robust
6c7526b Fix cut-and-paste error in previous commit.
71b4c06 Avoid INT*_{MIN,MAX} for portability reasons.
248892d Add explicit but safe narrowing/sign casts to silence -Wconversion.
86f216a Removed linkopt for libm, which is no longer needed
8ad10a0 Stopped linking against pthread, because I don't see why it's needed and it breaks on some platforms
70f46f0 Add ANDROID conditionals for strerror_r() and tm_{gmtoff,zone}.
6b0c187 Add __FreeBSD__ conditionals for strerror_r and tm_gmtoff/zone. Thanks to Rainer Hurling.
9f1f739 Use TimeZoneInfo::Load()::bp (in an assert) before it dies in order to quash a "Value stored to 'bp' is never read" warning from the clang static analyzer.  Thanks to Siesh1oo.
a856308 Prepare for an upcoming change to third_party/tz/tzfile.h.
a3294e3 Optimize civil_time (non-constexpr) construction when the fields are already normalized.
90ef68b Some requested changes to the Makefile.
44d0052 Comment out recently added zones from time_zone_lookup_test in deference to slightly out-of-date zoneinfo installations.
2c5612c Support parsing year values beyond the width of tm_year.
cce8c5b Ensure that there are always transitions in the first and second half of the time line so that the signed difference between a DateTime and the DateTime of its previous transition is always representable, without overflow and without (for now) extended precision.
bc607f6 Eliminate the possibility of intermediate overflow when calculating civil_time differences.  Add test cases that would have previously produced over/underflow even though the final result was representable.
c54f233 Fix a problem with Decode32() when std::int_fast32_t is wider than 32 bits.
c318823 Eliminate a gratuitous difference between internal and external.
26449a6 Resolve TODO regarding overflow in (civil_day - civil_day).
1f0b1f0 Trim redundant transitions instead of just skipping over them when looking for extension transition types.  This avoids a problem when the first future-specification transition occurs before the (y2038_boundary - 1) transition added to workaround Qt bug 53071.
a914620 Tweak type of default_transition_type_, and a couple of comments.
0d2b3a9 Avoid fixed-sized typedefs.
b2b2f7a Add time_zone::name() and support for time_zone equality.
1e943a3 Use the int_fastN_t types for PosixTransition.  Size is secondary.
6e09ceb Increase the resolution of the internal format/parse functions.
04278e7 Sub-nanoseconds are useless when converting to time_point<nanoseconds>. These were remnants of the original implementation.
748f94e Deleted the CCTZ v1 API
6cbb3ef Don't complain if a zoneinfo file does not contain a future rule.
6a694a4 Convert TimeInfo usage to time_zone::civil_lookup.
026a56c Avoid possible integer overflow by adding the UTC offset in the civil_second domain.
f8f9996 Rename "tp" to "sec" within parse().
05cc592 Guarantee that time_point<sys_seconds>::rep is at least 64 bits. Also add a TODO about parsing large year values.
60d37ed Convert Breakdown usage to time_zone::absolute_lookup now that the later supports 64-bit years.
bd0df01 Start using civil_time in the time_zone implementation.
66a06c4 Expand civil_time to cover the full range of a 64-bit time_t.
cde4bae Remove some now-unnecessary year narrowing.  Also pass civil_second by reference to time_zone::Impl::MakeTimeInfo().
837fb19 Move to 64-bit years in civil_time.  This allows, for example, a civil_second to represent all the values covered by a 64-bit time_t.
7e3af34 Avoid overflow on civil_month(<max-year>, 12).
c2775b8 Avoid -t flag to install.  Add Linux shared-library example.
7d49f0f Add SHARED_LDFLAGS for CCTZ_SHARED_LIB linking.
5362a83 Use install instead of mkdir/cp.  Remove shared-library versioning. Make install_shared_lib an independent target.
2e83ff2 A little Makefile cleanup.
5c54e2a Merge pull request r-dbi#30 from vcatechnology/shared-library-makefile
120694c int64_t -> std::int64_t.
5e37bb9 Add a new install_shared_lib target
fac30f9 Added the libcctz.so target to the Makefile
5a97215 Support DESTDIR in Makefile
3cde909 Mention the test, tools, and examples object files explicitly so they are created separately and so the generated dependencies are correct.
4b7a168 When extending the compiled transitions using the POSIX-style future rule, search for the last two distinct transition types rather than assuming that the last two transitions already have distinct types.
9fb6bcb Use function-local static initialization instead of std::call_once(). Change time_zone_map to an unordered_map, and which does not include the UTC zone.
4b7f674 Update tests for new-style abbreviations (e.g., +05).
a9cefbe adds a license directive to the BUILD file
50745f6 Disallows difference between differently aligned civil-time types
e887dac Use _MSC_VER to detect Windows compilation environments.
6bff566 Also use tm_{gmtoff,zone} under linux/__USE_MISC.
72d74a7 Updates to the "install" rule. - Make "sudo" optional. - Try to make the destination directories. - Rework so that the sources are VPATH expanded.
03a14dc Remove weekday and yearday from cctz::Breakdown. These are now exposed as functions on cctz::civil_day.
635f4fe Add %E*f and %E#f support to cctz::format() and parse(). These specifiers deal with only the subsecond part of the time.  For a non-zero subsecond, "%E*S" == "%S.%E*f". Like the "ES" formats, # behaves exactly like * on input.
d32d4e3 Add some casts during safe narrowing conversions.
61415a0 Fix some issues with the Windows build.
b3610cc Linkified some file paths.

git-subtree-dir: src/cctz
git-subtree-split: 00fc77b843504f231f89c13eff86327c444094e8
From commit : 00fc77b843504f231f89c13eff86327c444094e8
…endored cctz source for odbc specific changes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant