================
@@ -612,6 +643,16 @@ void __init_tzdb(tzdb& __tzdb, __tz::__rules_storage_type&
__rules) {
std::ranges::sort(__tzdb.zones);
std::ranges::sort(__tzdb.links);
std::ranges::sort(__rules, {}, [](const auto& p) { return p.first; });
+
+ // There are two files with the leap second information
+ // - leapseconds as specified by zic
+ // - leap-seconds.list the source data
+ // The latter is much easier to parse, it seems Howard shares that
+ // opinion.
+ chrono::__parse_leap_seconds(__tzdb.leap_seconds, ifstream{__root /
"leap-seconds.list"});
+ // Note the input is sorted, but that does not seem to be are
+ // requirement, it is a requirement in the Standard.
+ std::ranges::sort(__tzdb.leap_seconds);
----------------
ldionne wrote:
```suggestion
// The Standard requires the leap seconds to be sorted.
// leap-seconds.list usually provides them in sorted order, but that is not
// guaranteed so we ensure it here.
std::ranges::sort(__tzdb.leap_seconds);
```
https://github.com/llvm/llvm-project/pull/82113
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits