aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/ada/acats/tests/ca/ca11008.a
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/ada/acats/tests/ca/ca11008.a')
-rw-r--r--gcc/testsuite/ada/acats/tests/ca/ca11008.a216
1 files changed, 0 insertions, 216 deletions
diff --git a/gcc/testsuite/ada/acats/tests/ca/ca11008.a b/gcc/testsuite/ada/acats/tests/ca/ca11008.a
deleted file mode 100644
index 1161fbe0c3a..00000000000
--- a/gcc/testsuite/ada/acats/tests/ca/ca11008.a
+++ /dev/null
@@ -1,216 +0,0 @@
--- CA11008.A
---
--- Grant of Unlimited Rights
---
--- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
--- unlimited rights in the software and documentation contained herein.
--- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making
--- this public release, the Government intends to confer upon all
--- recipients unlimited rights equal to those held by the Government.
--- 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.
---*
---
--- OBJECTIVE:
--- Check that a private child package can use entities declared in the
--- visible part of its parent unit.
---
--- TEST DESCRIPTION:
--- Declare a parent package containing types and objects used
--- by the system. Declare a private child package that uses the parent
--- components to provide functionality to the system.
---
--- The tagged file type defined in the parent has defaults for all
--- component fields. Prior to initialization, these values are checked
--- to ensure a correct start condition. The initial subprogram is
--- called, which utilizes the functionality provided in the private
--- child package. This subprogram changes the fields of the file object
--- to something other than the default values, and this process is then
--- verified at the conclusion of the test.
---
---
--- CHANGE HISTORY:
--- 06 Dec 94 SAIC ACVC 2.0
---
---!
-
-package CA11008_0 is -- Package OS.
-
- type File_Descriptor_Type is new Integer;
- type File_Name_Type is new String (1 .. 11);
- type Permission_Type is (None, User, System, Bypass);
- type File_Mode_Type is (Read_Only, Write_Only, Read_Write);
- type File_Status_Type is (Open, Closed);
-
- Default_Descriptor : constant File_Descriptor_Type := 0;
- Default_Permission : constant Permission_Type := None;
- Default_Mode : constant File_Mode_Type := Read_Only;
- Default_Status : constant File_Status_Type := Closed;
- Default_Filename : constant File_Name_Type := " ";
-
- Max_Files : constant File_Descriptor_Type := 100;
- Constant_Name : constant File_Name_Type := "AdaFileName";
- File_Counter : Integer := 0;
-
- type File_Type is tagged
- record
- Descriptor : File_Descriptor_Type := Default_Descriptor;
- Name : File_Name_Type := Default_Filename;
- Acct_Access : Permission_Type := Default_Permission;
- Mode : File_Mode_Type := Default_Mode;
- Current_Status : File_Status_Type := Default_Status;
- end record;
-
- type File_Array_Type is array (1 .. Max_Files) of File_Type;
-
- File_Table : File_Array_Type;
-
- --
-
- function Get_File_Name return File_Name_Type;
-
- function Initialize_File return File_Descriptor_Type;
-
-end CA11008_0; -- Package OS.
-
- --=================================================================--
-
--- Subprograms that perform the actual file operations are contained in a
--- private package so that they are not accessible to any client.
-
-private package CA11008_0.CA11008_1 is -- Package OS.Internals
-
- Private_File_Counter : Integer renames File_Counter; -- Parent
- -- object.
- function Initialize
- (File_Name : File_Name_Type := Get_File_Name; -- Parent function.
- File_Mode : File_Mode_Type := Read_Write) -- Parent literal.
- return File_Descriptor_Type; -- Parent type.
-
-end CA11008_0.CA11008_1; -- Package OS.Internals
-
- --=================================================================--
-
-package body CA11008_0.CA11008_1 is -- Package body OS.Internals
-
- function Next_Available_File return File_Descriptor_Type is
- begin
- Private_File_Counter := Private_File_Counter + 1;
- return (File_Descriptor_Type(File_Counter));
- end Next_Available_File;
- -----------------------------------------------------------------
- function Initialize
- (File_Name : File_Name_Type := Get_File_Name; -- Parent function
- File_Mode : File_Mode_Type := Read_Write) -- Parent literal
- return File_Descriptor_Type is -- Parent type
- Number : File_Descriptor_Type;
- begin
- Number := Next_Available_File;
- File_Table(Number).Descriptor := Number; -- Parent object
- File_Table(Number).Name := File_Name; -- Default parameter value
- File_Table(Number).Mode := File_Mode; -- Default parameter value
- File_Table(Number).Acct_Access := User;
- File_Table(Number).Current_Status := Open;
- return (Number);
- end Initialize;
-
-end CA11008_0.CA11008_1; -- Package body OS.Internals
-
- --=================================================================--
-
-with CA11008_0.CA11008_1; -- Private child package "withed" by
- -- parent body.
-
-package body CA11008_0 is -- Package body OS
-
- function Get_File_Name return File_Name_Type is
- begin
- return (Constant_Name); -- Of course if this was a real function, the
- end Get_File_Name; -- user would be asked to input a name, or
- -- there would be some type of similar process.
-
- -- This subprogram utilizes a call to a subprogram contained in a private
- -- child to perform the actual processing.
-
- function Initialize_File return File_Descriptor_Type is
- begin
- return (CA11008_0.CA11008_1.Initialize); -- No parameters are needed,
- -- since defaults have been
- -- provided.
- end Initialize_File;
-
-end CA11008_0; -- Package body OS
-
- --=================================================================--
-
-with CA11008_0; -- with Package OS.
-with Report;
-
-procedure CA11008 is
-
- package OS renames CA11008_0;
- use OS;
- Ada_File_Key : File_Descriptor_Type := Default_Descriptor;
-
-begin
-
- -- This test indicates one approach to file management operations.
- -- It is not intended to demonstrate full functionality, but rather
- -- that the use of a private child package can provide a solution
- -- to a user situation, that being the implementation of certain functions
- -- being provided in a child package, with the parent package body
- -- utilizing these implementations.
-
- Report.Test ("CA11008", "Check that a private child package can use " &
- "entities declared in the visible part of its " &
- "parent unit");
-
- -- Check initial conditions of the first entry in the file table.
- -- These are all default values provided in the declaration of the
- -- type File_Type.
-
- if (Ada_File_Key /= Default_Descriptor) or else
- (File_Table(1).Descriptor /= (Default_Descriptor) or
- (File_Table(1).Name /= Default_Filename)) or else
- (File_Table(1).Acct_Access /= (Default_Permission) or
- (File_Table(1).Mode /= Default_Mode)) or else
- (File_Table(1).Current_Status /= Default_Status)
- then
- Report.Failed ("Initial condition failure");
- end if;
-
- -- Call the initialization function. This will result in the resetting
- -- of the fields associated with the first entry in the File_Table (this
- -- is the first call of Initialize_File).
- -- No parameters are necessary for this call, due to the default values
- -- provided in the private child package routine Initialize.
-
- Ada_File_Key := Initialize_File;
-
- -- Verify that the initial conditions of the file table component have
- -- been properly modified by the initialization function.
-
- if not ((File_Table(1).Descriptor = Ada_File_Key) and then
- (File_Table(1).Name = Constant_Name) and then
- (File_Table(1).Acct_Access = User) and then
- not ((File_Table(1).Mode = Default_Mode) or else
- (File_Table(1).Current_Status = Default_Status)))
- then
- Report.Failed ("Initialization processing failure");
- end if;
-
- Report.Result;
-
-end CA11008;