[COMMITTED] ada: Add No_Elaboration_Code_All pragma to System.Storage_Elements
Checks
Commit Message
From: Daniel King <dmking@adacore.com>
Allows System.Storage_Elements to be used in units that
have the No_Elaboration_Code_All restriction.
gcc/ada/
* libgnat/s-stoele.ads: Add No_Elaboration_Code_All pragma.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/libgnat/s-stoele.ads | 3 +++
1 file changed, 3 insertions(+)
@@ -43,6 +43,9 @@ package System.Storage_Elements is
-- this unit Pure instead of Preelaborable; see RM 13.7.1(15). In Ada 2005,
-- this is Pure in any case (AI-362).
+ pragma No_Elaboration_Code_All;
+ -- Allow the use of that restriction in units that WITH this unit
+
pragma Annotate (GNATprove, Always_Return, Storage_Elements);
type Storage_Offset is range -Memory_Size / 2 .. Memory_Size / 2 - 1;