aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2005-11-15 14:04:34 +0000
committerArnaud Charlet <charlet@adacore.com>2005-11-15 14:04:34 +0000
commit6968f3050a1a5b6b10f95b78c6a161a26cf3857f (patch)
treec89cfdceeff221793ab4be7855ba0e2483f2e511 /gcc/ada
parentdc26de090bdeaead1b245567e5fabb4957910bf1 (diff)
2005-11-14 Javier Miranda <miranda@adacore.com>
* s-finroo.ads, s-finroo.adb (Read): Addition of "not null" to the anonymous access. (Write): Addition of "not null" to the anonymous access. (Read): Addition of "not null" to the anonymous access. (Write): Addition of "not null" to the anonymous access. * s-strxdr.adb, s-stratt.ads, s-stratt.adb (I_AD, I_AS, I_B, I_C, I_F, I_I, I_LF, I_LI, I_LLF, I_LLI, I_LLU, I_LU, I_SF, I_SI, I_SSI, I_SSU, I_SU, I_U, I_WC): Addition of "not null" to the anonymous access. (W_AD, W_AS, W_B, W_C, W_F, W_I, W_LF, W_LI, W_LLF, W_LLI, W_LLU, W_LU, W_SF, W_SI, W_SSI, W_SSU, W_SU, W_U, W_WC): Addition of "not null" to the anonymous access. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@107009 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/s-finroo.adb12
-rw-r--r--gcc/ada/s-finroo.ads11
-rw-r--r--gcc/ada/s-stratt.adb92
-rw-r--r--gcc/ada/s-stratt.ads81
-rw-r--r--gcc/ada/s-strxdr.adb87
5 files changed, 159 insertions, 124 deletions
diff --git a/gcc/ada/s-finroo.adb b/gcc/ada/s-finroo.adb
index 6fcc6081505..559c29cf0d7 100644
--- a/gcc/ada/s-finroo.adb
+++ b/gcc/ada/s-finroo.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2003 Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2005 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- --
@@ -73,8 +73,9 @@ package body System.Finalization_Root is
-- Suppress warning for out paramater Item which is not assigned
-- because it is pretty much empty.
- procedure Read (Stream : access Ada.Streams.Root_Stream_Type'Class;
- Item : out Root_Controlled)
+ procedure Read
+ (Stream : not null access Ada.Streams.Root_Stream_Type'Class;
+ Item : out Root_Controlled)
is
begin
null;
@@ -87,8 +88,9 @@ package body System.Finalization_Root is
-- Read and Write must be empty in order to avoid copying the
-- finalization pointers.
- procedure Write (Stream : access Ada.Streams.Root_Stream_Type'Class;
- Item : in Root_Controlled)
+ procedure Write
+ (Stream : not null access Ada.Streams.Root_Stream_Type'Class;
+ Item : in Root_Controlled)
is
begin
null;
diff --git a/gcc/ada/s-finroo.ads b/gcc/ada/s-finroo.ads
index ed1be45ab4a..f9847eb5818 100644
--- a/gcc/ada/s-finroo.ads
+++ b/gcc/ada/s-finroo.ads
@@ -61,10 +61,13 @@ package System.Finalization_Root is
procedure Finalize (Object : in out Root_Controlled);
procedure Adjust (Object : in out Root_Controlled);
- procedure Write (Stream : access Ada.Streams.Root_Stream_Type'Class;
- Item : in Root_Controlled);
- procedure Read (Stream : access Ada.Streams.Root_Stream_Type'Class;
- Item : out Root_Controlled);
+ procedure Write
+ (Stream : not null access Ada.Streams.Root_Stream_Type'Class;
+ Item : in Root_Controlled);
+
+ procedure Read
+ (Stream : not null access Ada.Streams.Root_Stream_Type'Class;
+ Item : out Root_Controlled);
for Root_Controlled'Read use Read;
for Root_Controlled'Write use Write;
diff --git a/gcc/ada/s-stratt.adb b/gcc/ada/s-stratt.adb
index 5cf84c4a3ac..810a1046ffa 100644
--- a/gcc/ada/s-stratt.adb
+++ b/gcc/ada/s-stratt.adb
@@ -119,7 +119,7 @@ package body System.Stream_Attributes is
-- I_AD --
----------
- function I_AD (Stream : access RST) return Fat_Pointer is
+ function I_AD (Stream : not null access RST) return Fat_Pointer is
T : S_AD;
L : SEO;
@@ -137,7 +137,7 @@ package body System.Stream_Attributes is
-- I_AS --
----------
- function I_AS (Stream : access RST) return Thin_Pointer is
+ function I_AS (Stream : not null access RST) return Thin_Pointer is
T : S_AS;
L : SEO;
@@ -155,7 +155,7 @@ package body System.Stream_Attributes is
-- I_B --
---------
- function I_B (Stream : access RST) return Boolean is
+ function I_B (Stream : not null access RST) return Boolean is
T : S_B;
L : SEO;
@@ -173,7 +173,7 @@ package body System.Stream_Attributes is
-- I_C --
---------
- function I_C (Stream : access RST) return Character is
+ function I_C (Stream : not null access RST) return Character is
T : S_C;
L : SEO;
@@ -191,7 +191,7 @@ package body System.Stream_Attributes is
-- I_F --
---------
- function I_F (Stream : access RST) return Float is
+ function I_F (Stream : not null access RST) return Float is
T : S_F;
L : SEO;
@@ -209,7 +209,7 @@ package body System.Stream_Attributes is
-- I_I --
---------
- function I_I (Stream : access RST) return Integer is
+ function I_I (Stream : not null access RST) return Integer is
T : S_I;
L : SEO;
@@ -227,7 +227,7 @@ package body System.Stream_Attributes is
-- I_LF --
----------
- function I_LF (Stream : access RST) return Long_Float is
+ function I_LF (Stream : not null access RST) return Long_Float is
T : S_LF;
L : SEO;
@@ -245,7 +245,7 @@ package body System.Stream_Attributes is
-- I_LI --
----------
- function I_LI (Stream : access RST) return Long_Integer is
+ function I_LI (Stream : not null access RST) return Long_Integer is
T : S_LI;
L : SEO;
@@ -263,7 +263,7 @@ package body System.Stream_Attributes is
-- I_LLF --
-----------
- function I_LLF (Stream : access RST) return Long_Long_Float is
+ function I_LLF (Stream : not null access RST) return Long_Long_Float is
T : S_LLF;
L : SEO;
@@ -281,7 +281,7 @@ package body System.Stream_Attributes is
-- I_LLI --
-----------
- function I_LLI (Stream : access RST) return Long_Long_Integer is
+ function I_LLI (Stream : not null access RST) return Long_Long_Integer is
T : S_LLI;
L : SEO;
@@ -299,7 +299,9 @@ package body System.Stream_Attributes is
-- I_LLU --
-----------
- function I_LLU (Stream : access RST) return UST.Long_Long_Unsigned is
+ function I_LLU
+ (Stream : not null access RST) return UST.Long_Long_Unsigned
+ is
T : S_LLU;
L : SEO;
@@ -317,7 +319,7 @@ package body System.Stream_Attributes is
-- I_LU --
----------
- function I_LU (Stream : access RST) return UST.Long_Unsigned is
+ function I_LU (Stream : not null access RST) return UST.Long_Unsigned is
T : S_LU;
L : SEO;
@@ -335,7 +337,7 @@ package body System.Stream_Attributes is
-- I_SF --
----------
- function I_SF (Stream : access RST) return Short_Float is
+ function I_SF (Stream : not null access RST) return Short_Float is
T : S_SF;
L : SEO;
@@ -353,7 +355,7 @@ package body System.Stream_Attributes is
-- I_SI --
----------
- function I_SI (Stream : access RST) return Short_Integer is
+ function I_SI (Stream : not null access RST) return Short_Integer is
T : S_SI;
L : SEO;
@@ -371,7 +373,7 @@ package body System.Stream_Attributes is
-- I_SSI --
-----------
- function I_SSI (Stream : access RST) return Short_Short_Integer is
+ function I_SSI (Stream : not null access RST) return Short_Short_Integer is
T : S_SSI;
L : SEO;
@@ -389,7 +391,9 @@ package body System.Stream_Attributes is
-- I_SSU --
-----------
- function I_SSU (Stream : access RST) return UST.Short_Short_Unsigned is
+ function I_SSU
+ (Stream : not null access RST) return UST.Short_Short_Unsigned
+ is
T : S_SSU;
L : SEO;
@@ -407,7 +411,7 @@ package body System.Stream_Attributes is
-- I_SU --
----------
- function I_SU (Stream : access RST) return UST.Short_Unsigned is
+ function I_SU (Stream : not null access RST) return UST.Short_Unsigned is
T : S_SU;
L : SEO;
@@ -425,7 +429,7 @@ package body System.Stream_Attributes is
-- I_U --
---------
- function I_U (Stream : access RST) return UST.Unsigned is
+ function I_U (Stream : not null access RST) return UST.Unsigned is
T : S_U;
L : SEO;
@@ -443,7 +447,7 @@ package body System.Stream_Attributes is
-- I_WC --
----------
- function I_WC (Stream : access RST) return Wide_Character is
+ function I_WC (Stream : not null access RST) return Wide_Character is
T : S_WC;
L : SEO;
@@ -461,7 +465,7 @@ package body System.Stream_Attributes is
-- W_AD --
----------
- procedure W_AD (Stream : access RST; Item : in Fat_Pointer) is
+ procedure W_AD (Stream : not null access RST; Item : in Fat_Pointer) is
T : constant S_AD := From_AD (Item);
begin
@@ -472,7 +476,7 @@ package body System.Stream_Attributes is
-- W_AS --
----------
- procedure W_AS (Stream : access RST; Item : in Thin_Pointer) is
+ procedure W_AS (Stream : not null access RST; Item : in Thin_Pointer) is
T : constant S_AS := From_AS (Item);
begin
@@ -483,7 +487,7 @@ package body System.Stream_Attributes is
-- W_B --
---------
- procedure W_B (Stream : access RST; Item : in Boolean) is
+ procedure W_B (Stream : not null access RST; Item : in Boolean) is
T : S_B;
begin
@@ -495,7 +499,7 @@ package body System.Stream_Attributes is
-- W_C --
---------
- procedure W_C (Stream : access RST; Item : in Character) is
+ procedure W_C (Stream : not null access RST; Item : in Character) is
T : S_C;
begin
@@ -507,7 +511,7 @@ package body System.Stream_Attributes is
-- W_F --
---------
- procedure W_F (Stream : access RST; Item : in Float) is
+ procedure W_F (Stream : not null access RST; Item : in Float) is
T : constant S_F := From_F (Item);
begin
@@ -518,7 +522,7 @@ package body System.Stream_Attributes is
-- W_I --
---------
- procedure W_I (Stream : access RST; Item : in Integer) is
+ procedure W_I (Stream : not null access RST; Item : in Integer) is
T : constant S_I := From_I (Item);
begin
@@ -529,7 +533,7 @@ package body System.Stream_Attributes is
-- W_LF --
----------
- procedure W_LF (Stream : access RST; Item : in Long_Float) is
+ procedure W_LF (Stream : not null access RST; Item : in Long_Float) is
T : constant S_LF := From_LF (Item);
begin
@@ -540,7 +544,7 @@ package body System.Stream_Attributes is
-- W_LI --
----------
- procedure W_LI (Stream : access RST; Item : in Long_Integer) is
+ procedure W_LI (Stream : not null access RST; Item : in Long_Integer) is
T : constant S_LI := From_LI (Item);
begin
@@ -551,7 +555,7 @@ package body System.Stream_Attributes is
-- W_LLF --
-----------
- procedure W_LLF (Stream : access RST; Item : in Long_Long_Float) is
+ procedure W_LLF (Stream : not null access RST; Item : in Long_Long_Float) is
T : constant S_LLF := From_LLF (Item);
begin
@@ -562,7 +566,9 @@ package body System.Stream_Attributes is
-- W_LLI --
-----------
- procedure W_LLI (Stream : access RST; Item : in Long_Long_Integer) is
+ procedure W_LLI
+ (Stream : not null access RST; Item : in Long_Long_Integer)
+ is
T : constant S_LLI := From_LLI (Item);
begin
@@ -573,7 +579,9 @@ package body System.Stream_Attributes is
-- W_LLU --
-----------
- procedure W_LLU (Stream : access RST; Item : in UST.Long_Long_Unsigned) is
+ procedure W_LLU
+ (Stream : not null access RST; Item : in UST.Long_Long_Unsigned)
+ is
T : constant S_LLU := From_LLU (Item);
begin
@@ -584,7 +592,9 @@ package body System.Stream_Attributes is
-- W_LU --
----------
- procedure W_LU (Stream : access RST; Item : in UST.Long_Unsigned) is
+ procedure W_LU
+ (Stream : not null access RST; Item : in UST.Long_Unsigned)
+ is
T : constant S_LU := From_LU (Item);
begin
@@ -595,7 +605,7 @@ package body System.Stream_Attributes is
-- W_SF --
----------
- procedure W_SF (Stream : access RST; Item : in Short_Float) is
+ procedure W_SF (Stream : not null access RST; Item : in Short_Float) is
T : constant S_SF := From_SF (Item);
begin
@@ -606,7 +616,7 @@ package body System.Stream_Attributes is
-- W_SI --
----------
- procedure W_SI (Stream : access RST; Item : in Short_Integer) is
+ procedure W_SI (Stream : not null access RST; Item : in Short_Integer) is
T : constant S_SI := From_SI (Item);
begin
@@ -617,7 +627,9 @@ package body System.Stream_Attributes is
-- W_SSI --
-----------
- procedure W_SSI (Stream : access RST; Item : in Short_Short_Integer) is
+ procedure W_SSI
+ (Stream : not null access RST; Item : in Short_Short_Integer)
+ is
T : constant S_SSI := From_SSI (Item);
begin
@@ -628,7 +640,9 @@ package body System.Stream_Attributes is
-- W_SSU --
-----------
- procedure W_SSU (Stream : access RST; Item : in UST.Short_Short_Unsigned) is
+ procedure W_SSU
+ (Stream : not null access RST; Item : in UST.Short_Short_Unsigned)
+ is
T : constant S_SSU := From_SSU (Item);
begin
@@ -639,7 +653,9 @@ package body System.Stream_Attributes is
-- W_SU --
----------
- procedure W_SU (Stream : access RST; Item : in UST.Short_Unsigned) is
+ procedure W_SU
+ (Stream : not null access RST; Item : in UST.Short_Unsigned)
+ is
T : constant S_SU := From_SU (Item);
begin
@@ -650,7 +666,7 @@ package body System.Stream_Attributes is
-- W_U --
---------
- procedure W_U (Stream : access RST; Item : in UST.Unsigned) is
+ procedure W_U (Stream : not null access RST; Item : in UST.Unsigned) is
T : constant S_U := From_U (Item);
begin
@@ -661,7 +677,7 @@ package body System.Stream_Attributes is
-- W_WC --
----------
- procedure W_WC (Stream : access RST; Item : in Wide_Character) is
+ procedure W_WC (Stream : not null access RST; Item : in Wide_Character) is
T : constant S_WC := From_WC (Item);
begin
diff --git a/gcc/ada/s-stratt.ads b/gcc/ada/s-stratt.ads
index c4d0a32d062..eefebd4f243 100644
--- a/gcc/ada/s-stratt.ads
+++ b/gcc/ada/s-stratt.ads
@@ -101,25 +101,26 @@ package System.Stream_Attributes is
-- is the same for all elementary types (no bounds or discriminants
-- are involved).
- function I_AD (Stream : access RST) return Fat_Pointer;
- function I_AS (Stream : access RST) return Thin_Pointer;
- function I_B (Stream : access RST) return Boolean;
- function I_C (Stream : access RST) return Character;
- function I_F (Stream : access RST) return Float;
- function I_I (Stream : access RST) return Integer;
- function I_LF (Stream : access RST) return Long_Float;
- function I_LI (Stream : access RST) return Long_Integer;
- function I_LLF (Stream : access RST) return Long_Long_Float;
- function I_LLI (Stream : access RST) return Long_Long_Integer;
- function I_LLU (Stream : access RST) return UST.Long_Long_Unsigned;
- function I_LU (Stream : access RST) return UST.Long_Unsigned;
- function I_SF (Stream : access RST) return Short_Float;
- function I_SI (Stream : access RST) return Short_Integer;
- function I_SSI (Stream : access RST) return Short_Short_Integer;
- function I_SSU (Stream : access RST) return UST.Short_Short_Unsigned;
- function I_SU (Stream : access RST) return UST.Short_Unsigned;
- function I_U (Stream : access RST) return UST.Unsigned;
- function I_WC (Stream : access RST) return Wide_Character;
+ function I_AD (Stream : not null access RST) return Fat_Pointer;
+ function I_AS (Stream : not null access RST) return Thin_Pointer;
+ function I_B (Stream : not null access RST) return Boolean;
+ function I_C (Stream : not null access RST) return Character;
+ function I_F (Stream : not null access RST) return Float;
+ function I_I (Stream : not null access RST) return Integer;
+ function I_LF (Stream : not null access RST) return Long_Float;
+ function I_LI (Stream : not null access RST) return Long_Integer;
+ function I_LLF (Stream : not null access RST) return Long_Long_Float;
+ function I_LLI (Stream : not null access RST) return Long_Long_Integer;
+ function I_LLU (Stream : not null access RST) return UST.Long_Long_Unsigned;
+ function I_LU (Stream : not null access RST) return UST.Long_Unsigned;
+ function I_SF (Stream : not null access RST) return Short_Float;
+ function I_SI (Stream : not null access RST) return Short_Integer;
+ function I_SSI (Stream : not null access RST) return Short_Short_Integer;
+ function I_SSU (Stream : not null access RST)
+ return UST.Short_Short_Unsigned;
+ function I_SU (Stream : not null access RST) return UST.Short_Unsigned;
+ function I_U (Stream : not null access RST) return UST.Unsigned;
+ function I_WC (Stream : not null access RST) return Wide_Character;
-----------------------
-- Output Procedures --
@@ -130,25 +131,29 @@ package System.Stream_Attributes is
-- between 'Write and 'Output because there are no discriminants
-- or bounds to be written.
- procedure W_AD (Stream : access RST; Item : in Fat_Pointer);
- procedure W_AS (Stream : access RST; Item : in Thin_Pointer);
- procedure W_B (Stream : access RST; Item : in Boolean);
- procedure W_C (Stream : access RST; Item : in Character);
- procedure W_F (Stream : access RST; Item : in Float);
- procedure W_I (Stream : access RST; Item : in Integer);
- procedure W_LF (Stream : access RST; Item : in Long_Float);
- procedure W_LI (Stream : access RST; Item : in Long_Integer);
- procedure W_LLF (Stream : access RST; Item : in Long_Long_Float);
- procedure W_LLI (Stream : access RST; Item : in Long_Long_Integer);
- procedure W_LLU (Stream : access RST; Item : in UST.Long_Long_Unsigned);
- procedure W_LU (Stream : access RST; Item : in UST.Long_Unsigned);
- procedure W_SF (Stream : access RST; Item : in Short_Float);
- procedure W_SI (Stream : access RST; Item : in Short_Integer);
- procedure W_SSI (Stream : access RST; Item : in Short_Short_Integer);
- procedure W_SSU (Stream : access RST; Item : in UST.Short_Short_Unsigned);
- procedure W_SU (Stream : access RST; Item : in UST.Short_Unsigned);
- procedure W_U (Stream : access RST; Item : in UST.Unsigned);
- procedure W_WC (Stream : access RST; Item : in Wide_Character);
+ procedure W_AD (Stream : not null access RST; Item : in Fat_Pointer);
+ procedure W_AS (Stream : not null access RST; Item : in Thin_Pointer);
+ procedure W_B (Stream : not null access RST; Item : in Boolean);
+ procedure W_C (Stream : not null access RST; Item : in Character);
+ procedure W_F (Stream : not null access RST; Item : in Float);
+ procedure W_I (Stream : not null access RST; Item : in Integer);
+ procedure W_LF (Stream : not null access RST; Item : in Long_Float);
+ procedure W_LI (Stream : not null access RST; Item : in Long_Integer);
+ procedure W_LLF (Stream : not null access RST; Item : in Long_Long_Float);
+ procedure W_LLI (Stream : not null access RST; Item : in Long_Long_Integer);
+ procedure W_LLU (Stream : not null access RST;
+ Item : in UST.Long_Long_Unsigned);
+ procedure W_LU (Stream : not null access RST; Item : in UST.Long_Unsigned);
+ procedure W_SF (Stream : not null access RST; Item : in Short_Float);
+ procedure W_SI (Stream : not null access RST; Item : in Short_Integer);
+ procedure W_SSI (Stream : not null access RST;
+ Item : in Short_Short_Integer);
+ procedure W_SSU (Stream : not null access RST;
+ Item : in UST.Short_Short_Unsigned);
+ procedure W_SU (Stream : not null access RST;
+ Item : in UST.Short_Unsigned);
+ procedure W_U (Stream : not null access RST; Item : in UST.Unsigned);
+ procedure W_WC (Stream : not null access RST; Item : in Wide_Character);
----------------------------
-- Composite Input/Output --
diff --git a/gcc/ada/s-strxdr.adb b/gcc/ada/s-strxdr.adb
index af8c4c66b57..63aa286e8a3 100644
--- a/gcc/ada/s-strxdr.adb
+++ b/gcc/ada/s-strxdr.adb
@@ -279,7 +279,7 @@ package body System.Stream_Attributes is
-- I_AD --
----------
- function I_AD (Stream : access RST) return Fat_Pointer is
+ function I_AD (Stream : not null access RST) return Fat_Pointer is
FP : Fat_Pointer;
begin
@@ -293,7 +293,7 @@ package body System.Stream_Attributes is
-- I_AS --
----------
- function I_AS (Stream : access RST) return Thin_Pointer is
+ function I_AS (Stream : not null access RST) return Thin_Pointer is
S : XDR_S_TM;
L : SEO;
U : XDR_TM := 0;
@@ -316,7 +316,7 @@ package body System.Stream_Attributes is
-- I_B --
---------
- function I_B (Stream : access RST) return Boolean is
+ function I_B (Stream : not null access RST) return Boolean is
begin
case I_SSU (Stream) is
when 0 => return False;
@@ -329,7 +329,7 @@ package body System.Stream_Attributes is
-- I_C --
---------
- function I_C (Stream : access RST) return Character is
+ function I_C (Stream : not null access RST) return Character is
S : XDR_S_C;
L : SEO;
@@ -350,7 +350,7 @@ package body System.Stream_Attributes is
-- I_F --
---------
- function I_F (Stream : access RST) return Float is
+ function I_F (Stream : not null access RST) return Float is
I : constant Precision := Single;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -431,7 +431,7 @@ package body System.Stream_Attributes is
-- I_I --
---------
- function I_I (Stream : access RST) return Integer is
+ function I_I (Stream : not null access RST) return Integer is
S : XDR_S_I;
L : SEO;
U : XDR_U := 0;
@@ -465,7 +465,7 @@ package body System.Stream_Attributes is
-- I_LF --
----------
- function I_LF (Stream : access RST) return Long_Float is
+ function I_LF (Stream : not null access RST) return Long_Float is
I : constant Precision := Double;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -548,7 +548,7 @@ package body System.Stream_Attributes is
-- I_LI --
----------
- function I_LI (Stream : access RST) return Long_Integer is
+ function I_LI (Stream : not null access RST) return Long_Integer is
S : XDR_S_LI;
L : SEO;
U : Unsigned := 0;
@@ -594,7 +594,7 @@ package body System.Stream_Attributes is
-- I_LLF --
-----------
- function I_LLF (Stream : access RST) return Long_Long_Float is
+ function I_LLF (Stream : not null access RST) return Long_Long_Float is
I : constant Precision := Quadruple;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -683,7 +683,7 @@ package body System.Stream_Attributes is
-- I_LLI --
-----------
- function I_LLI (Stream : access RST) return Long_Long_Integer is
+ function I_LLI (Stream : not null access RST) return Long_Long_Integer is
S : XDR_S_LLI;
L : SEO;
U : Unsigned := 0;
@@ -726,7 +726,7 @@ package body System.Stream_Attributes is
-- I_LLU --
-----------
- function I_LLU (Stream : access RST) return Long_Long_Unsigned is
+ function I_LLU (Stream : not null access RST) return Long_Long_Unsigned is
S : XDR_S_LLU;
L : SEO;
U : Unsigned := 0;
@@ -763,7 +763,7 @@ package body System.Stream_Attributes is
-- I_LU --
----------
- function I_LU (Stream : access RST) return Long_Unsigned is
+ function I_LU (Stream : not null access RST) return Long_Unsigned is
S : XDR_S_LU;
L : SEO;
U : Unsigned := 0;
@@ -800,7 +800,7 @@ package body System.Stream_Attributes is
-- I_SF --
----------
- function I_SF (Stream : access RST) return Short_Float is
+ function I_SF (Stream : not null access RST) return Short_Float is
I : constant Precision := Single;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -881,7 +881,7 @@ package body System.Stream_Attributes is
-- I_SI --
----------
- function I_SI (Stream : access RST) return Short_Integer is
+ function I_SI (Stream : not null access RST) return Short_Integer is
S : XDR_S_SI;
L : SEO;
U : XDR_SU := 0;
@@ -914,7 +914,7 @@ package body System.Stream_Attributes is
-- I_SSI --
-----------
- function I_SSI (Stream : access RST) return Short_Short_Integer is
+ function I_SSI (Stream : not null access RST) return Short_Short_Integer is
S : XDR_S_SSI;
L : SEO;
U : XDR_SSU;
@@ -943,7 +943,7 @@ package body System.Stream_Attributes is
-- I_SSU --
-----------
- function I_SSU (Stream : access RST) return Short_Short_Unsigned is
+ function I_SSU (Stream : not null access RST) return Short_Short_Unsigned is
S : XDR_S_SSU;
L : SEO;
U : XDR_SSU := 0;
@@ -964,7 +964,7 @@ package body System.Stream_Attributes is
-- I_SU --
----------
- function I_SU (Stream : access RST) return Short_Unsigned is
+ function I_SU (Stream : not null access RST) return Short_Unsigned is
S : XDR_S_SU;
L : SEO;
U : XDR_SU := 0;
@@ -989,7 +989,7 @@ package body System.Stream_Attributes is
-- I_U --
---------
- function I_U (Stream : access RST) return Unsigned is
+ function I_U (Stream : not null access RST) return Unsigned is
S : XDR_S_U;
L : SEO;
U : XDR_U := 0;
@@ -1016,7 +1016,7 @@ package body System.Stream_Attributes is
-- I_WC --
----------
- function I_WC (Stream : access RST) return Wide_Character is
+ function I_WC (Stream : not null access RST) return Wide_Character is
S : XDR_S_WC;
L : SEO;
U : XDR_WC := 0;
@@ -1041,7 +1041,7 @@ package body System.Stream_Attributes is
-- W_AD --
----------
- procedure W_AD (Stream : access RST; Item : in Fat_Pointer) is
+ procedure W_AD (Stream : not null access RST; Item : in Fat_Pointer) is
S : XDR_S_TM;
U : XDR_TM;
@@ -1071,7 +1071,7 @@ package body System.Stream_Attributes is
-- W_AS --
----------
- procedure W_AS (Stream : access RST; Item : in Thin_Pointer) is
+ procedure W_AS (Stream : not null access RST; Item : in Thin_Pointer) is
S : XDR_S_TM;
U : XDR_TM := XDR_TM (To_XDR_SA (Item.P1));
@@ -1092,7 +1092,7 @@ package body System.Stream_Attributes is
-- W_B --
---------
- procedure W_B (Stream : access RST; Item : in Boolean) is
+ procedure W_B (Stream : not null access RST; Item : in Boolean) is
begin
if Item then
W_SSU (Stream, 1);
@@ -1105,7 +1105,7 @@ package body System.Stream_Attributes is
-- W_C --
---------
- procedure W_C (Stream : access RST; Item : in Character) is
+ procedure W_C (Stream : not null access RST; Item : in Character) is
S : XDR_S_C;
pragma Assert (C_L = 1);
@@ -1123,7 +1123,7 @@ package body System.Stream_Attributes is
-- W_F --
---------
- procedure W_F (Stream : access RST; Item : in Float) is
+ procedure W_F (Stream : not null access RST; Item : in Float) is
I : constant Precision := Single;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -1205,7 +1205,7 @@ package body System.Stream_Attributes is
-- W_I --
---------
- procedure W_I (Stream : access RST; Item : in Integer) is
+ procedure W_I (Stream : not null access RST; Item : in Integer) is
S : XDR_S_I;
U : XDR_U;
@@ -1239,7 +1239,7 @@ package body System.Stream_Attributes is
-- W_LF --
----------
- procedure W_LF (Stream : access RST; Item : in Long_Float) is
+ procedure W_LF (Stream : not null access RST; Item : in Long_Float) is
I : constant Precision := Double;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -1321,7 +1321,7 @@ package body System.Stream_Attributes is
-- W_LI --
----------
- procedure W_LI (Stream : access RST; Item : in Long_Integer) is
+ procedure W_LI (Stream : not null access RST; Item : in Long_Integer) is
S : XDR_S_LI;
U : Unsigned;
X : Long_Unsigned;
@@ -1367,7 +1367,7 @@ package body System.Stream_Attributes is
-- W_LLF --
-----------
- procedure W_LLF (Stream : access RST; Item : in Long_Long_Float) is
+ procedure W_LLF (Stream : not null access RST; Item : in Long_Long_Float) is
I : constant Precision := Quadruple;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -1462,7 +1462,9 @@ package body System.Stream_Attributes is
-- W_LLI --
-----------
- procedure W_LLI (Stream : access RST; Item : in Long_Long_Integer) is
+ procedure W_LLI (Stream : not null access RST;
+ Item : in Long_Long_Integer)
+ is
S : XDR_S_LLI;
U : Unsigned;
X : Long_Long_Unsigned;
@@ -1508,7 +1510,8 @@ package body System.Stream_Attributes is
-- W_LLU --
-----------
- procedure W_LLU (Stream : access RST; Item : in Long_Long_Unsigned) is
+ procedure W_LLU (Stream : not null access RST;
+ Item : in Long_Long_Unsigned) is
S : XDR_S_LLU;
U : Unsigned;
X : Long_Long_Unsigned := Item;
@@ -1545,7 +1548,7 @@ package body System.Stream_Attributes is
-- W_LU --
----------
- procedure W_LU (Stream : access RST; Item : in Long_Unsigned) is
+ procedure W_LU (Stream : not null access RST; Item : in Long_Unsigned) is
S : XDR_S_LU;
U : Unsigned;
X : Long_Unsigned := Item;
@@ -1581,7 +1584,7 @@ package body System.Stream_Attributes is
-- W_SF --
----------
- procedure W_SF (Stream : access RST; Item : in Short_Float) is
+ procedure W_SF (Stream : not null access RST; Item : in Short_Float) is
I : constant Precision := Single;
E_Size : Integer renames Fields (I).E_Size;
E_Bias : Integer renames Fields (I).E_Bias;
@@ -1663,7 +1666,7 @@ package body System.Stream_Attributes is
-- W_SI --
----------
- procedure W_SI (Stream : access RST; Item : in Short_Integer) is
+ procedure W_SI (Stream : not null access RST; Item : in Short_Integer) is
S : XDR_S_SI;
U : XDR_SU;
@@ -1697,7 +1700,10 @@ package body System.Stream_Attributes is
-- W_SSI --
-----------
- procedure W_SSI (Stream : access RST; Item : in Short_Short_Integer) is
+ procedure W_SSI
+ (Stream : not null access RST;
+ Item : in Short_Short_Integer)
+ is
S : XDR_S_SSI;
U : XDR_SSU;
@@ -1724,9 +1730,12 @@ package body System.Stream_Attributes is
-- W_SSU --
-----------
- procedure W_SSU (Stream : access RST; Item : in Short_Short_Unsigned) is
+ procedure W_SSU
+ (Stream : not null access RST;
+ Item : in Short_Short_Unsigned)
+ is
+ U : constant XDR_SSU := XDR_SSU (Item);
S : XDR_S_SSU;
- U : XDR_SSU := XDR_SSU (Item);
begin
S (1) := SE (U);
@@ -1738,7 +1747,7 @@ package body System.Stream_Attributes is
-- W_SU --
----------
- procedure W_SU (Stream : access RST; Item : in Short_Unsigned) is
+ procedure W_SU (Stream : not null access RST; Item : in Short_Unsigned) is
S : XDR_S_SU;
U : XDR_SU := XDR_SU (Item);
@@ -1763,7 +1772,7 @@ package body System.Stream_Attributes is
-- W_U --
---------
- procedure W_U (Stream : access RST; Item : in Unsigned) is
+ procedure W_U (Stream : not null access RST; Item : in Unsigned) is
S : XDR_S_U;
U : XDR_U := XDR_U (Item);
@@ -1788,7 +1797,7 @@ package body System.Stream_Attributes is
-- W_WC --
----------
- procedure W_WC (Stream : access RST; Item : in Wide_Character) is
+ procedure W_WC (Stream : not null access RST; Item : in Wide_Character) is
S : XDR_S_WC;
U : XDR_WC;