--- gcc/ada/targparm.ads.orig Wed Dec 19 16:22:26 2007 +++ gcc/ada/targparm.ads Wed Feb 13 20:02:42 2008 @@ -381,9 +381,11 @@ -- allows that standard format to be modified. Duration_32_Bits_On_Target : Boolean := False; + -- Default_Duration_Delta_Microseconds : Pos := 1_000; -- 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. + -- and small values are set to Duration_Delta_Microseconds*(10**(-6)) + -- (i.e. for Duration_Delta_Microseconds = 20000 it is a count in + -- units of 20 milliseconds. ------------------------------------ -- Back-End Code Generation Flags -- --- gcc/ada/switch-c.adb.orig Thu Dec 13 10:20:52 2007 +++ gcc/ada/switch-c.adb Wed Feb 13 20:08:37 2008 @@ -345,6 +345,19 @@ return; + -- -gnated switch (Duration'Delta) + + when 'd' => + Ptr := Ptr + 1; + + -- Possible '=' sign between -gnated and the value + if Ptr <= Max and then Switch_Chars (Ptr) = '=' then + Ptr := Ptr + 1; + end if; + + Scan_Pos (Switch_Chars, Max, Ptr, + Opt.Duration_Delta_Microseconds, C); + -- -gnateD switch (preprocessing symbol definition) when 'D' => --- gcc/ada/opt.ads.orig Thu Dec 13 10:22:25 2007 +++ gcc/ada/opt.ads Wed Feb 13 20:14:03 2008 @@ -360,6 +360,10 @@ -- Set to True (by -gnatL) to dump source text intermingled with generated -- code. Effective only if either of Debug/Print_Generated_Code is true. + Duration_Delta_Microseconds : Pos := 1_000; + -- GNAT + -- set to the time tick on the target + Dynamic_Elaboration_Checks : Boolean := False; -- GNAT -- Set True for dynamic elaboration checking mode, as set by the -gnatE --- gcc/ada/cstand.adb.orig Mon Sep 10 12:47:10 2007 +++ gcc/ada/cstand.adb Wed Feb 13 20:02:42 2008 @@ -1209,7 +1209,8 @@ if Duration_32_Bits_On_Target then Dlo := Intval (Type_Low_Bound (Standard_Integer_32)); Dhi := Intval (Type_High_Bound (Standard_Integer_32)); - Delta_Val := UR_From_Components (UI_From_Int (20), Uint_3, 10); + Delta_Val := UR_From_Components + (UI_From_Int (Duration_Delta_Microseconds), Uint_6, 10); -- In standard 64-bit mode, the size is 64-bits and the delta and -- small values are set to nanoseconds (1.0**(10.0**(-9))