aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/ada/acats/tests/c3/c393009.a
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/ada/acats/tests/c3/c393009.a')
-rw-r--r--gcc/testsuite/ada/acats/tests/c3/c393009.a170
1 files changed, 0 insertions, 170 deletions
diff --git a/gcc/testsuite/ada/acats/tests/c3/c393009.a b/gcc/testsuite/ada/acats/tests/c3/c393009.a
deleted file mode 100644
index 1353f9c37d4..00000000000
--- a/gcc/testsuite/ada/acats/tests/c3/c393009.a
+++ /dev/null
@@ -1,170 +0,0 @@
--- C393009.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.
---*
---
--- TEST OBJECTIVE:
--- Check that an extended type can be derived from an abstract type.
---
--- TEST DESCRIPTION:
--- Declare an abstract type in the specification of a generic package.
--- Instantiate the package and derive an extended type from the abstract
--- (instantiated) type; override all abstract operations; use all
--- inherited operations;
---
---
--- CHANGE HISTORY:
--- 06 Dec 94 SAIC ACVC 2.0
--- 14 Oct 95 SAIC Fixed for ACVC 2.0.1
---
---!
-
-with Report;
-procedure C393009 is
-
- package Display_Devices is
-
- type Display_Device_Enum is (None, TTY, Console, Big_Screen);
- Display : Display_Device_Enum := None;
-
- end Display_Devices;
-
---=======================================================================--
-
- generic
-
- type Generic_Status is (<>);
-
- type Serial_Type is (<>);
-
- package Alert_System is
-
- type Alert_Type (Serial : Serial_Type) is abstract tagged record
- Status : Generic_Status;
- end record;
-
- Next_Serial_Number : Serial_Type := Serial_Type'First;
-
- procedure Handle (A : in out Alert_Type) is abstract;
- -- abstract operation - must be overridden after instantiation
-
- procedure Display ( A : Alert_Type;
- On : Display_Devices.Display_Device_Enum);
- -- primitive operation of Alert_Type
- -- not required to be overridden
-
- function Get_Serial_Number (A : Alert_Type) return Serial_Type;
- -- primitive operation of Alert_Type
- -- not required to be overridden
-
- end Alert_System;
-
---=======================================================================--
-
- package body Alert_System is
-
- procedure Display ( A : in Alert_Type;
- On : Display_Devices.Display_Device_Enum) is
- begin
- Display_Devices.Display := On;
- end Display;
-
- function Get_Serial_Number (A : Alert_Type)
- return Serial_Type is
- begin
- return A.Serial;
- end Get_Serial_Number;
-
- end Alert_System;
-
---=======================================================================--
-
- package NCC_1701 is
-
- type Status_Kind is (Green, Yellow, Red);
- type Serial_Number_Type is new Integer range 1..Integer'Last;
-
- subtype Msg_Str is String (1..16);
- Alert_Msg : Msg_Str := "C393009 passed.";
- -- 123456789A123456
-
- package Alert_Pkg is new Alert_System (Status_Kind, Serial_Number_Type);
-
- type New_Alert_Type(Serial : Serial_Number_Type) is
- new Alert_Pkg.Alert_Type(Serial) with record
- Message : Msg_Str;
- end record;
-
- -- procedure Display is inherited by New_Alert_Type
-
- -- function Get_Serial_Number is inherited by New_Alert_Type
- procedure Handle (NA : in out New_Alert_Type); -- must be overridden
- procedure Init (NA : in out New_Alert_Type); -- new primitive
-
- NA : New_Alert_Type(Alert_Pkg.Next_Serial_Number);
- -- New_Alert_Type is not abstract, so an object of that
- -- type may be declared
-
- end NCC_1701;
-
- package body NCC_1701 is
-
- procedure Handle (NA : in out New_Alert_Type) is
- begin
- NA.Message := Alert_Msg;
- Display (NA, On => Display_Devices.TTY);
- end Handle;
-
- procedure Init (NA : in out New_Alert_Type) is -- new primitive operation
- begin -- for New_Alert_Type
- NA := (Serial=> NA.Serial, Status => Green, Message => (others => ' '));
- end Init;
-
- end NCC_1701;
-
- use NCC_1701;
- use type Display_Devices.Display_Device_Enum;
-
-begin
-
- Report.Test ("C393009", "Check that an extended type can be derived " &
- "from an abstract type");
-
- Init (NA);
- if (Get_Serial_Number (NA) /= 1)
- or (NA.Status /= Green)
- or (Display_Devices.Display /= Display_Devices.None) then
- Report.Failed ("Wrong Initialization");
- end if;
-
- Handle (NA);
- if (Get_Serial_Number (NA) /= 1)
- or (NA.Status /= Green)
- or (NA.Message /= Alert_Msg)
- or (Display_Devices.Display /= Display_Devices.TTY) then
- Report.Failed ("Wrong results from Handle");
- end if;
-
- Report.Result;
-
-end C393009;