-- LXH40031.A -- -- Grant of Unlimited Rights -- -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687 and -- F08630-91-C-0015, 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: -- See file LXH40033.AM for details on this test -- -- TEST DESCRIPTION: -- See file LXH40033.AM for details on this test -- -- SPECIAL REQUIREMENTS: -- See file LXH40033.AM for details on this test -- -- TEST FILES: -- This test consists of the following files: -- -- LXH40030.A -- => LXH40031.A -- LXH40032.A -- LXH40033.AM -- -- APPLICABILITY CRITERIA: -- See file LXH40033.AM for details on this test -- -- PASS/FAIL CRITERIA: -- See file LXH40033.AM for details on this test -- -- CHANGE HISTORY: -- 20 MAR 96 SAIC Initial version -- --! ----------------------------------------------------------------- LXH4003_0 generic type Stuff is private; type Reference is access Stuff; procedure LXH4003_0( R: in out Reference; S: Stuff ); procedure LXH4003_0( R: in out Reference; S: Stuff ) is begin if R /= null then R := null; end if; end LXH4003_0; ----------------------------------------------------------------- LXH4003_1 with LXH4003_0; package LXH4003_1 is type Objects is tagged record Name : String(1..20); Location : Natural; end record; type Pointers is access Objects; end LXH4003_1; procedure LXH4003_1.Instance is new LXH4003_0( Objects, Pointers ); -- OK -- library level instance ----------------------------------------------------------------- LXH4003_2 package LXH4003_2 is type Item; type List_P is access all Item; type Item is record Data : Natural; Next : List_P; end record; Global_List : List_P := new Item'(0,new Item'(1,null)); -- OK -- non-local allocator procedure Build_OK_List; private Item_A, Item_B : aliased Item; List_C, List_D : List_P; end LXH4003_2; -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- with LXH4003_0; package body LXH4003_2 is procedure Build_OK_List is begin List_C := Item_A'Access; -- OK List_C.Next := Item_B'Access; -- OK List_D := Item_A'Unchecked_Access; -- OK List_D.Next := Item_B'Unchecked_Access; -- OK end Build_OK_List; procedure Instance is new LXH4003_0( Item, List_P ); -- OK -- library level instance end LXH4003_2;