OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [c3/] [c3900051.a] - Blame information for rev 316

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 294 jeremybenn
-- C3900051.A
2
--
3
--                             Grant of Unlimited Rights
4
--
5
--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
6
--     F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained
7
--     unlimited rights in the software and documentation contained herein.
8
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
9
--     this public release, the Government intends to confer upon all
10
--     recipients unlimited rights  equal to those held by the Government.
11
--     These rights include rights to use, duplicate, release or disclose the
12
--     released technical data and computer software in whole or in part, in
13
--     any manner and for any purpose whatsoever, and to have or permit others
14
--     to do so.
15
--
16
--                                    DISCLAIMER
17
--
18
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
19
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
20
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
21
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
22
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
23
--     PARTICULAR PURPOSE OF SAID MATERIAL.
24
--*
25
--
26
-- OBJECTIVE:
27
--      See C3900053.AM.
28
--
29
-- TEST DESCRIPTION:
30
--      See C3900053.AM.
31
--
32
-- TEST FILES:
33
--      This test consists of the following files:
34
--
35
--         C3900050.A
36
--      => C3900051.A
37
--         C3900052.A
38
--         C3900053.AM
39
--
40
-- CHANGE HISTORY:
41
--      06 Dec 94   SAIC    ACVC 2.0
42
--      15 May 96   SAIC    ACVC 2.1: Modified prologue. Added pragma Elaborate
43
--                          for Ada.Calendar.
44
--
45
--!
46
 
47
with C3900050;       -- Alert system abstraction.
48
package C3900051 is  -- Extended alert system abstraction.
49
 
50
 
51
   type Low_Alert_Type is new C3900050.Alert_Type
52
     with private;                                      -- Private extension of
53
                                                        -- root tagged type.
54
 
55
   -- Inherits procedure Display from Alert_Type.
56
 
57
   procedure Handle (LA : in out Low_Alert_Type);       -- Override parent's
58
                                                        -- primitive subprog.
59
 
60
   procedure Set_Level (LA : in out Low_Alert_Type;     -- To be inherited by
61
                        L  : in     Integer);           -- all derivatives.
62
 
63
 
64
   -- The following functions are needed to verify the values of the
65
   -- extension's private components.
66
 
67
   function Get_Level (LA: Low_Alert_Type) return Integer;
68
 
69
   function Initial_Values_Okay (LA : in Low_Alert_Type)
70
     return Boolean;                                    -- Override parent's
71
                                                        -- primitive subprog.
72
 
73
   function Bad_Final_Values (LA : in Low_Alert_Type)   -- Override parent's
74
     return Boolean;                                    -- primitive subprog.
75
 
76
 
77
private
78
 
79
   type Low_Alert_Type is new C3900050.Alert_Type with record
80
      Level : Integer := 0;
81
   end record;
82
 
83
end C3900051;
84
 
85
 
86
     --==================================================================--
87
 
88
 
89
with Ada.Calendar;
90
pragma Elaborate (Ada.Calendar);
91
 
92
package body C3900051 is  -- Extended alert system abstraction.
93
 
94
   use C3900050;  -- Alert system abstraction.
95
 
96
 
97
   procedure Set_Level (LA : in out Low_Alert_Type;
98
                        L  : in     Integer) is
99
   begin
100
      LA.Level := L;
101
   end Set_Level;
102
 
103
 
104
   procedure Handle (LA : in out Low_Alert_Type) is
105
   begin
106
      Handle (Alert_Type (LA));   -- Call parent's operation (type conversion).
107
      Set_Level (LA, 1);          -- Call newly declared operation.
108
      Set_Display (Alert_Type(LA),
109
                   Teletype);     -- Call parent's operation (type conversion).
110
      Display (LA);
111
   end Handle;
112
 
113
 
114
   function Get_Level (LA: Low_Alert_Type) return Integer is
115
   begin
116
      return LA.Level;
117
   end Get_Level;
118
 
119
 
120
   function Initial_Values_Okay (LA : in Low_Alert_Type) return Boolean is
121
   begin
122
      -- Call parent's operation (type conversion).
123
      return (Initial_Values_Okay (Alert_Type (LA)) and
124
              LA.Level = 0);
125
   end Initial_Values_Okay;
126
 
127
 
128
   function Bad_Final_Values (LA : in Low_Alert_Type) return Boolean is
129
      use type Ada.Calendar.Time;
130
   begin
131
      return (Get_Time(LA)    /= Alert_Time or
132
              Get_Display(LA) /= Teletype or
133
              LA.Level        /= 1);
134
   end Bad_Final_Values;
135
 
136
 
137
end C3900051;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.