diff options
Diffstat (limited to 'gcc/ada/s-stratt.ads')
-rw-r--r-- | gcc/ada/s-stratt.ads | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/gcc/ada/s-stratt.ads b/gcc/ada/s-stratt.ads index 926c6f6a0eb..a62feba078f 100644 --- a/gcc/ada/s-stratt.ads +++ b/gcc/ada/s-stratt.ads @@ -6,7 +6,7 @@ -- -- -- S p e c -- -- -- --- Copyright (C) 1992-2000 Free Software Foundation, Inc. +-- Copyright (C) 1992-2003 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- -- @@ -53,6 +53,8 @@ pragma Preelaborate (Stream_Attributes); subtype RST is Ada.Streams.Root_Stream_Type'Class; + subtype SEC is Ada.Streams.Stream_Element_Count; + -- Enumeration types are usually transferred using the routine for the -- corresponding integer. The exception is that special routines are -- provided for Boolean and the character types, in case the protocol @@ -148,6 +150,28 @@ pragma Preelaborate (Stream_Attributes); procedure W_U (Stream : access RST; Item : in UST.Unsigned); procedure W_WC (Stream : access RST; Item : in Wide_Character); + ---------------------------- + -- Composite Input/Output -- + ---------------------------- + + -- The following Boolean constant is defined and set to True only if the + -- stream representation of a series of elementary items of the same + -- type (one of the types handled by the above procedures) has the same + -- representation as an array of such items in memory. This allows such + -- a series of items to be read or written as a block, instead of + -- element by element. + + -- If the stream representation does not have this property for all the + -- above types, then this constant can be omitted or set to False, + -- and the front end will generate element-by-element operations. + + -- This interface assumes that a Stream_Element has the same size as + -- a Storage_Unit. If that is not the case, then this flag should + -- also be omitted (or set to False). + + Block_Stream_Ops_OK : constant Boolean := True; + -- Set to False if block stream operations not permitted + private pragma Inline (I_AD); pragma Inline (I_AS); |