OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [ada/] [acats/] [tests/] [cc/] [cc1225a.tst] - Diff between revs 294 and 338

Only display areas with differences | Details | Blame | View Log

Rev 294 Rev 338
-- CC1225A.TST
-- CC1225A.TST
--                             Grant of Unlimited Rights
--                             Grant of Unlimited Rights
--
--
--     Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687,
--     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
--     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 in the software and documentation contained herein.
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
--     Unlimited rights are defined in DFAR 252.227-7013(a)(19).  By making
--     this public release, the Government intends to confer upon all
--     this public release, the Government intends to confer upon all
--     recipients unlimited rights  equal to those held by the Government.
--     recipients unlimited rights  equal to those held by the Government.
--     These rights include rights to use, duplicate, release or disclose the
--     These rights include rights to use, duplicate, release or disclose the
--     released technical data and computer software in whole or in part, in
--     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
--     any manner and for any purpose whatsoever, and to have or permit others
--     to do so.
--     to do so.
--
--
--                                    DISCLAIMER
--                                    DISCLAIMER
--
--
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--     DISCLOSED ARE AS IS.  THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--     SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A
--     PARTICULAR PURPOSE OF SAID MATERIAL.
--     PARTICULAR PURPOSE OF SAID MATERIAL.
--*
--*
-- OBJECTIVE:
-- OBJECTIVE:
--     CHECK, FOR A FORMAL ACCESS TYPE, THAT ALL ALLOWABLE OPERATIONS
--     CHECK, FOR A FORMAL ACCESS TYPE, THAT ALL ALLOWABLE OPERATIONS
--     ARE IMPLICITLY DECLARED.
--     ARE IMPLICITLY DECLARED.
-- MACRO SUBSTITUTION:
-- MACRO SUBSTITUTION:
--     $TASK_STORAGE_SIZE IS THE NUMBER OF STORAGE_UNITS REQUIRED FOR
--     $TASK_STORAGE_SIZE IS THE NUMBER OF STORAGE_UNITS REQUIRED FOR
--     THE ACTIVATION OF A TASK.
--     THE ACTIVATION OF A TASK.
-- HISTORY:
-- HISTORY:
--     BCB 03/29/88  CREATED ORIGINAL TEST.
--     BCB 03/29/88  CREATED ORIGINAL TEST.
--     RDH 04/09/90  ADDED 'STORAGE_SIZE CLAUSES.  CHANGED EXTENSION TO
--     RDH 04/09/90  ADDED 'STORAGE_SIZE CLAUSES.  CHANGED EXTENSION TO
--                   'TST'.
--                   'TST'.
--     LDC 09/26/90  REMOVED 'USE PACK' AFTER THE WITH SINCE IT ISN'T
--     LDC 09/26/90  REMOVED 'USE PACK' AFTER THE WITH SINCE IT ISN'T
--                   NEEDED, ADDED CHECK FOR NULL AFTER ASSIGMENT TO
--                   NEEDED, ADDED CHECK FOR NULL AFTER ASSIGMENT TO
--                   NULL, ADDED CHECKS FOR OTHER RELATION OPERATORS,
--                   NULL, ADDED CHECKS FOR OTHER RELATION OPERATORS,
--                   CHANGED CHECK FOR 'ADDRESS TO A PROCEDURE CALL.
--                   CHANGED CHECK FOR 'ADDRESS TO A PROCEDURE CALL.
--     LDC 10/13/90  CHANGED CHECK FOR 'SIZE TO ONLY CHECK FOR
--     LDC 10/13/90  CHANGED CHECK FOR 'SIZE TO ONLY CHECK FOR
--                   AVAILABILITY.  CHANGED CHECK FOR 'ADDRESS TO A
--                   AVAILABILITY.  CHANGED CHECK FOR 'ADDRESS TO A
--                   MEMBERSHIP TEST.
--                   MEMBERSHIP TEST.
--     PWN 01/31/95  REMOVED INCONSISTENCIES WITH ADA 9X.
--     PWN 01/31/95  REMOVED INCONSISTENCIES WITH ADA 9X.
WITH REPORT; USE REPORT;
WITH REPORT; USE REPORT;
WITH SYSTEM; USE SYSTEM;
WITH SYSTEM; USE SYSTEM;
PROCEDURE CC1225A IS
PROCEDURE CC1225A IS
     TASK_STORAGE_SIZE : CONSTANT := $TASK_STORAGE_SIZE;
     TASK_STORAGE_SIZE : CONSTANT := $TASK_STORAGE_SIZE;
     TYPE AI IS ACCESS INTEGER;
     TYPE AI IS ACCESS INTEGER;
     TYPE ACCINTEGER IS ACCESS INTEGER;
     TYPE ACCINTEGER IS ACCESS INTEGER;
     TYPE REC IS RECORD
     TYPE REC IS RECORD
          COMP : INTEGER;
          COMP : INTEGER;
     END RECORD;
     END RECORD;
     TYPE DISCREC (DISC : INTEGER := 1) IS RECORD
     TYPE DISCREC (DISC : INTEGER := 1) IS RECORD
          COMPD : INTEGER;
          COMPD : INTEGER;
     END RECORD;
     END RECORD;
     TYPE AREC IS ACCESS REC;
     TYPE AREC IS ACCESS REC;
     TYPE ADISCREC IS ACCESS DISCREC;
     TYPE ADISCREC IS ACCESS DISCREC;
     TYPE ARR IS ARRAY(1..2,1..2) OF INTEGER;
     TYPE ARR IS ARRAY(1..2,1..2) OF INTEGER;
     TYPE ONEDIM IS ARRAY(1..10) OF INTEGER;
     TYPE ONEDIM IS ARRAY(1..10) OF INTEGER;
     TYPE AA IS ACCESS ARR;
     TYPE AA IS ACCESS ARR;
     TYPE AONEDIM IS ACCESS ONEDIM;
     TYPE AONEDIM IS ACCESS ONEDIM;
     TYPE ENUM IS (ONE, TWO, THREE);
     TYPE ENUM IS (ONE, TWO, THREE);
     TASK TYPE T IS
     TASK TYPE T IS
          ENTRY HERE(VAL : IN OUT INTEGER);
          ENTRY HERE(VAL : IN OUT INTEGER);
     END T;
     END T;
     TYPE ATASK IS ACCESS T;
     TYPE ATASK IS ACCESS T;
     TYPE ANOTHERTASK IS ACCESS T;
     TYPE ANOTHERTASK IS ACCESS T;
     FOR ANOTHERTASK'STORAGE_SIZE USE 2 * TASK_STORAGE_SIZE;
     FOR ANOTHERTASK'STORAGE_SIZE USE 2 * TASK_STORAGE_SIZE;
     TASK TYPE T1 IS
     TASK TYPE T1 IS
          ENTRY HERE1(ENUM)(VAL1 : IN OUT INTEGER);
          ENTRY HERE1(ENUM)(VAL1 : IN OUT INTEGER);
     END T1;
     END T1;
     TYPE ATASK1 IS ACCESS T1;
     TYPE ATASK1 IS ACCESS T1;
     TASK BODY T IS
     TASK BODY T IS
     BEGIN
     BEGIN
          ACCEPT HERE(VAL : IN OUT INTEGER) DO
          ACCEPT HERE(VAL : IN OUT INTEGER) DO
               VAL := VAL * 2;
               VAL := VAL * 2;
          END HERE;
          END HERE;
     END T;
     END T;
     TASK BODY T1 IS
     TASK BODY T1 IS
     BEGIN
     BEGIN
          SELECT
          SELECT
               ACCEPT HERE1(ONE)(VAL1 : IN OUT INTEGER) DO
               ACCEPT HERE1(ONE)(VAL1 : IN OUT INTEGER) DO
                    VAL1 := VAL1 * 1;
                    VAL1 := VAL1 * 1;
               END HERE1;
               END HERE1;
          OR
          OR
               ACCEPT HERE1(TWO)(VAL1 : IN OUT INTEGER) DO
               ACCEPT HERE1(TWO)(VAL1 : IN OUT INTEGER) DO
                    VAL1 := VAL1 * 2;
                    VAL1 := VAL1 * 2;
               END HERE1;
               END HERE1;
          OR
          OR
               ACCEPT HERE1(THREE)(VAL1 : IN OUT INTEGER) DO
               ACCEPT HERE1(THREE)(VAL1 : IN OUT INTEGER) DO
                    VAL1 := VAL1 * 3;
                    VAL1 := VAL1 * 3;
               END HERE1;
               END HERE1;
          END SELECT;
          END SELECT;
     END T1;
     END T1;
     GENERIC
     GENERIC
          TYPE FORM IS (<>);
          TYPE FORM IS (<>);
          TYPE ACCFORM IS ACCESS FORM;
          TYPE ACCFORM IS ACCESS FORM;
          TYPE ACC IS ACCESS INTEGER;
          TYPE ACC IS ACCESS INTEGER;
          TYPE ACCREC IS ACCESS REC;
          TYPE ACCREC IS ACCESS REC;
          TYPE ACCDISCREC IS ACCESS DISCREC;
          TYPE ACCDISCREC IS ACCESS DISCREC;
          TYPE ACCARR IS ACCESS ARR;
          TYPE ACCARR IS ACCESS ARR;
          TYPE ACCONE IS ACCESS ONEDIM;
          TYPE ACCONE IS ACCESS ONEDIM;
          TYPE ACCTASK IS ACCESS T;
          TYPE ACCTASK IS ACCESS T;
          TYPE ACCTASK1 IS ACCESS T1;
          TYPE ACCTASK1 IS ACCESS T1;
          TYPE ANOTHERTASK1 IS ACCESS T;
          TYPE ANOTHERTASK1 IS ACCESS T;
     PACKAGE P IS
     PACKAGE P IS
     END P;
     END P;
     PACKAGE BODY P IS
     PACKAGE BODY P IS
          AF : ACCFORM;
          AF : ACCFORM;
          TYPE DER_ACC IS NEW ACC;
          TYPE DER_ACC IS NEW ACC;
          A, B : ACC;
          A, B : ACC;
          DERA : DER_ACC;
          DERA : DER_ACC;
          R : ACCREC;
          R : ACCREC;
          DR : ACCDISCREC;
          DR : ACCDISCREC;
          C : ACCARR;
          C : ACCARR;
          D, E : ACCONE;
          D, E : ACCONE;
          F : ACCTASK;
          F : ACCTASK;
          G : ACCTASK1;
          G : ACCTASK1;
          INT : INTEGER := 5;
          INT : INTEGER := 5;
     BEGIN
     BEGIN
          TEST ("CC1225A", "CHECK, FOR A FORMAL ACCESS TYPE, THAT " &
          TEST ("CC1225A", "CHECK, FOR A FORMAL ACCESS TYPE, THAT " &
                           "ALL ALLOWABLE OPERATIONS ARE IMPLICITLY " &
                           "ALL ALLOWABLE OPERATIONS ARE IMPLICITLY " &
                           "DECLARED");
                           "DECLARED");
          IF AF'ADDRESS NOT IN ADDRESS THEN
          IF AF'ADDRESS NOT IN ADDRESS THEN
               FAILED ("IMPROPER RESULT FROM AF'ADDRESS TEST");
               FAILED ("IMPROPER RESULT FROM AF'ADDRESS TEST");
          END IF;
          END IF;
          DECLARE
          DECLARE
               AF_SIZE : INTEGER := ACCFORM'SIZE;
               AF_SIZE : INTEGER := ACCFORM'SIZE;
          BEGIN
          BEGIN
               IF AF_SIZE NOT IN INTEGER THEN
               IF AF_SIZE NOT IN INTEGER THEN
                    FAILED ("IMPROPER RESULT FROM AF'SIZE");
                    FAILED ("IMPROPER RESULT FROM AF'SIZE");
               END IF;
               END IF;
          END;
          END;
          IF ANOTHERTASK1'STORAGE_SIZE < TASK_STORAGE_SIZE THEN
          IF ANOTHERTASK1'STORAGE_SIZE < TASK_STORAGE_SIZE THEN
               FAILED ("IMPROPER VALUE FOR ANOTHERTASK1'STORAGE_SIZE");
               FAILED ("IMPROPER VALUE FOR ANOTHERTASK1'STORAGE_SIZE");
          END IF;
          END IF;
          B := NEW INTEGER'(25);
          B := NEW INTEGER'(25);
          A := B;
          A := B;
          IF A.ALL /= 25 THEN
          IF A.ALL /= 25 THEN
               FAILED ("IMPROPER VALUE FOR ASSIGNMENT OF VARIABLE " &
               FAILED ("IMPROPER VALUE FOR ASSIGNMENT OF VARIABLE " &
                       "OF A FORMAL ACCESS TYPE FROM ANOTHER " &
                       "OF A FORMAL ACCESS TYPE FROM ANOTHER " &
                       "VARIABLE OF A FORMAL ACCESS TYPE");
                       "VARIABLE OF A FORMAL ACCESS TYPE");
          END IF;
          END IF;
          A := NEW INTEGER'(10);
          A := NEW INTEGER'(10);
          IF A.ALL /= 10 THEN
          IF A.ALL /= 10 THEN
               FAILED ("IMPROPER VALUE FOR VARIABLE OF FORMAL ACCESS " &
               FAILED ("IMPROPER VALUE FOR VARIABLE OF FORMAL ACCESS " &
                       "TYPE");
                       "TYPE");
          END IF;
          END IF;
          IF A NOT IN ACC THEN
          IF A NOT IN ACC THEN
               FAILED ("IMPROPER RESULT FROM MEMBERSHIP TEST");
               FAILED ("IMPROPER RESULT FROM MEMBERSHIP TEST");
          END IF;
          END IF;
          B := ACC'(A);
          B := ACC'(A);
          IF B.ALL /= 10 THEN
          IF B.ALL /= 10 THEN
               FAILED ("IMPROPER VALUE FROM QUALIFICATION");
               FAILED ("IMPROPER VALUE FROM QUALIFICATION");
          END IF;
          END IF;
          DERA := NEW INTEGER'(10);
          DERA := NEW INTEGER'(10);
          A := ACC(DERA);
          A := ACC(DERA);
          IF A.ALL /= IDENT_INT(10) THEN
          IF A.ALL /= IDENT_INT(10) THEN
               FAILED ("IMPROPER VALUE FROM EXPLICIT CONVERSION");
               FAILED ("IMPROPER VALUE FROM EXPLICIT CONVERSION");
          END IF;
          END IF;
          IF A.ALL > IDENT_INT(10) THEN
          IF A.ALL > IDENT_INT(10) THEN
               FAILED ("IMPROPER VALUE USED IN LESS THAN");
               FAILED ("IMPROPER VALUE USED IN LESS THAN");
          END IF;
          END IF;
          IF A.ALL < IDENT_INT(10) THEN
          IF A.ALL < IDENT_INT(10) THEN
               FAILED ("IMPROPER VALUE USED IN GREATER THAN");
               FAILED ("IMPROPER VALUE USED IN GREATER THAN");
          END IF;
          END IF;
          IF A.ALL >= IDENT_INT(11) THEN
          IF A.ALL >= IDENT_INT(11) THEN
               FAILED ("IMPROPER VALUE USED IN LESS THAN OR EQUAL");
               FAILED ("IMPROPER VALUE USED IN LESS THAN OR EQUAL");
          END IF;
          END IF;
          IF A.ALL <= IDENT_INT(9) THEN
          IF A.ALL <= IDENT_INT(9) THEN
               FAILED ("IMPROPER VALUE USED IN GREATER THAN OR EQUAL");
               FAILED ("IMPROPER VALUE USED IN GREATER THAN OR EQUAL");
          END IF;
          END IF;
          IF NOT (A.ALL + A.ALL = IDENT_INT(20)) THEN
          IF NOT (A.ALL + A.ALL = IDENT_INT(20)) THEN
               FAILED ("IMPROPER VALUE FROM ADDITION");
               FAILED ("IMPROPER VALUE FROM ADDITION");
          END IF;
          END IF;
          IF NOT (A.ALL - IDENT_INT(2) = IDENT_INT(8)) THEN
          IF NOT (A.ALL - IDENT_INT(2) = IDENT_INT(8)) THEN
               FAILED ("IMPROPER VALUE FROM SUBTRACTION");
               FAILED ("IMPROPER VALUE FROM SUBTRACTION");
          END IF;
          END IF;
          IF NOT (A.ALL * IDENT_INT(3) = IDENT_INT(30)) THEN
          IF NOT (A.ALL * IDENT_INT(3) = IDENT_INT(30)) THEN
               FAILED ("IMPROPER VALUE FROM MULTIPLICATION");
               FAILED ("IMPROPER VALUE FROM MULTIPLICATION");
          END IF;
          END IF;
          IF NOT (A.ALL / IDENT_INT(3) = IDENT_INT(3)) THEN
          IF NOT (A.ALL / IDENT_INT(3) = IDENT_INT(3)) THEN
               FAILED ("IMPROPER VALUE FROM DIVISION");
               FAILED ("IMPROPER VALUE FROM DIVISION");
          END IF;
          END IF;
          IF NOT (A.ALL MOD IDENT_INT(3) = IDENT_INT(1)) THEN
          IF NOT (A.ALL MOD IDENT_INT(3) = IDENT_INT(1)) THEN
               FAILED ("IMPROPER VALUE FROM MODULO");
               FAILED ("IMPROPER VALUE FROM MODULO");
          END IF;
          END IF;
          IF NOT (A.ALL REM IDENT_INT(7) = IDENT_INT(3)) THEN
          IF NOT (A.ALL REM IDENT_INT(7) = IDENT_INT(3)) THEN
               FAILED ("IMPROPER VALUE FROM REMAINDER");
               FAILED ("IMPROPER VALUE FROM REMAINDER");
          END IF;
          END IF;
          IF NOT (A.ALL ** IDENT_INT(2) = IDENT_INT(100)) THEN
          IF NOT (A.ALL ** IDENT_INT(2) = IDENT_INT(100)) THEN
               FAILED ("IMPROPER VALUE FROM EXPONENTIATION");
               FAILED ("IMPROPER VALUE FROM EXPONENTIATION");
          END IF;
          END IF;
          IF NOT (+A.ALL = IDENT_INT(10)) THEN
          IF NOT (+A.ALL = IDENT_INT(10)) THEN
               FAILED ("IMPROPER VALUE FROM IDENTITY");
               FAILED ("IMPROPER VALUE FROM IDENTITY");
          END IF;
          END IF;
          IF NOT (-A.ALL = IDENT_INT(-10)) THEN
          IF NOT (-A.ALL = IDENT_INT(-10)) THEN
               FAILED ("IMPROPER VALUE FROM NEGATION");
               FAILED ("IMPROPER VALUE FROM NEGATION");
          END IF;
          END IF;
          A := NULL;
          A := NULL;
          IF A /= NULL THEN
          IF A /= NULL THEN
               FAILED ("IMPROPER VALUE FROM ACCESS SET TO NULL");
               FAILED ("IMPROPER VALUE FROM ACCESS SET TO NULL");
          END IF;
          END IF;
          IF A'ADDRESS NOT IN ADDRESS THEN
          IF A'ADDRESS NOT IN ADDRESS THEN
               FAILED ("IMPROPER RESULT FROM A'ADDRESS TEST");
               FAILED ("IMPROPER RESULT FROM A'ADDRESS TEST");
          END IF;
          END IF;
          DECLARE
          DECLARE
               ACC_SIZE : INTEGER := ACC'SIZE;
               ACC_SIZE : INTEGER := ACC'SIZE;
          BEGIN
          BEGIN
               IF ACC_SIZE NOT IN INTEGER THEN
               IF ACC_SIZE NOT IN INTEGER THEN
                    FAILED ("IMPROPER RESULT FROM ACC'SIZE");
                    FAILED ("IMPROPER RESULT FROM ACC'SIZE");
               END IF;
               END IF;
          END;
          END;
          R := NEW REC'(COMP => 5);
          R := NEW REC'(COMP => 5);
          IF NOT EQUAL(R.COMP,5) THEN
          IF NOT EQUAL(R.COMP,5) THEN
               FAILED ("IMPROPER VALUE FOR RECORD COMPONENT");
               FAILED ("IMPROPER VALUE FOR RECORD COMPONENT");
          END IF;
          END IF;
          DR := NEW DISCREC'(DISC => 1, COMPD => 5);
          DR := NEW DISCREC'(DISC => 1, COMPD => 5);
          IF NOT EQUAL(DR.DISC,1) OR NOT EQUAL(DR.COMPD,5) THEN
          IF NOT EQUAL(DR.DISC,1) OR NOT EQUAL(DR.COMPD,5) THEN
               FAILED ("IMPROPER VALUES FOR DISCRIMINATED RECORD " &
               FAILED ("IMPROPER VALUES FOR DISCRIMINATED RECORD " &
                       "COMPONENTS");
                       "COMPONENTS");
          END IF;
          END IF;
          C := NEW ARR'(1 => (1,2), 2 => (3,4));
          C := NEW ARR'(1 => (1,2), 2 => (3,4));
          IF C(1,1) /= 1 OR C(1,2) /= 2 OR C(2,1) /= 3 OR C(2,2) /= 4
          IF C(1,1) /= 1 OR C(1,2) /= 2 OR C(2,1) /= 3 OR C(2,2) /= 4
               THEN FAILED ("IMPROPER ARRAY COMPONENT VALUES");
               THEN FAILED ("IMPROPER ARRAY COMPONENT VALUES");
          END IF;
          END IF;
          D := NEW ONEDIM'(1,2,3,4,5,6,7,8,9,10);
          D := NEW ONEDIM'(1,2,3,4,5,6,7,8,9,10);
          E := NEW ONEDIM'(10,9,8,7,6,5,4,3,2,1);
          E := NEW ONEDIM'(10,9,8,7,6,5,4,3,2,1);
          D(1..5) := E(1..5);
          D(1..5) := E(1..5);
          IF D(1) /= 10 OR D(2) /= 9 OR D(3) /= 8
          IF D(1) /= 10 OR D(2) /= 9 OR D(3) /= 8
               OR D(4) /= 7 OR D(5) /= 6 THEN
               OR D(4) /= 7 OR D(5) /= 6 THEN
               FAILED ("IMPROPER RESULTS FROM SLICE ASSIGNMENT");
               FAILED ("IMPROPER RESULTS FROM SLICE ASSIGNMENT");
          END IF;
          END IF;
          IF C'FIRST /= 1 OR C'FIRST(2) /= 1 THEN
          IF C'FIRST /= 1 OR C'FIRST(2) /= 1 THEN
               FAILED ("IMPROPER LOWER BOUNDS FOR CONSTRAINED ARRAY");
               FAILED ("IMPROPER LOWER BOUNDS FOR CONSTRAINED ARRAY");
          END IF;
          END IF;
          IF C'LAST /= 2 OR C'LAST(2) /= 2 THEN
          IF C'LAST /= 2 OR C'LAST(2) /= 2 THEN
               FAILED ("IMPROPER UPPER BOUNDS FOR CONSTRAINED ARRAY");
               FAILED ("IMPROPER UPPER BOUNDS FOR CONSTRAINED ARRAY");
          END IF;
          END IF;
          IF 1 NOT IN C'RANGE THEN
          IF 1 NOT IN C'RANGE THEN
               FAILED ("IMPROPER RANGE FOR CONSTRAINED ARRAY - 1");
               FAILED ("IMPROPER RANGE FOR CONSTRAINED ARRAY - 1");
          END IF;
          END IF;
          IF 1 NOT IN C'RANGE(2) THEN
          IF 1 NOT IN C'RANGE(2) THEN
               FAILED ("IMPROPER RANGE FOR CONSTRAINED ARRAY - 2");
               FAILED ("IMPROPER RANGE FOR CONSTRAINED ARRAY - 2");
          END IF;
          END IF;
          IF C'LENGTH /= 2 THEN
          IF C'LENGTH /= 2 THEN
               FAILED ("IMPROPER NUMBER OF VALUES FOR CONSTRAINED " &
               FAILED ("IMPROPER NUMBER OF VALUES FOR CONSTRAINED " &
                       "ARRAY - 1");
                       "ARRAY - 1");
          END IF;
          END IF;
          IF C'LENGTH(2) /= 2 THEN
          IF C'LENGTH(2) /= 2 THEN
               FAILED ("IMPROPER NUMBER OF VALUES FOR CONSTRAINED " &
               FAILED ("IMPROPER NUMBER OF VALUES FOR CONSTRAINED " &
                       "ARRAY - 2");
                       "ARRAY - 2");
          END IF;
          END IF;
          F := NEW T;
          F := NEW T;
          F.HERE(INT);
          F.HERE(INT);
          IF NOT EQUAL(INT,IDENT_INT(10)) THEN
          IF NOT EQUAL(INT,IDENT_INT(10)) THEN
               FAILED ("IMPROPER RESULTS FROM ENTRY SELECTION");
               FAILED ("IMPROPER RESULTS FROM ENTRY SELECTION");
          END IF;
          END IF;
          G := NEW T1;
          G := NEW T1;
          G.HERE1(TWO)(INT);
          G.HERE1(TWO)(INT);
          IF NOT EQUAL(INT,IDENT_INT(20)) THEN
          IF NOT EQUAL(INT,IDENT_INT(20)) THEN
               FAILED ("IMPROPER RESULTS FROM FAMILY ENTRY SELECTION");
               FAILED ("IMPROPER RESULTS FROM FAMILY ENTRY SELECTION");
          END IF;
          END IF;
          RESULT;
          RESULT;
     END P;
     END P;
     PACKAGE PACK IS NEW P(INTEGER,ACCINTEGER,AI,AREC,ADISCREC,
     PACKAGE PACK IS NEW P(INTEGER,ACCINTEGER,AI,AREC,ADISCREC,
                           AA,AONEDIM,ATASK,ATASK1,ANOTHERTASK);
                           AA,AONEDIM,ATASK,ATASK1,ANOTHERTASK);
BEGIN
BEGIN
     NULL;
     NULL;
END CC1225A;
END CC1225A;
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.