https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119701
--- Comment #2 from William Rupert Greene <wrg at acm dot org> ---
Following your suggestions, here is the changed Ada program:
with Ada.Calendar; -- (RM 9.6)
with Ada.Calendar.Arithmetic; -- (RM 9.6.1)
with Ada.Calendar.Formatting; -- (RM 9.6.1)
with Ada.Calendar.Time_Zones; -- (RM 9.6.1)
with Ada.Text_IO; use Ada.Text_IO; -- (RM A.10.1)
procedure Show_Error is
package AC renames Ada.Calendar;
package ACA renames Ada.Calendar.Arithmetic;
package ACF renames Ada.Calendar.Formatting;
package ACZ renames Ada.Calendar.Time_Zones;
TZ : constant ACZ.Time_Offset := ACZ.Time_Offset (-5 * 60);
T1 : constant AC.Time := ACF.Time_Of (2025, 11, 2, Time_Zone =>
TZ);
T2 : constant AC.Time := ACA."+" (T1, 1);
begin
Put_Line ("T1 = " & ACF.Image (T1, Time_Zone => TZ) &
", Ada.Calendar.Formatting.Day_Of_Week (T1) = " &
ACF.Day_Of_Week (T1)'Image);
Put_Line ("T2 = " & ACF.Image (T2, Time_Zone => TZ) &
", Ada.Calendar.Formatting.Day_Of_Week (T2) = " &
ACF.Day_Of_Week (T2)'Image);
end Show_Error;
Program, when run, now produces this output, which is correct:
T1 = 2025-11-02 00:00:00, Ada.Calendar.Formatting.Day_Of_Week (T1) = SUNDAY
T2 = 2025-11-03 00:00:00, Ada.Calendar.Formatting.Day_Of_Week (T2) = MONDAY