This change is OK, thank you.
> The description of the second Value function (returning Duration) (ARM > 9.6.1(87) > doesn't place any limitation on the Elapsed_Time parameter's value, beyond > "Constraint_Error is raised if the string is not formatted as described for > Image, or > the function cannot interpret the given string as a Duration value". > > It would seem reasonable that Value and Image should be consistent, in that > any > string produced by Image should be accepted by Value. Since Image must produce > a two-digit representation of the Hours, there's an implication that its > Elapsed_Time parameter should be less than 100.0 hours (the ARM merely says > that in that case the result is implementation-defined). > > The current implementation of Value raises Constraint_Error if the > Elapsed_Time > parameter is greater than or equal to 24 hours. > > This patch removes the restriction, so that the Elapsed_Time parameter must > only > be less than 100.0 hours. > > gcc/ada/Changelog: > > 2023-10-15 Simon Wright <si...@pushface.org> > > PR ada/111813 > > * gcc/ada/libgnat/a-calfor.adb (Value (2)): Allow values of parameter > Elapsed_Time greater than or equal to 24 hours, by doing the > hour calculations in Natural rather than Hour_Number (0 .. 23). > Calculate the result directly rather than by using Seconds_Of > (whose Hour parameter is of type Hour_Number). > > If an exception occurs of type Constraint_Error, re-raise it > rather than raising a new CE. > > gcc/testsuite/Changelog: > > 2023-10-15 Simon Wright <si...@pushface.org> > > PR ada/111813 > > * gcc/testsuite/gnat.dg/calendar_format_value.adb: New test.