aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/ada/acats/tests/c8/c854001.a
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/ada/acats/tests/c8/c854001.a')
-rw-r--r--gcc/testsuite/ada/acats/tests/c8/c854001.a277
1 files changed, 0 insertions, 277 deletions
diff --git a/gcc/testsuite/ada/acats/tests/c8/c854001.a b/gcc/testsuite/ada/acats/tests/c8/c854001.a
deleted file mode 100644
index 5a128ba69b1..00000000000
--- a/gcc/testsuite/ada/acats/tests/c8/c854001.a
+++ /dev/null
@@ -1,277 +0,0 @@
--- C854001.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 subprogram declaration can be completed by a
--- subprogram renaming declaration. In particular, check that such a
--- renaming-as-body can be given in a package body to complete a
--- subprogram declared in the package specification. Check that calls
--- to the subprogram invoke the body of the renamed subprogram. Check
--- that a renaming allows a copy of an inherited or predefined subprogram
--- before overriding it later. Check that renaming a dispatching
--- operation calls the correct body in case of overriding.
---
--- TEST DESCRIPTION:
--- This test declares a record type, an integer type, and a tagged type
--- with a set of operations in a package. A renaming of a predefined
--- equality operation of a tagged type is also defined in this package.
--- The predefined operation is overridden in the private part. In a
--- separate package, a subtype of the record type and integer type
--- are declared. Subset of the full set of operations for the record
--- and types is reexported using renamings-as-bodies. Other operations
--- are given explicit bodies. The test verifies that the appropriate
--- body is executed for each operation on the subtype.
---
---
--- CHANGE HISTORY:
--- 06 Dec 94 SAIC ACVC 2.0
--- 07 Nov 95 SAIC Update and repair for ACVC 2.0.1
---
---!
-
-package C854001_0 is
-
- type Component is (Op_Of_Type, Op_Of_Subtype, Initial_Value);
-
- type Root is record
- Called : Component := Op_Of_Subtype;
- end record;
-
- procedure Root_Proc (P: in out Root);
- procedure Over_Proc (P: in out Root);
-
- function Root_Func return Root;
- function Over_Func return Root;
-
- type Short_Int is range 1 .. 98;
-
- function "+" (P1, P2 : Short_Int) return Short_Int;
- function Name (P1, P2 : Short_Int) return Short_Int;
-
- type Tag_Type is tagged record
- C : Component := Initial_Value;
- end record;
- -- Inherits predefined operator "=" and others.
-
- function Predefined_Equal (P1, P2 : Tag_Type) return Boolean
- renames "=";
- -- Renames predefined operator "=" before overriding.
-
-private
- function "=" (P1, P2 : Tag_Type)
- return Boolean; -- Overrides predefined operator "=".
-
-
-end C854001_0;
-
-
- --==================================================================--
-
-
-package body C854001_0 is
-
- procedure Root_Proc (P: in out Root) is
- begin
- P.Called := Initial_Value;
- end Root_Proc;
-
- ---------------------------------------
- procedure Over_Proc (P: in out Root) is
- begin
- P.Called := Op_Of_Type;
- end Over_Proc;
-
- ---------------------------------------
- function Root_Func return Root is
- begin
- return (Called => Op_Of_Type);
- end Root_Func;
-
- ---------------------------------------
- function Over_Func return Root is
- begin
- return (Called => Initial_Value);
- end Over_Func;
-
- ---------------------------------------
- function "+" (P1, P2 : Short_Int) return Short_Int is
- begin
- return 15;
- end "+";
-
- ---------------------------------------
- function Name (P1, P2 : Short_Int) return Short_Int is
- begin
- return 47;
- end Name;
-
- ---------------------------------------
- function "=" (P1, P2 : Tag_Type) return Boolean is
- begin
- return False;
- end "=";
-
-end C854001_0;
-
- --==================================================================--
-
-
-with C854001_0;
-package C854001_1 is
-
- subtype Root_Subtype is C854001_0.Root;
- subtype Short_Int_Subtype is C854001_0.Short_Int;
-
- procedure Ren_Proc (P: in out Root_Subtype);
- procedure Same_Proc (P: in out Root_Subtype);
-
- function Ren_Func return Root_Subtype;
- function Same_Func return Root_Subtype;
-
- function Other_Name (P1, P2 : Short_Int_Subtype) return Short_Int_Subtype;
- function "-" (P1, P2 : Short_Int_Subtype) return Short_Int_Subtype;
-
- function User_Defined_Equal (P1, P2 : C854001_0.Tag_Type) return Boolean
- renames C854001_0."="; -- Executes body of the
- -- overriding declaration in
- -- the private part.
-end C854001_1;
-
-
- --==================================================================--
-
-
-with C854001_0;
-package body C854001_1 is
-
- --
- -- Renaming-as-body for procedure:
- --
-
- procedure Ren_Proc (P: in out Root_Subtype)
- renames C854001_0.Root_Proc;
- procedure Same_Proc (P: in out Root_Subtype)
- renames C854001_0.Over_Proc;
-
- --
- -- Renaming-as-body for function:
- --
-
- function Ren_Func return Root_Subtype renames C854001_0.Root_Func;
- function Same_Func return Root_Subtype renames C854001_0.Over_Func;
-
- function Other_Name (P1, P2 : Short_Int_Subtype) return Short_Int_Subtype
- renames C854001_0."+";
- function "-" (P1, P2 : Short_Int_Subtype) return Short_Int_Subtype
- renames C854001_0.Name;
-
-end C854001_1;
-
-
- --==================================================================--
-
-with C854001_0;
-with C854001_1; -- Subtype and associated operations.
-use C854001_1;
-
-with Report;
-
-procedure C854001 is
- Operand1 : Root_Subtype;
- Operand2 : Root_Subtype;
- Operand3 : Root_Subtype;
- Operand4 : Root_Subtype;
- Operand5 : Short_Int_Subtype := 55;
- Operand6 : Short_Int_Subtype := 46;
- Operand7 : Short_Int_Subtype;
- Operand8 : C854001_0.Tag_Type; -- Both Operand8 & Operand9 have
- Operand9 : C854001_0.Tag_Type; -- the same default values.
-
- -- Direct visibility to operator symbols
- use type C854001_0.Component;
- use type C854001_0.Short_Int;
-
-begin
- Report.Test ("C854001", "Check that a renaming-as-body can be given " &
- "in a package body to complete a subprogram " &
- "declared in the package specification. " &
- "Check that calls to the subprogram invoke " &
- "the body of the renamed subprogram");
-
- --
- -- Only operations of the subtype are available.
- --
-
- Ren_Proc (Operand1);
- if Operand1.Called /= C854001_0.Initial_Value then
- Report.Failed ("Error calling procedure Ren_Proc");
- end if;
-
- ---------------------------------------
- Same_Proc (Operand2);
- if Operand2.Called /= C854001_0.Op_Of_Type then
- Report.Failed ("Error calling procedure Same_Proc");
- end if;
-
- ---------------------------------------
- Operand3 := Ren_Func;
- if Operand3.Called /= C854001_0.Op_Of_Type then
- Report.Failed ("Error calling function Ren_Func");
- end if;
-
- ---------------------------------------
- Operand4 := Same_Func;
- if Operand4.Called /= C854001_0.Initial_Value then
- Report.Failed ("Error calling function Same_Func");
- end if;
-
- ---------------------------------------
- Operand7 := C854001_1."-" (Operand5, Operand6);
- if Operand7 /= 47 then
- Report.Failed ("Error calling function & ""-""");
- end if;
-
- ---------------------------------------
- Operand7 := Other_Name (Operand5, Operand6);
- if Operand7 /= 15 then
- Report.Failed ("Error calling function Other_Name");
- end if;
-
- ---------------------------------------
- -- Executes body of the overriding declaration in the private part
- -- of C854001_0.
- if User_Defined_Equal (Operand8, Operand9) then
- Report.Failed ("Error calling function User_Defined_Equal");
- end if;
-
- ---------------------------------------
- -- Executes predefined operation.
- if not C854001_0.Predefined_Equal (Operand8, Operand9) then
- Report.Failed ("Error calling function Predefined_Equal");
- end if;
-
- Report.Result;
-
-end C854001;