s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 26 May 2008 15:51:15 +0000 (17:51 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Mon, 26 May 2008 15:51:15 +0000 (17:51 +0200)
2008-05-26  Eric Botcazou  <ebotcazou@adacore.com>

* s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
(Compare_Array_S16): Adjust for above change.
* s-casi32.adb (Uword): Likewise.
(Compare_Array_S32): Likewise.
* s-casi64.adb (Uword): Likewise.
(Compare_Array_S64): Likewise.
* s-caun16.adb (Uhalf): Likewise.
(Compare_Array_U16): Likewise.
* s-caun32.adb (Uword): Likewise.
(Compare_Array_U32): Likewise.
* s-caun64.adb (Uword): Likewise.
(Compare_Array_U64): Likewise.

From-SVN: r135942

gcc/ada/s-casi16.adb
gcc/ada/s-casi32.adb
gcc/ada/s-casi64.adb
gcc/ada/s-caun16.adb
gcc/ada/s-caun32.adb
gcc/ada/s-caun64.adb

index 3980ce7d74ff52f6076572884ce07608103f4cfc..846ec8dff0093f4c320b08ebd4f3a750d3286f61 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-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- --
@@ -44,10 +44,7 @@ package body System.Compare_Array_Signed_16 is
    for Half'Size use 16;
    --  Used to process operands by half words
 
-   type Uhalf is record
-      H : Half;
-   end record;
-   pragma Pack (Uhalf);
+   type Uhalf is new Half;
    for Uhalf'Alignment use 1;
    --  Used to process operands when unaligned
 
@@ -110,8 +107,8 @@ package body System.Compare_Array_Signed_16 is
 
       else
          while Clen /= 0 loop
-            if U (L).H /= U (R).H then
-               if U (L).H > U (R).H then
+            if U (L).all /= U (R).all then
+               if U (L).all > U (R).all then
                   return +1;
                else
                   return -1;
index 7ce89da47d72fb15a5e4806eb1ec895e5498e818..7076918491c62886e7d69bba273a2ff49eb3cf60 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-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- --
@@ -41,10 +41,7 @@ package body System.Compare_Array_Signed_32 is
    for Word'Size use 32;
    --  Used to process operands by words
 
-   type Uword is record
-      W : Word;
-   end record;
-   pragma Pack (Uword);
+   type Uword is new Word;
    for Uword'Alignment use 1;
    --  Used to process operands when unaligned
 
@@ -93,8 +90,8 @@ package body System.Compare_Array_Signed_32 is
 
       else
          while Clen /= 0 loop
-            if U (L).W /= U (R).W then
-               if U (L).W > U (R).W then
+            if U (L).all /= U (R).all then
+               if U (L).all > U (R).all then
                   return +1;
                else
                   return -1;
index 0cbae743b1ae0d5850871196bf5dcd8adcc5f332..0bf9745d37567edd0f383f3bc97aa37e7d845e68 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-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- --
@@ -41,10 +41,7 @@ package body System.Compare_Array_Signed_64 is
    for Word'Size use 64;
    --  Used to process operands by words
 
-   type Uword is record
-      W : Word;
-   end record;
-   pragma Pack (Uword);
+   type Uword is new Word;
    for Uword'Alignment use 1;
    --  Used to process operands when unaligned
 
@@ -93,8 +90,8 @@ package body System.Compare_Array_Signed_64 is
 
       else
          while Clen /= 0 loop
-            if U (L).W /= U (R).W then
-               if U (L).W > U (R).W then
+            if U (L).all /= U (R).all then
+               if U (L).all > U (R).all then
                   return +1;
                else
                   return -1;
index 9bbbb968c83e72013245658b48dbb72782bf5316..b75d8bb9be3f0b5501fd372f48ee91a1c9264987 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-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- --
@@ -44,10 +44,7 @@ package body System.Compare_Array_Unsigned_16 is
    for Half'Size use 16;
    --  Used to process operands by half words
 
-   type Uhalf is record
-      H : Half;
-   end record;
-   pragma Pack (Uhalf);
+   type Uhalf is new Half;
    for Uhalf'Alignment use 1;
    --  Used to process operands when unaligned
 
@@ -110,8 +107,8 @@ package body System.Compare_Array_Unsigned_16 is
 
       else
          while Clen /= 0 loop
-            if U (L).H /= U (R).H then
-               if U (L).H > U (R).H then
+            if U (L).all /= U (R).all then
+               if U (L).all > U (R).all then
                   return +1;
                else
                   return -1;
index c0289395214bd834f42b1035dcf5a4d0d5d7e4af..a7dcd8f086df3aa3c455a710aa602d9daa89fd77 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-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- --
@@ -41,10 +41,7 @@ package body System.Compare_Array_Unsigned_32 is
    for Word'Size use 32;
    --  Used to process operands by words
 
-   type Uword is record
-      W : Word;
-   end record;
-   pragma Pack (Uword);
+   type Uword is new Word;
    for Uword'Alignment use 1;
    --  Used to process operands when unaligned
 
@@ -93,8 +90,8 @@ package body System.Compare_Array_Unsigned_32 is
 
       else
          while Clen /= 0 loop
-            if U (L).W /= U (R).W then
-               if U (L).W > U (R).W then
+            if U (L).all /= U (R).all then
+               if U (L).all > U (R).all then
                   return +1;
                else
                   return -1;
index 10ff8176496d18e3cb590f345261ad87b6150837..28d2c15bce6c5e3574b601008960104e8214a946 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 2002-2007, Free Software Foundation, Inc.         --
+--          Copyright (C) 2002-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- --
@@ -40,10 +40,7 @@ package body System.Compare_Array_Unsigned_64 is
    type Word is mod 2 ** 64;
    --  Used to process operands by words
 
-   type Uword is record
-      W : Word;
-   end record;
-   pragma Pack (Uword);
+   type Uword is new Word;
    for Uword'Alignment use 1;
    --  Used to process operands when unaligned
 
@@ -92,8 +89,8 @@ package body System.Compare_Array_Unsigned_64 is
 
       else
          while Clen /= 0 loop
-            if U (L).W /= U (R).W then
-               if U (L).W > U (R).W then
+            if U (L).all /= U (R).all then
+               if U (L).all > U (R).all then
                   return +1;
                else
                   return -1;