diff options
author | Joffrey Huguet <huguet@adacore.com> | 2022-05-09 15:25:30 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-06-02 09:06:37 +0000 |
commit | f03f48a3843046a4ee888db3b86c0efe3812e2c7 (patch) | |
tree | 006cb320f1a4edcdb6b9f540098a1e67a79e690a | |
parent | f0b7fddbefbe7af7c14ed5f2def49bbdb4a6c919 (diff) | |
download | gcc-f03f48a3843046a4ee888db3b86c0efe3812e2c7.zip gcc-f03f48a3843046a4ee888db3b86c0efe3812e2c7.tar.gz gcc-f03f48a3843046a4ee888db3b86c0efe3812e2c7.tar.bz2 |
[Ada] Add contracts to System.Address_To_Access_Conversions
This patch adds SPARK annotations to subprograms from
System.Address_To_Access_Conversions. To_Pointer is considered to have
no global items, if the returned value has no aliases. To_Address is
forbidden in SPARK because addresses are not handled.
gcc/ada/
* libgnat/s-atacco.ads (To_Pointer): Add Global => null.
(To_Address): Add SPARK_Mode => Off.
-rw-r--r-- | gcc/ada/libgnat/s-atacco.ads | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/ada/libgnat/s-atacco.ads b/gcc/ada/libgnat/s-atacco.ads index 736210d..b3559ff 100644 --- a/gcc/ada/libgnat/s-atacco.ads +++ b/gcc/ada/libgnat/s-atacco.ads @@ -54,8 +54,10 @@ package System.Address_To_Access_Conversions is -- optimizations that may cause unexpected results based on the assumption -- of no strict aliasing. - function To_Pointer (Value : Address) return Object_Pointer; - function To_Address (Value : Object_Pointer) return Address; + function To_Pointer (Value : Address) return Object_Pointer with + Global => null; + function To_Address (Value : Object_Pointer) return Address with + SPARK_Mode => Off; pragma Import (Intrinsic, To_Pointer); pragma Import (Intrinsic, To_Address); |