aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/ada/acats/tests/c3/c390002.a
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/ada/acats/tests/c3/c390002.a')
-rw-r--r--gcc/testsuite/ada/acats/tests/c3/c390002.a165
1 files changed, 0 insertions, 165 deletions
diff --git a/gcc/testsuite/ada/acats/tests/c3/c390002.a b/gcc/testsuite/ada/acats/tests/c3/c390002.a
deleted file mode 100644
index b3d11afed26..00000000000
--- a/gcc/testsuite/ada/acats/tests/c3/c390002.a
+++ /dev/null
@@ -1,165 +0,0 @@
--- C390002.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 tagged base type may be declared, and derived
--- from in simple, private and extended forms. (Overlaps with C390B04)
--- Check that the package Ada.Tags is present and correctly implemented.
--- Check for the correct operation of Expanded_Name, External_Tag and
--- Internal_Tag within that package. Check that the exception Tag_Error
--- is correctly raised on calling Internal_Tag with bad input.
---
--- TEST DESCRIPTION:
--- This test declares a tagged type, and derives three types from it.
--- These types are then used to test the presence and function of the
--- package Ada.Tags.
---
---
--- CHANGE HISTORY:
--- 06 Dec 94 SAIC ACVC 2.0
--- 19 Dec 94 SAIC Removed RM references from objective text.
--- 27 Jan 96 SAIC Update RM references for 2.1
---
---!
-
-with Report;
-with Ada.Tags;
-
-procedure C390002 is
-
- package Vehicle is
-
- type Object is tagged limited private; -- ancestor type
- procedure Create( The_Vehicle : in out Object; Wheels : in Natural );
- function Wheels( The_Vehicle : Object ) return Natural;
-
- private
-
- type Object is tagged limited record
- Wheel_Count : Natural := 0;
- end record;
-
- end Vehicle;
-
- package Motivators is
-
- type Bicycle is new Vehicle.Object with null record; -- simple
-
- type Car is new Vehicle.Object with record -- extended
- Convertible : Boolean;
- end record;
-
- type Truck is new Vehicle.Object with private; -- private
-
- private
-
- type Truck is new Vehicle.Object with record
- Air_Horn : Boolean;
- end record;
-
- end Motivators;
-
- package body Vehicle is
-
- procedure Create( The_Vehicle : in out Object; Wheels : in Natural ) is
- begin
- The_Vehicle.Wheel_Count := Wheels;
- end Create;
-
- function Wheels( The_Vehicle : Object ) return Natural is
- begin
- return The_Vehicle.Wheel_Count;
- end Wheels;
-
- end Vehicle;
-
- function TC_ID_Tag( Tag : in Ada.Tags.Tag ) return Ada.Tags.Tag is
- begin
- return Ada.Tags.Internal_Tag( Ada.Tags.External_Tag( Tag ) );
- Report.Comment("This message intentionally blank.");
- end TC_ID_Tag;
-
- procedure Check_Tags( Machine : in Vehicle.Object'Class;
- Expected_Name : in String;
- External_Tag : in String ) is
- The_Tag : constant Ada.Tags.Tag := Machine'Tag;
- use type Ada.Tags.Tag;
- begin
- if Ada.Tags.Expanded_Name(The_Tag) /= Expected_Name then
- Report.Failed ("Failed in Check_Tags, Expanded_Name "
- & Expected_Name);
- end if;
- if Ada.Tags.External_Tag(The_Tag) /= External_Tag then
- Report.Failed ("Failed in Check_Tags, External_Tag "
- & Expected_Name);
- end if;
- if Ada.Tags.Internal_Tag(External_Tag) /= The_Tag then
- Report.Failed ("Failed in Check_Tags, Internal_Tag "
- & Expected_Name);
- end if;
- end Check_Tags;
-
- procedure Check_Exception is
- Boeing_777_Id : Ada.Tags.Tag;
- begin
- Boeing_777_Id := Ada.Tags.Internal_Tag("!@#$%^:*\/?"" not a tag!");
- Report.Failed ("Failed in Check_Exception, no exception");
- Boeing_777_Id := TC_ID_Tag( Boeing_777_Id );
- exception
- when Ada.Tags.Tag_Error => null;
- when others =>
- Report.Failed ("Failed in Check_Exception, wrong exception");
- end Check_Exception;
-
- use Motivators;
- Two_Wheeler : Bicycle;
- Four_Wheeler : Car;
- Eighteen_Wheeler : Truck;
-
-begin -- Main test procedure.
-
- Report.Test ("C390002", "Check that a tagged type may be declared and " &
- "derived from in simple, private and extended forms. " &
- "Check package Ada.Tags" );
-
- Create( Two_Wheeler, 2 );
- Create( Four_Wheeler, 4 );
- Create( Eighteen_Wheeler, 18 );
-
- Check_Tags( Machine => Two_Wheeler,
- Expected_Name => "C390002.MOTIVATORS.BICYCLE",
- External_Tag => Bicycle'External_Tag );
- Check_Tags( Machine => Four_Wheeler,
- Expected_Name => "C390002.MOTIVATORS.CAR",
- External_Tag => Car'External_Tag );
- Check_Tags( Machine => Eighteen_Wheeler,
- Expected_Name => "C390002.MOTIVATORS.TRUCK",
- External_Tag => Truck'External_Tag );
-
- Check_Exception;
-
- Report.Result;
-
-end C390002;