diff options
author | Arnaud Charlet <charlet@adacore.com> | 2021-05-12 05:28:29 -0400 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-07-07 16:23:17 +0000 |
commit | 347d939028d648d55e72738c7500743ddcc70147 (patch) | |
tree | d1166392c2af6ade4427fbce4ae8a511f3655ab9 /gcc/ada/libgnat | |
parent | 14212dc422ed09f8324bbfd1dec662cbb2fdbe0e (diff) | |
download | gcc-347d939028d648d55e72738c7500743ddcc70147.zip gcc-347d939028d648d55e72738c7500743ddcc70147.tar.gz gcc-347d939028d648d55e72738c7500743ddcc70147.tar.bz2 |
[Ada] Code cleanups in System.Atomic_Counters
gcc/ada/
* libgnat/s-atocou.ads, libgnat/s-atocou__builtin.adb: Code
cleanups.
Diffstat (limited to 'gcc/ada/libgnat')
-rw-r--r-- | gcc/ada/libgnat/s-atocou.ads | 1 | ||||
-rw-r--r-- | gcc/ada/libgnat/s-atocou__builtin.adb | 20 |
2 files changed, 5 insertions, 16 deletions
diff --git a/gcc/ada/libgnat/s-atocou.ads b/gcc/ada/libgnat/s-atocou.ads index a75173a..9488b6d 100644 --- a/gcc/ada/libgnat/s-atocou.ads +++ b/gcc/ada/libgnat/s-atocou.ads @@ -101,7 +101,6 @@ private type Atomic_Counter is record Value : aliased Atomic_Unsigned := 1; - pragma Atomic (Value); end record; end System.Atomic_Counters; diff --git a/gcc/ada/libgnat/s-atocou__builtin.adb b/gcc/ada/libgnat/s-atocou__builtin.adb index 2ca8b9e..d87f9ad 100644 --- a/gcc/ada/libgnat/s-atocou__builtin.adb +++ b/gcc/ada/libgnat/s-atocou__builtin.adb @@ -51,24 +51,19 @@ package body System.Atomic_Counters is procedure Decrement (Item : aliased in out Atomic_Unsigned) is begin - if Sync_Sub_And_Fetch (Item'Unrestricted_Access, 1) = 0 then + if Sync_Sub_And_Fetch (Item'Unchecked_Access, 1) = 0 then null; end if; end Decrement; function Decrement (Item : aliased in out Atomic_Unsigned) return Boolean is begin - return Sync_Sub_And_Fetch (Item'Unrestricted_Access, 1) = 0; + return Sync_Sub_And_Fetch (Item'Unchecked_Access, 1) = 0; end Decrement; function Decrement (Item : in out Atomic_Counter) return Boolean is begin - -- Note: the use of Unrestricted_Access here is required because we - -- are obtaining an access-to-volatile pointer to a non-volatile object. - -- This is not allowed for [Unchecked_]Access, but is safe in this case - -- because we know that no aliases are being created. - - return Sync_Sub_And_Fetch (Item.Value'Unrestricted_Access, 1) = 0; + return Sync_Sub_And_Fetch (Item.Value'Unchecked_Access, 1) = 0; end Decrement; --------------- @@ -77,17 +72,12 @@ package body System.Atomic_Counters is procedure Increment (Item : aliased in out Atomic_Unsigned) is begin - Sync_Add_And_Fetch (Item'Unrestricted_Access, 1); + Sync_Add_And_Fetch (Item'Unchecked_Access, 1); end Increment; procedure Increment (Item : in out Atomic_Counter) is begin - -- Note: the use of Unrestricted_Access here is required because we are - -- obtaining an access-to-volatile pointer to a non-volatile object. - -- This is not allowed for [Unchecked_]Access, but is safe in this case - -- because we know that no aliases are being created. - - Sync_Add_And_Fetch (Item.Value'Unrestricted_Access, 1); + Sync_Add_And_Fetch (Item.Value'Unchecked_Access, 1); end Increment; ---------------- |