https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065
--- Comment #17 from Eric Botcazou <ebotcazou at gcc dot gnu.org> --- Nice work indeed, in an area that clearly needed it, thanks! Something potentially problematic though: +package body System.CRTL is + + -- In GNAT, Duration'Size = 64. + function Duration_To_int64 is new Ada.Unchecked_Conversion + (Duration, int64); That's not universal, see Targparm: --------------------- -- Duration Format -- --------------------- -- By default, type Duration is a 64-bit fixed-point type with a delta -- and small of 10**(-9) (i.e. it is a count in nanoseconds). This flag -- allows that standard format to be modified. Duration_32_Bits_On_Target : Boolean := False; -- If True, then Duration is represented in 32 bits and the delta and -- small values are set to 20.0*(10**(-3)) (i.e. it is a count in units -- of 20 milliseconds). although Duration_32_Bit is indeed False in all the system-*.ads files.