⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c61008a.ada

📁 用于进行gcc测试
💻 ADA
字号:
-- C61008A.ADA--                             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.--*-- CHECK THAT CONSTRAINT_ERROR IS NOT RAISED IF THE DEFAULT VALUE-- FOR A FORMAL PARAMETER DOES NOT SATISFY THE CONSTRAINTS OF THE -- SUBTYPE_INDICATION WHEN THE DECLARATION IS ELABORATED, ONLY WHEN-- THE DEFAULT IS USED.--   SUBTESTS ARE:--        (A) ARRAY PARAMETERS CONSTRAINED WITH NONSTATIC BOUNDS AND--            INITIALIZED WITH A STATIC AGGREGATE.--        (B) A SCALAR PARAMETER WITH NON-STATIC RANGE CONSTRAINTS--            INITIALIZED WITH A STATIC VALUE.--        (C) A RECORD PARAMETER WHOSE COMPONENTS HAVE NON-STATIC--            CONSTRAINTS INITIALIZED WITH A STATIC AGGREGATE.--        (D) AN ARRAY PARAMETER CONSTRAINED WITH STATIC BOUNDS ON SUB---            SCRIPTS AND NON-STATIC BOUNDS ON COMPONENTS, INITIALIZED--            WITH A STATIC AGGREGATE.--        (E) A RECORD PARAMETER WITH A NON-STATIC CONSTRAINT--            INITIALIZED WITH A STATIC AGGREGATE.-- DAS  1/20/81-- SPS 10/26/82-- VKG 1/13/83-- SPS 2/9/83-- BHS 7/9/84WITH REPORT;PROCEDURE C61008A IS     USE REPORT;BEGIN     TEST ("C61008A", "CHECK THAT CONSTRAINT_ERROR IS NOT RAISED IF " &                      "AN INITIALIZATION VALUE DOES NOT SATISFY " &                      "CONSTRAINTS ON A FORMAL PARAMETER");     --------------------------------------------------     DECLARE -- (A)          PROCEDURE PA (I1, I2 : INTEGER) IS               TYPE A1 IS ARRAY (1..I1,1..I2) OF INTEGER;               PROCEDURE PA1 (A : A1 := ((1,0),(0,1))) IS               BEGIN                    FAILED ("BODY OF PA1 EXECUTED");               EXCEPTION                    WHEN OTHERS =>                         FAILED ("EXCEPTION RAISED IN PA1");               END PA1;          BEGIN               PA1;          EXCEPTION               WHEN CONSTRAINT_ERROR =>                    NULL;               WHEN OTHERS =>                    FAILED ("WRONG EXCEPTION RAISED - PA1");          END PA;     BEGIN   -- (A)          PA (IDENT_INT(1), IDENT_INT(10));     EXCEPTION          WHEN OTHERS =>               FAILED ("EXCEPTION RAISED IN CALL TO PA");     END;    -- (A)     --------------------------------------------------     DECLARE -- (B)          PROCEDURE PB (I1, I2 : INTEGER) IS               SUBTYPE INT IS INTEGER RANGE I1..I2;               PROCEDURE PB1 (I : INT := -1) IS               BEGIN                    FAILED ("BODY OF PB1 EXECUTED");               EXCEPTION                    WHEN OTHERS =>                         FAILED ("EXCEPTION RAISED IN PB1");               END PB1;          BEGIN               PB1;          EXCEPTION               WHEN CONSTRAINT_ERROR =>                    NULL;               WHEN OTHERS =>                    FAILED ("WRONG EXCEPTION RAISED - PB1");          END PB;     BEGIN   -- (B)          PB (IDENT_INT(0), IDENT_INT(63));     EXCEPTION          WHEN OTHERS =>               FAILED ("EXCEPTION RAISED IN CALL TO PB");     END;    -- (B)     --------------------------------------------------     DECLARE -- (C)          PROCEDURE PC (I1, I2 : INTEGER) IS               TYPE AR1 IS ARRAY (1..3) OF INTEGER RANGE I1..I2;                TYPE REC IS                    RECORD                         I : INTEGER RANGE I1..I2;                         A : AR1 ;                    END RECORD;               PROCEDURE PC1 (R : REC := (-3,(0,2,3))) IS               BEGIN                    FAILED ("BODY OF PC1 EXECUTED");               EXCEPTION                    WHEN OTHERS =>                         FAILED ("EXCEPTION RAISED IN PC1");               END PC1;          BEGIN               PC1;          EXCEPTION               WHEN CONSTRAINT_ERROR =>                    NULL;               WHEN OTHERS =>                    FAILED ("WRONG EXCEPTION RAISED - PC1");          END PC;     BEGIN   -- (C)          PC (IDENT_INT(1), IDENT_INT(3));     EXCEPTION          WHEN OTHERS =>               FAILED ("EXCEPTION RAISED IN CALL TO PC");     END;    -- (C)     --------------------------------------------------     DECLARE -- (D1)          PROCEDURE P1D (I1, I2 : INTEGER) IS               TYPE A1 IS ARRAY (1..2,1..2) OF INTEGER RANGE I1..I2;               PROCEDURE P1D1 (A : A1 := ((1,-1),(1,2))) IS               BEGIN                    FAILED ("BODY OF P1D1 EXECUTED");               EXCEPTION                    WHEN OTHERS =>                         FAILED ("EXCEPTION RAISED IN P1D1");               END P1D1;          BEGIN               P1D1;          EXCEPTION               WHEN CONSTRAINT_ERROR =>                    NULL;               WHEN OTHERS =>                    FAILED ("WRONG EXCEPTION RAISED - P1D1");          END P1D;     BEGIN   -- (D1)          P1D (IDENT_INT(1), IDENT_INT(2));     EXCEPTION          WHEN OTHERS =>               FAILED ("EXCEPTION RAISED IN CALL TO P1D");     END;    -- (D1)     --------------------------------------------------     DECLARE -- (D2)          PROCEDURE P2D (I1, I2 : INTEGER) IS                              TYPE A1 IS ARRAY (1..2,1..2) OF INTEGER RANGE I1..I2;               PROCEDURE P2D1 (A : A1 := (3..4 => (1,2))) IS               BEGIN                    FAILED ("BODY OF P2D1 EXECUTED");               EXCEPTION                    WHEN OTHERS =>                         FAILED ("EXCEPTION RAISED IN P2D1");               END P2D1;          BEGIN               P2D1;          EXCEPTION               WHEN CONSTRAINT_ERROR =>                    NULL;               WHEN OTHERS =>                    FAILED ("WRONG EXCEPTION RAISED - P2D1");          END P2D;     BEGIN  -- (D2)          P2D (IDENT_INT(1), IDENT_INT(2));     EXCEPTION          WHEN OTHERS =>               FAILED ("EXCEPTION RAISED IN CALL TO P2D");     END;   -- (D2)     --------------------------------------------------     DECLARE -- (E)          PROCEDURE PE (I1, I2 : INTEGER) IS               SUBTYPE INT IS INTEGER RANGE 0..10;               TYPE ARR IS ARRAY (1..3) OF INT;               TYPE REC (I : INT) IS                    RECORD                         A : ARR;                    END RECORD;               SUBTYPE REC4 IS REC(I1);               PROCEDURE PE1 (R : REC4 := (3,(1,2,3))) IS               BEGIN                    FAILED ("BODY OF PE1 EXECUTED");               EXCEPTION                    WHEN OTHERS =>                         FAILED ("EXCEPTION RAISED IN PE1");               END PE1;          BEGIN               PE1;          EXCEPTION               WHEN CONSTRAINT_ERROR =>                    NULL;               WHEN OTHERS =>                    FAILED ("WRONG EXCEPTION RAISED - PE1");          END PE;     BEGIN   -- (E)          PE (IDENT_INT(4), IDENT_INT(10));     EXCEPTION          WHEN OTHERS =>               FAILED ("EXCEPTION RAISED IN CALL TO PE");     END;    -- (E)     --------------------------------------------------     RESULT;END C61008A;

⌨️ 快捷键说明

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