uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with Append.
authorThomas Quinot <quinot@adacore.com>
Tue, 20 May 2008 12:51:40 +0000 (14:51 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 20 May 2008 12:51:40 +0000 (14:51 +0200)
2008-05-20  Thomas Quinot  <quinot@adacore.com>

* uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
Append.

From-SVN: r135646

gcc/ada/uintp.adb
gcc/ada/urealp.adb

index ffc636771d11ad5e67ff17261ce5303904dbfebc..416d5d88681b9e3d10c3ef1025581e8e4e792cfd 100644 (file)
@@ -683,14 +683,11 @@ package body Uintp is
          begin
             Release (M);
 
-            Uints.Increment_Last;
+            Uints.Append ((Length => UE_Len, Loc => Udigits.Last + 1));
             UI := Uints.Last;
 
-            Uints.Table (UI) := (UE_Len, Udigits.Last + 1);
-
             for J in 1 .. UE_Len loop
-               Udigits.Increment_Last;
-               Udigits.Table (Udigits.Last) := UD (J);
+               Udigits.Append (UD (J));
             end loop;
          end;
       end if;
@@ -721,24 +718,18 @@ package body Uintp is
          begin
             Release (M);
 
-            Uints.Increment_Last;
+            Uints.Append ((Length => UE1_Len, Loc => Udigits.Last + 1));
             UI1 := Uints.Last;
 
-            Uints.Table (UI1) := (UE1_Len, Udigits.Last + 1);
-
             for J in 1 .. UE1_Len loop
-               Udigits.Increment_Last;
-               Udigits.Table (Udigits.Last) := UD1 (J);
+               Udigits.Append (UD1 (J));
             end loop;
 
-            Uints.Increment_Last;
+            Uints.Append ((Length => UE2_Len, Loc => Udigits.Last + 1));
             UI2 := Uints.Last;
 
-            Uints.Table (UI2) := (UE2_Len, Udigits.Last + 1);
-
             for J in 1 .. UE2_Len loop
-               Udigits.Increment_Last;
-               Udigits.Table (Udigits.Last) := UD2 (J);
+               Udigits.Append (UD2 (J));
             end loop;
          end;
       end if;
@@ -2745,21 +2736,18 @@ package body Uintp is
             --  the count and digits. The index of the new table entry will be
             --  returned as the result.
 
-            Uints.Increment_Last;
-            Uints.Table (Uints.Last).Length := Size;
-            Uints.Table (Uints.Last).Loc    := Udigits.Last + 1;
-
-            Udigits.Increment_Last;
+            Uints.Append ((Length => Size, Loc => Udigits.Last + 1));
 
             if Negative then
-               Udigits.Table (Udigits.Last) := -In_Vec (J);
+               Val := -In_Vec (J);
             else
-               Udigits.Table (Udigits.Last) := +In_Vec (J);
+               Val := +In_Vec (J);
             end if;
 
+            Udigits.Append (Val);
+
             for K in 2 .. Size loop
-               Udigits.Increment_Last;
-               Udigits.Table (Udigits.Last) := In_Vec (J + K - 1);
+               Udigits.Append (In_Vec (J + K - 1));
             end loop;
 
             return Uints.Last;
index 737e4b4e80ee59c47bcc3c85e04f8d57ee770777..17dd9178e2c3511ac66e3e968567f5746e073eba 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2008, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -441,8 +441,7 @@ package body Urealp is
 
    function Store_Ureal (Val : Ureal_Entry) return Ureal is
    begin
-      Ureals.Increment_Last;
-      Ureals.Table (Ureals.Last) := Val;
+      Ureals.Append (Val);
 
       --  Normalize representation of signed values