diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2024-06-12 16:05:57 +0200 |
---|---|---|
committer | Marc Poulhiès <dkm@gcc.gnu.org> | 2024-06-27 10:19:13 +0200 |
commit | 5c8b7fcc04b1ec412e11ae3d77f704c19a63ab07 (patch) | |
tree | dd243d82fbe641f09564c4438f15321f0d8a1a57 /gcc/ada/libgnat/s-casi64.adb | |
parent | fdbc04d13f0e993ecf1a36680c8f7768dfb522fb (diff) | |
download | gcc-5c8b7fcc04b1ec412e11ae3d77f704c19a63ab07.zip gcc-5c8b7fcc04b1ec412e11ae3d77f704c19a63ab07.tar.gz gcc-5c8b7fcc04b1ec412e11ae3d77f704c19a63ab07.tar.bz2 |
ada: Remove last uses of System.Address_Operations in runtime library
This completes the switch from using System.Address_Operations to using only
System.Storage_Elements in the runtime library. The remaining uses were for
simple optimizations that can be done by the optimizer alone.
gcc/ada/
* libgnat/s-carsi8.adb: Remove clauses for System.Address_Operations
and use only operations of System.Storage_Elements for addresses.
* libgnat/s-casi16.adb: Likewise.
* libgnat/s-casi32.adb: Likewise.
* libgnat/s-casi64.adb: Likewise.
* libgnat/s-casi128.adb: Likewise.
* libgnat/s-carun8.adb: Likewise.
* libgnat/s-caun16.adb: Likewise.
* libgnat/s-caun32.adb: Likewise.
* libgnat/s-caun64.adb: Likewise.
* libgnat/s-caun128.adb: Likewise.
* libgnat/s-geveop.adb: Likewise.
Diffstat (limited to 'gcc/ada/libgnat/s-casi64.adb')
-rw-r--r-- | gcc/ada/libgnat/s-casi64.adb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/ada/libgnat/s-casi64.adb b/gcc/ada/libgnat/s-casi64.adb index bcadea1..0625d1f5 100644 --- a/gcc/ada/libgnat/s-casi64.adb +++ b/gcc/ada/libgnat/s-casi64.adb @@ -29,8 +29,7 @@ -- -- ------------------------------------------------------------------------------ -with System.Address_Operations; use System.Address_Operations; -with System.Storage_Elements; use System.Storage_Elements; +with System.Storage_Elements; use System.Storage_Elements; with Ada.Unchecked_Conversion; @@ -73,7 +72,9 @@ package body System.Compare_Array_Signed_64 is begin -- Case of going by aligned double words - if ModA (OrA (Left, Right), 8) = 0 then + if Left mod Storage_Offset (8) = 0 + and then Right mod Storage_Offset (8) = 0 + then while Clen /= 0 loop if W (L).all /= W (R).all then if W (L).all > W (R).all then |