aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/ada/acats/support/fdd2a00.a
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/ada/acats/support/fdd2a00.a')
-rw-r--r--gcc/testsuite/ada/acats/support/fdd2a00.a149
1 files changed, 0 insertions, 149 deletions
diff --git a/gcc/testsuite/ada/acats/support/fdd2a00.a b/gcc/testsuite/ada/acats/support/fdd2a00.a
deleted file mode 100644
index 43a11101d61..00000000000
--- a/gcc/testsuite/ada/acats/support/fdd2a00.a
+++ /dev/null
@@ -1,149 +0,0 @@
--- FDD2A00.A
---
--- Grant of Unlimited Rights
---
--- The Ada Conformity Assessment Authority (ACAA) holds unlimited
--- rights in the software and documentation contained herein. Unlimited
--- rights are the same as those granted by the U.S. Government for older
--- parts of the Ada Conformity Assessment Test Suite, and are defined
--- in DFAR 252.227-7013(a)(19). By making this public release, the ACAA
--- intends to confer upon all recipients unlimited rights equal to those
--- held by the ACAA. These rights include rights to use, duplicate,
--- release or disclose the released technical data and computer software
--- in whole or in part, in any manner and for any purpose whatsoever, and
--- to have or permit others to do so.
---
--- DISCLAIMER
---
--- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--- PARTICULAR PURPOSE OF SAID MATERIAL.
---
---
--- FOUNDATION DESCRIPTION:
--- This foundation provides the basis for testing user-defined stream
--- attributes. It provides operations which count calls to stream
--- attributes.
---
--- CHANGE HISTORY:
--- 30 JUL 2001 PHL Initial version.
--- 5 DEC 2001 RLB Reformatted for ACATS.
---
-
-with Ada.Streams;
-use Ada.Streams;
-package FDD2A00 is
-
- type Kinds is (Read, Write, Input, Output);
- type Counts is array (Kinds) of Natural;
-
-
- type My_Stream (Size : Stream_Element_Count) is new Root_Stream_Type with
- record
- First : Stream_Element_Offset := 1;
- Last : Stream_Element_Offset := 0;
- Contents : Stream_Element_Array (1 .. Size);
- end record;
-
- procedure Clear (Stream : in out My_Stream);
-
- procedure Read (Stream : in out My_Stream;
- Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset);
-
- procedure Write (Stream : in out My_Stream; Item : in Stream_Element_Array);
-
-
- generic
- type T (<>) is limited private;
- with procedure Actual_Write
- (Stream : access Root_Stream_Type'Class; Item : T);
- with function Actual_Input
- (Stream : access Root_Stream_Type'Class) return T;
- with procedure Actual_Read (Stream : access Root_Stream_Type'Class;
- Item : out T);
- with procedure Actual_Output
- (Stream : access Root_Stream_Type'Class; Item : T);
- package Counting_Stream_Ops is
-
- procedure Write (Stream : access Root_Stream_Type'Class; Item : T);
- function Input (Stream : access Root_Stream_Type'Class) return T;
- procedure Read (Stream : access Root_Stream_Type'Class; Item : out T);
- procedure Output (Stream : access Root_Stream_Type'Class; Item : T);
-
- function Get_Counts return Counts;
-
- end Counting_Stream_Ops;
-
-end FDD2A00;
-package body FDD2A00 is
-
- procedure Clear (Stream : in out My_Stream) is
- begin
- Stream.First := 1;
- Stream.Last := 0;
- end Clear;
-
- procedure Read (Stream : in out My_Stream;
- Item : out Stream_Element_Array;
- Last : out Stream_Element_Offset) is
- begin
- if Item'Length >= Stream.Last - Stream.First + 1 then
- Item (Item'First .. Item'First + Stream.Last - Stream.First) :=
- Stream.Contents (Stream.First .. Stream.Last);
- Last := Item'First + Stream.Last - Stream.First;
- Stream.First := Stream.Last + 1;
- else
- Item := Stream.Contents (Stream.First ..
- Stream.First + Item'Length - 1);
- Last := Item'Last;
- Stream.First := Stream.First + Item'Length;
- end if;
- end Read;
-
- procedure Write (Stream : in out My_Stream;
- Item : in Stream_Element_Array) is
- begin
- Stream.Contents (Stream.Last + 1 .. Stream.Last + Item'Length) := Item;
- Stream.Last := Stream.Last + Item'Length;
- end Write;
-
-
- package body Counting_Stream_Ops is
- Cnts : Counts := (others => 0);
-
- procedure Write (Stream : access Root_Stream_Type'Class; Item : T) is
- begin
- Cnts (Write) := Cnts (Write) + 1;
- Actual_Write (Stream, Item);
- end Write;
-
- function Input (Stream : access Root_Stream_Type'Class) return T is
- begin
- Cnts (Input) := Cnts (Input) + 1;
- return Actual_Input (Stream);
- end Input;
-
- procedure Read (Stream : access Root_Stream_Type'Class; Item : out T) is
- begin
- Cnts (Read) := Cnts (Read) + 1;
- Actual_Read (Stream, Item);
- end Read;
-
- procedure Output (Stream : access Root_Stream_Type'Class; Item : T) is
- begin
- Cnts (Output) := Cnts (Output) + 1;
- Actual_Output (Stream, Item);
- end Output;
-
- function Get_Counts return Counts is
- begin
- return Cnts;
- end Get_Counts;
-
- end Counting_Stream_Ops;
-
-end FDD2A00;