https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116110
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The problem for the Australia/Broken_Hill zone is that this comment in the code
is not true:
// The following initial values for info.offset, info.save, and letters
// are only valid if the first sys_info we are generating uses the time
// zone's standard time, because daylight time would need non-zero offset.
// This is true by construction, because this function always tries to
// finish so that the last ZoneInfo object expanded is for daylight time.
// This means that i[-1] is either an expanded ZoneInfo for a DST sys_info
// or is an unexpanded (rule-based) ZoneInfo for a different rule, and
// rule changes always occur between periods of standard time.
For this zone there are rule changes that occur during DST, breaking the
assumption that I wrote in the comment. I need to use the SAVE and OFFSET
values of the active rule, not only the LETTERS of that rule.