From 5e804c9fcd95af1c25f80cb166cfa2556843cdad Mon Sep 17 00:00:00 2001 From: Javier Miranda Date: Tue, 15 Nov 2005 15:04:34 +0100 Subject: [PATCH] s-finroo.ads, [...] (Read): Addition of "not null" to the anonymous access. 2005-11-14 Javier Miranda * 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. From-SVN: r107009 --- gcc/ada/s-finroo.adb | 12 +++--- gcc/ada/s-finroo.ads | 11 ++++-- gcc/ada/s-stratt.adb | 92 ++++++++++++++++++++++++++------------------ gcc/ada/s-stratt.ads | 81 ++++++++++++++++++++------------------ gcc/ada/s-strxdr.adb | 87 ++++++++++++++++++++++------------------- 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; -- 2.30.2