aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/libgnat/s-imageu.ads
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/libgnat/s-imageu.ads')
-rw-r--r--gcc/ada/libgnat/s-imageu.ads45
1 files changed, 2 insertions, 43 deletions
diff --git a/gcc/ada/libgnat/s-imageu.ads b/gcc/ada/libgnat/s-imageu.ads
index 720de40..8640a5b 100644
--- a/gcc/ada/libgnat/s-imageu.ads
+++ b/gcc/ada/libgnat/s-imageu.ads
@@ -33,44 +33,15 @@
-- and ``Ada.Text_IO.Modular_IO`` conversions routines for modular integer
-- types.
--- Preconditions in this unit are meant for analysis only, not for run-time
--- checking, so that the expected exceptions are raised. This is enforced by
--- setting the corresponding assertion policy to Ignore. Postconditions and
--- contract cases should not be executed at runtime as well, in order not to
--- slow down the execution of these functions.
-
-pragma Assertion_Policy (Pre => Ignore,
- Post => Ignore,
- Contract_Cases => Ignore,
- Ghost => Ignore,
- Subprogram_Variant => Ignore);
-
-with System.Value_U_Spec;
-
generic
-
type Uns is mod <>;
- -- Additional parameters for ghost subprograms used inside contracts
-
- with package U_Spec is new System.Value_U_Spec (Uns => Uns) with Ghost;
-
package System.Image_U is
- use all type U_Spec.Uns_Option;
-
- Unsigned_Width_Ghost : constant Natural := U_Spec.Max_Log10 + 2 with Ghost;
procedure Image_Unsigned
(V : Uns;
S : in out String;
- P : out Natural)
- with
- Pre => S'First = 1
- and then S'Last < Integer'Last
- and then S'Last >= Unsigned_Width_Ghost,
- Post => P in S'Range
- and then U_Spec.Is_Value_Unsigned_Ghost (S (1 .. P), V);
- pragma Inline (Image_Unsigned);
+ P : out Natural) with Inline;
-- Computes Uns'Image (V) and stores the result in S (1 .. P) setting
-- the resulting value of P. The caller guarantees that S is long enough to
-- hold the result, and that S'First is 1.
@@ -78,19 +49,7 @@ package System.Image_U is
procedure Set_Image_Unsigned
(V : Uns;
S : in out String;
- P : in out Natural)
- with
- Pre => P < Integer'Last
- and then S'Last < Integer'Last
- and then S'First <= P + 1
- and then S'First <= S'Last
- and then P <= S'Last - Unsigned_Width_Ghost + 1,
- Post => S (S'First .. P'Old) = S'Old (S'First .. P'Old)
- and then P in P'Old + 1 .. S'Last
- and then U_Spec.Only_Decimal_Ghost (S, From => P'Old + 1, To => P)
- and then U_Spec.Scan_Based_Number_Ghost
- (S, From => P'Old + 1, To => P)
- = U_Spec.Wrap_Option (V);
+ P : in out Natural);
-- Stores the image of V in S starting at S (P + 1), P is updated to point
-- to the last character stored. The value stored is identical to the value
-- of Uns'Image (V) except that no leading space is stored. The caller