From: Eric Botcazou Date: Mon, 26 May 2008 15:51:15 +0000 (+0200) Subject: s-casi16.adb (Uhalf): Rewrite it as integer with small alignment. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=6054bf2a351ce0cbf86a14d60bea94b85e0004be;p=gcc.git s-casi16.adb (Uhalf): Rewrite it as integer with small alignment. 2008-05-26 Eric Botcazou * 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 --- diff --git a/gcc/ada/s-casi16.adb b/gcc/ada/s-casi16.adb index 3980ce7d74f..846ec8dff00 100644 --- a/gcc/ada/s-casi16.adb +++ b/gcc/ada/s-casi16.adb @@ -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; diff --git a/gcc/ada/s-casi32.adb b/gcc/ada/s-casi32.adb index 7ce89da47d7..7076918491c 100644 --- a/gcc/ada/s-casi32.adb +++ b/gcc/ada/s-casi32.adb @@ -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; diff --git a/gcc/ada/s-casi64.adb b/gcc/ada/s-casi64.adb index 0cbae743b1a..0bf9745d375 100644 --- a/gcc/ada/s-casi64.adb +++ b/gcc/ada/s-casi64.adb @@ -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; diff --git a/gcc/ada/s-caun16.adb b/gcc/ada/s-caun16.adb index 9bbbb968c83..b75d8bb9be3 100644 --- a/gcc/ada/s-caun16.adb +++ b/gcc/ada/s-caun16.adb @@ -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; diff --git a/gcc/ada/s-caun32.adb b/gcc/ada/s-caun32.adb index c0289395214..a7dcd8f086d 100644 --- a/gcc/ada/s-caun32.adb +++ b/gcc/ada/s-caun32.adb @@ -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; diff --git a/gcc/ada/s-caun64.adb b/gcc/ada/s-caun64.adb index 10ff8176496..28d2c15bce6 100644 --- a/gcc/ada/s-caun64.adb +++ b/gcc/ada/s-caun64.adb @@ -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;