la140172.am

来自「linux下编程用 编译软件」· AM 代码 · 共 122 行

AM
122
字号
-- LA140172.AM----                             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 compilation unit may not depend semantically--      on two different versions of the same compilation unit.--      Check the case where a separate function semantically --      depends on a library level generic function that is changed.---- TEST DESCRIPTION:--      This test compiles a generic function, and a procedure that --      withs the function.  Then, a new version of the generic --      function body is compiled (in a separate file, simulating --      and editing modification to the unit).  Unless automatic --      recompilation is supported, this test should fail to link.  --      Otherwise, the test should recompile and link the correct --      version of the withed function and report "PASSED" at --      execution time.---- SPECIAL REQUIREMENTS:--      To build this test:--         1) Compile the file LA140170 (and include the results in the--            program library).--         2) Compile the file LA140171 (and include the results in the--            program library).--         3) Compile the file LA140172 (and include the results in the--            program library).--         4) Compile the file LA140173 (and include the results in the--            program library).--         5) Attempt to build an executable image.--         6) If an executable image results, run it.---- TEST FILES:--      This test consists of the following files:--         LA140170.A--         LA140171.A--      -> LA140172.AM--         LA140173.A---- PASS/FAIL CRITERIA:    --      The test passes if a link time error message reports that --      LA14017_1.Inc is missing or obsolete and no executable image--      results.  The test also passes if an executable image is produced--      and reports "PASSED" (in the case where the implementation supports--      automatic recompilation).            ------ CHANGE HISTORY:--     01 MAY 95   ACVC 1.12   LA5008M baseline version--     16 JUN 95   SAIC        Initial version--     03 MAR 96   SAIC        First revision after review--     17 NOV 96   SAIC        Modified unit names and prologue to conform--                             to coding conventions.--     07 DEC 96   SAIC        Moved LA14017_1 to a separate file.----!separate (LA14017_1)     -- This dependency must be resolved                          -- after LA140171.A is compiled.function Inc (Param : integer) return integer isbegin     return Param + integer (count_factor);end Inc;-----------------------------------------------------with Report; use Report;with LA14017_1;with LA14017_0;procedure LA140172 is     type Access_integer is access integer;     TC_local : integer := 0;     P1, P2 : LA14017_0.swap_type_ptr;     function New_swap is new LA14017_1(swap_type => integer);begin     Test ("LA14017", "Check that a compilation unit may not " &                      "depend semantically on two different " &                      "versions of the same compilation unit. " &                      "Check the case where a separate " &                      "function semantically depends on a " &                      "library level generic function that is " &                      "changed");     P1.p_all := 0;     P2 := P1;     TC_local := integer (New_swap(P1,P2,0));     if TC_local = 10 then          Failed ("Revised library level function not used");     elsif TC_local /= -10 then          Failed ("Incorrect value returned");     end if;     Result;end LA140172;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?