-- CC1224A.ADA
|
-- CC1224A.ADA
|
|
|
-- 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:
|
-- FOR ARRAY TYPES WITH A NONLIMITED COMPONENT TYPE (OF A FORMAL
|
-- FOR ARRAY TYPES WITH A NONLIMITED COMPONENT TYPE (OF A FORMAL
|
-- AND NONFORMAL GENERIC TYPE), CHECK THAT THE FOLLOWING OPERATIONS
|
-- AND NONFORMAL GENERIC TYPE), CHECK THAT THE FOLLOWING OPERATIONS
|
-- ARE IMPLICITY DECLARED AND ARE, THEREFORE, AVAILABLE WITHIN THE
|
-- ARE IMPLICITY DECLARED AND ARE, THEREFORE, AVAILABLE WITHIN THE
|
-- GENERIC UNIT: ASSIGNMENT, THE OPERATION ASSOCIATED WITH
|
-- GENERIC UNIT: ASSIGNMENT, THE OPERATION ASSOCIATED WITH
|
-- AGGREGATE NOTATION, MEMBERSHIP TESTS, THE OPERATION ASSOCIATED
|
-- AGGREGATE NOTATION, MEMBERSHIP TESTS, THE OPERATION ASSOCIATED
|
-- WITH INDEXED COMPONENTS, QUALIFICATION, EXPLICIT CONVERSION,
|
-- WITH INDEXED COMPONENTS, QUALIFICATION, EXPLICIT CONVERSION,
|
-- 'SIZE, 'ADDRESS, 'FIRST, 'FIRST (N), 'LAST, 'LAST (N),
|
-- 'SIZE, 'ADDRESS, 'FIRST, 'FIRST (N), 'LAST, 'LAST (N),
|
-- 'RANGE, 'RANGE (N), 'LENGTH, 'LENGTH (N).
|
-- 'RANGE, 'RANGE (N), 'LENGTH, 'LENGTH (N).
|
|
|
-- HISTORY:
|
-- HISTORY:
|
-- R.WILLIAMS 10/6/86
|
-- R.WILLIAMS 10/6/86
|
-- EDWARD V. BERARD 8/10/90 ADDED CHECKS FOR MULTI-DIMENSIONAL
|
-- EDWARD V. BERARD 8/10/90 ADDED CHECKS FOR MULTI-DIMENSIONAL
|
-- ARRAYS
|
-- ARRAYS
|
-- LDC 10/10/90 CHANGED DECLARATIONS OF AD1 - AD6 TO PROCEDURE
|
-- LDC 10/10/90 CHANGED DECLARATIONS OF AD1 - AD6 TO PROCEDURE
|
-- CALLS OF FA1 - FA6 TO ADDRESS_CHECK AS SUGGESTED
|
-- CALLS OF FA1 - FA6 TO ADDRESS_CHECK AS SUGGESTED
|
-- BY THE CRG.
|
-- BY THE CRG.
|
-- PWN 01/31/95 REMOVED INCONSISTENCIES WITH ADA 9X.
|
-- PWN 01/31/95 REMOVED INCONSISTENCIES WITH ADA 9X.
|
|
|
WITH SYSTEM ;
|
WITH SYSTEM ;
|
WITH REPORT ;
|
WITH REPORT ;
|
|
|
PROCEDURE CC1224A IS
|
PROCEDURE CC1224A IS
|
|
|
SHORT_START : CONSTANT := -10 ;
|
SHORT_START : CONSTANT := -10 ;
|
SHORT_END : CONSTANT := 10 ;
|
SHORT_END : CONSTANT := 10 ;
|
|
|
TYPE SHORT_RANGE IS RANGE SHORT_START .. SHORT_END ;
|
TYPE SHORT_RANGE IS RANGE SHORT_START .. SHORT_END ;
|
SHORT_LENGTH : CONSTANT NATURAL := (SHORT_END - SHORT_START + 1) ;
|
SHORT_LENGTH : CONSTANT NATURAL := (SHORT_END - SHORT_START + 1) ;
|
|
|
MEDIUM_START : CONSTANT := 1 ;
|
MEDIUM_START : CONSTANT := 1 ;
|
MEDIUM_END : CONSTANT := 15 ;
|
MEDIUM_END : CONSTANT := 15 ;
|
|
|
TYPE MEDIUM_RANGE IS RANGE MEDIUM_START .. MEDIUM_END ;
|
TYPE MEDIUM_RANGE IS RANGE MEDIUM_START .. MEDIUM_END ;
|
MEDIUM_LENGTH : CONSTANT NATURAL :=
|
MEDIUM_LENGTH : CONSTANT NATURAL :=
|
(MEDIUM_END - MEDIUM_START + 1) ;
|
(MEDIUM_END - MEDIUM_START + 1) ;
|
|
|
TYPE MONTH_TYPE IS (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG,
|
TYPE MONTH_TYPE IS (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG,
|
SEP, OCT, NOV, DEC) ;
|
SEP, OCT, NOV, DEC) ;
|
TYPE DAY_TYPE IS RANGE 1 .. 31 ;
|
TYPE DAY_TYPE IS RANGE 1 .. 31 ;
|
TYPE YEAR_TYPE IS RANGE 1904 .. 2050 ;
|
TYPE YEAR_TYPE IS RANGE 1904 .. 2050 ;
|
TYPE DATE IS RECORD
|
TYPE DATE IS RECORD
|
MONTH : MONTH_TYPE ;
|
MONTH : MONTH_TYPE ;
|
DAY : DAY_TYPE ;
|
DAY : DAY_TYPE ;
|
YEAR : YEAR_TYPE ;
|
YEAR : YEAR_TYPE ;
|
END RECORD ;
|
END RECORD ;
|
|
|
TODAY : DATE := (AUG, 10, 1990) ;
|
TODAY : DATE := (AUG, 10, 1990) ;
|
|
|
TYPE FIRST_TEMPLATE IS ARRAY (SHORT_RANGE RANGE <>,
|
TYPE FIRST_TEMPLATE IS ARRAY (SHORT_RANGE RANGE <>,
|
MEDIUM_RANGE RANGE <>) OF DATE ;
|
MEDIUM_RANGE RANGE <>) OF DATE ;
|
|
|
TYPE SECOND_TEMPLATE IS ARRAY (SHORT_RANGE, MEDIUM_RANGE)
|
TYPE SECOND_TEMPLATE IS ARRAY (SHORT_RANGE, MEDIUM_RANGE)
|
OF DATE ;
|
OF DATE ;
|
|
|
FIRST_ARRAY : FIRST_TEMPLATE (-10 .. 10, 6 .. 10) ;
|
FIRST_ARRAY : FIRST_TEMPLATE (-10 .. 10, 6 .. 10) ;
|
SECOND_ARRAY : FIRST_TEMPLATE (0 .. 7, 1 .. 15) ;
|
SECOND_ARRAY : FIRST_TEMPLATE (0 .. 7, 1 .. 15) ;
|
THIRD_ARRAY : SECOND_TEMPLATE ;
|
THIRD_ARRAY : SECOND_TEMPLATE ;
|
FOURTH_ARRAY : SECOND_TEMPLATE ;
|
FOURTH_ARRAY : SECOND_TEMPLATE ;
|
|
|
SUBTYPE SUBINT IS INTEGER RANGE REPORT.IDENT_INT (1) ..
|
SUBTYPE SUBINT IS INTEGER RANGE REPORT.IDENT_INT (1) ..
|
REPORT.IDENT_INT (6);
|
REPORT.IDENT_INT (6);
|
|
|
TYPE ARRA IS ARRAY (SUBINT) OF SUBINT;
|
TYPE ARRA IS ARRAY (SUBINT) OF SUBINT;
|
A1 : ARRA := (REPORT.IDENT_INT (1) .. REPORT.IDENT_INT (6) => 1);
|
A1 : ARRA := (REPORT.IDENT_INT (1) .. REPORT.IDENT_INT (6) => 1);
|
A2 : ARRA := (A1'RANGE => 2);
|
A2 : ARRA := (A1'RANGE => 2);
|
|
|
TYPE ARRB IS ARRAY (SUBINT RANGE <>) OF DATE ;
|
TYPE ARRB IS ARRAY (SUBINT RANGE <>) OF DATE ;
|
A3 : ARRB (1 .. 6) :=
|
A3 : ARRB (1 .. 6) :=
|
(REPORT.IDENT_INT (1) .. REPORT.IDENT_INT (6) => TODAY);
|
(REPORT.IDENT_INT (1) .. REPORT.IDENT_INT (6) => TODAY);
|
|
|
TYPE ARRC IS ARRAY (SUBINT RANGE <>, SUBINT RANGE <>) OF SUBINT;
|
TYPE ARRC IS ARRAY (SUBINT RANGE <>, SUBINT RANGE <>) OF SUBINT;
|
A4 : CONSTANT ARRC := (1 .. 6 => (1 .. 6 => 4));
|
A4 : CONSTANT ARRC := (1 .. 6 => (1 .. 6 => 4));
|
|
|
TYPE ARRD IS ARRAY (SUBINT, SUBINT) OF SUBINT;
|
TYPE ARRD IS ARRAY (SUBINT, SUBINT) OF SUBINT;
|
A5 : ARRD := (A4'RANGE (1) => (A4'RANGE (2) => 5));
|
A5 : ARRD := (A4'RANGE (1) => (A4'RANGE (2) => 5));
|
|
|
TYPE ARRE IS ARRAY (SUBINT) OF DATE ;
|
TYPE ARRE IS ARRAY (SUBINT) OF DATE ;
|
A6 : ARRE := (A1'RANGE => TODAY);
|
A6 : ARRE := (A1'RANGE => TODAY);
|
|
|
FUNCTION "=" (LEFT : IN SYSTEM.ADDRESS ;
|
FUNCTION "=" (LEFT : IN SYSTEM.ADDRESS ;
|
RIGHT : IN SYSTEM.ADDRESS ) RETURN BOOLEAN
|
RIGHT : IN SYSTEM.ADDRESS ) RETURN BOOLEAN
|
RENAMES SYSTEM."=" ;
|
RENAMES SYSTEM."=" ;
|
|
|
GENERIC
|
GENERIC
|
|
|
TYPE T1 IS (<>);
|
TYPE T1 IS (<>);
|
TYPE T2 IS PRIVATE;
|
TYPE T2 IS PRIVATE;
|
X2 : T2;
|
X2 : T2;
|
|
|
TYPE FARR1 IS ARRAY (SUBINT) OF T1;
|
TYPE FARR1 IS ARRAY (SUBINT) OF T1;
|
FA1 : FARR1;
|
FA1 : FARR1;
|
|
|
TYPE FARR2 IS ARRAY (SUBINT) OF SUBINT;
|
TYPE FARR2 IS ARRAY (SUBINT) OF SUBINT;
|
FA2 : FARR2;
|
FA2 : FARR2;
|
|
|
TYPE FARR3 IS ARRAY (SUBINT RANGE <>) OF T2;
|
TYPE FARR3 IS ARRAY (SUBINT RANGE <>) OF T2;
|
FA3 : FARR3;
|
FA3 : FARR3;
|
|
|
TYPE FARR4 IS ARRAY (SUBINT RANGE <>, SUBINT RANGE <>) OF T1;
|
TYPE FARR4 IS ARRAY (SUBINT RANGE <>, SUBINT RANGE <>) OF T1;
|
FA4 : FARR4;
|
FA4 : FARR4;
|
|
|
TYPE FARR5 IS ARRAY (SUBINT, SUBINT) OF SUBINT;
|
TYPE FARR5 IS ARRAY (SUBINT, SUBINT) OF SUBINT;
|
FA5 : FARR5;
|
FA5 : FARR5;
|
|
|
TYPE FARR6 IS ARRAY (T1) OF T2;
|
TYPE FARR6 IS ARRAY (T1) OF T2;
|
FA6 : FARR6;
|
FA6 : FARR6;
|
|
|
TYPE FARR7 IS ARRAY (T1) OF T2;
|
TYPE FARR7 IS ARRAY (T1) OF T2;
|
FA7 : FARR7;
|
FA7 : FARR7;
|
|
|
PROCEDURE P ;
|
PROCEDURE P ;
|
|
|
GENERIC
|
GENERIC
|
|
|
TYPE FIRST_INDEX IS (<>) ;
|
TYPE FIRST_INDEX IS (<>) ;
|
TYPE SECOND_INDEX IS (<>) ;
|
TYPE SECOND_INDEX IS (<>) ;
|
TYPE UNCONSTRAINED_ARRAY IS ARRAY
|
TYPE UNCONSTRAINED_ARRAY IS ARRAY
|
(FIRST_INDEX RANGE <>, SECOND_INDEX RANGE <>) OF DATE ;
|
(FIRST_INDEX RANGE <>, SECOND_INDEX RANGE <>) OF DATE ;
|
|
|
PROCEDURE TEST_PROCEDURE (FIRST : IN UNCONSTRAINED_ARRAY ;
|
PROCEDURE TEST_PROCEDURE (FIRST : IN UNCONSTRAINED_ARRAY ;
|
FFIFS : IN FIRST_INDEX ;
|
FFIFS : IN FIRST_INDEX ;
|
FFILS : IN FIRST_INDEX ;
|
FFILS : IN FIRST_INDEX ;
|
FSIFS : IN SECOND_INDEX ;
|
FSIFS : IN SECOND_INDEX ;
|
FSILS : IN SECOND_INDEX ;
|
FSILS : IN SECOND_INDEX ;
|
FFLEN : IN NATURAL ;
|
FFLEN : IN NATURAL ;
|
FSLEN : IN NATURAL ;
|
FSLEN : IN NATURAL ;
|
FFIRT : IN FIRST_INDEX ;
|
FFIRT : IN FIRST_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
SECOND : IN UNCONSTRAINED_ARRAY ;
|
SECOND : IN UNCONSTRAINED_ARRAY ;
|
SFIFS : IN FIRST_INDEX ;
|
SFIFS : IN FIRST_INDEX ;
|
SFILS : IN FIRST_INDEX ;
|
SFILS : IN FIRST_INDEX ;
|
SSIFS : IN SECOND_INDEX ;
|
SSIFS : IN SECOND_INDEX ;
|
SSILS : IN SECOND_INDEX ;
|
SSILS : IN SECOND_INDEX ;
|
SFLEN : IN NATURAL ;
|
SFLEN : IN NATURAL ;
|
SSLEN : IN NATURAL ;
|
SSLEN : IN NATURAL ;
|
SFIRT : IN FIRST_INDEX ;
|
SFIRT : IN FIRST_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
REMARKS : IN STRING) ;
|
REMARKS : IN STRING) ;
|
GENERIC
|
GENERIC
|
|
|
TYPE FIRST_INDEX IS (<>) ;
|
TYPE FIRST_INDEX IS (<>) ;
|
TYPE SECOND_INDEX IS (<>) ;
|
TYPE SECOND_INDEX IS (<>) ;
|
TYPE COMPONENT_TYPE IS PRIVATE ;
|
TYPE COMPONENT_TYPE IS PRIVATE ;
|
TYPE CONSTRAINED_ARRAY IS ARRAY
|
TYPE CONSTRAINED_ARRAY IS ARRAY
|
(FIRST_INDEX,SECOND_INDEX) OF COMPONENT_TYPE ;
|
(FIRST_INDEX,SECOND_INDEX) OF COMPONENT_TYPE ;
|
|
|
PROCEDURE CTEST_PROCEDURE (FIRST : IN CONSTRAINED_ARRAY ;
|
PROCEDURE CTEST_PROCEDURE (FIRST : IN CONSTRAINED_ARRAY ;
|
FFIRT : IN FIRST_INDEX ;
|
FFIRT : IN FIRST_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
SECOND : IN CONSTRAINED_ARRAY ;
|
SECOND : IN CONSTRAINED_ARRAY ;
|
SFIRT : IN FIRST_INDEX ;
|
SFIRT : IN FIRST_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
REMARKS : IN STRING) ;
|
REMARKS : IN STRING) ;
|
|
|
|
|
PROCEDURE P IS
|
PROCEDURE P IS
|
|
|
IN1 : INTEGER := FA1'SIZE;
|
IN1 : INTEGER := FA1'SIZE;
|
IN2 : INTEGER := FA2'SIZE;
|
IN2 : INTEGER := FA2'SIZE;
|
IN3 : INTEGER := FA3'SIZE;
|
IN3 : INTEGER := FA3'SIZE;
|
IN4 : INTEGER := FA4'SIZE;
|
IN4 : INTEGER := FA4'SIZE;
|
IN5 : INTEGER := FA5'SIZE;
|
IN5 : INTEGER := FA5'SIZE;
|
IN6 : INTEGER := FA6'SIZE;
|
IN6 : INTEGER := FA6'SIZE;
|
|
|
B1 : FARR1;
|
B1 : FARR1;
|
|
|
B2 : FARR2;
|
B2 : FARR2;
|
|
|
SUBTYPE SARR3 IS FARR3 (FA3'RANGE);
|
SUBTYPE SARR3 IS FARR3 (FA3'RANGE);
|
B3 : SARR3;
|
B3 : SARR3;
|
|
|
SUBTYPE SARR4 IS FARR4 (FA4'RANGE (1), FA4'RANGE (2));
|
SUBTYPE SARR4 IS FARR4 (FA4'RANGE (1), FA4'RANGE (2));
|
B4 : SARR4;
|
B4 : SARR4;
|
|
|
B5 : FARR5;
|
B5 : FARR5;
|
|
|
B6 : FARR6 ;
|
B6 : FARR6 ;
|
|
|
PROCEDURE ADDRESS_CHECK(ADDRESS : SYSTEM.ADDRESS) IS
|
PROCEDURE ADDRESS_CHECK(ADDRESS : SYSTEM.ADDRESS) IS
|
|
|
BEGIN
|
BEGIN
|
IF REPORT.EQUAL(1, REPORT.IDENT_INT(2)) THEN
|
IF REPORT.EQUAL(1, REPORT.IDENT_INT(2)) THEN
|
REPORT.COMMENT("DON'T OPTIMIZE OUT ADDRESS_CHECK");
|
REPORT.COMMENT("DON'T OPTIMIZE OUT ADDRESS_CHECK");
|
END IF;
|
END IF;
|
END ADDRESS_CHECK;
|
END ADDRESS_CHECK;
|
|
|
BEGIN -- P
|
BEGIN -- P
|
|
|
ADDRESS_CHECK(FA1'ADDRESS);
|
ADDRESS_CHECK(FA1'ADDRESS);
|
ADDRESS_CHECK(FA2'ADDRESS);
|
ADDRESS_CHECK(FA2'ADDRESS);
|
ADDRESS_CHECK(FA3'ADDRESS);
|
ADDRESS_CHECK(FA3'ADDRESS);
|
ADDRESS_CHECK(FA4'ADDRESS);
|
ADDRESS_CHECK(FA4'ADDRESS);
|
ADDRESS_CHECK(FA5'ADDRESS);
|
ADDRESS_CHECK(FA5'ADDRESS);
|
ADDRESS_CHECK(FA6'ADDRESS);
|
ADDRESS_CHECK(FA6'ADDRESS);
|
|
|
B1 := FA1;
|
B1 := FA1;
|
|
|
IF B1 /= FARR1 (FA1) THEN
|
IF B1 /= FARR1 (FA1) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 1" );
|
REPORT.FAILED ("INCORRECT RESULTS - 1" );
|
END IF;
|
END IF;
|
|
|
B2 := FA2;
|
B2 := FA2;
|
|
|
IF B2 /= FARR2 (A2) THEN
|
IF B2 /= FARR2 (A2) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 2" );
|
REPORT.FAILED ("INCORRECT RESULTS - 2" );
|
END IF;
|
END IF;
|
|
|
B3 := FA3;
|
B3 := FA3;
|
|
|
IF B3 /= FARR3 (FA3) THEN
|
IF B3 /= FARR3 (FA3) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 3" );
|
REPORT.FAILED ("INCORRECT RESULTS - 3" );
|
END IF;
|
END IF;
|
|
|
B4 := FA4;
|
B4 := FA4;
|
|
|
IF B4 /= FARR4 (FA4) THEN
|
IF B4 /= FARR4 (FA4) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 4" );
|
REPORT.FAILED ("INCORRECT RESULTS - 4" );
|
END IF;
|
END IF;
|
|
|
B5 := FA5;
|
B5 := FA5;
|
|
|
IF B5 /= FARR5 (A5) THEN
|
IF B5 /= FARR5 (A5) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 5" );
|
REPORT.FAILED ("INCORRECT RESULTS - 5" );
|
END IF;
|
END IF;
|
|
|
B6 := FA6;
|
B6 := FA6;
|
|
|
IF B6 /= FARR6 (FA6) THEN
|
IF B6 /= FARR6 (FA6) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 6" );
|
REPORT.FAILED ("INCORRECT RESULTS - 6" );
|
END IF;
|
END IF;
|
|
|
IF FA7 /= FARR7 (FA6) THEN
|
IF FA7 /= FARR7 (FA6) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 7" );
|
REPORT.FAILED ("INCORRECT RESULTS - 7" );
|
END IF;
|
END IF;
|
|
|
B1 := FARR1'(FA1'RANGE => T1'VAL (1));
|
B1 := FARR1'(FA1'RANGE => T1'VAL (1));
|
|
|
IF B1 (1) /= FA1 (1) THEN
|
IF B1 (1) /= FA1 (1) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 8" );
|
REPORT.FAILED ("INCORRECT RESULTS - 8" );
|
END IF;
|
END IF;
|
|
|
B1 := FARR1'(1 => T1'VAL (1), 2 => T1'VAL (1),
|
B1 := FARR1'(1 => T1'VAL (1), 2 => T1'VAL (1),
|
3 .. 6 => T1'VAL (2));
|
3 .. 6 => T1'VAL (2));
|
|
|
IF B1 (1) /= FA1 (1) THEN
|
IF B1 (1) /= FA1 (1) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 9" );
|
REPORT.FAILED ("INCORRECT RESULTS - 9" );
|
END IF;
|
END IF;
|
|
|
B2 := FARR2'(FA2'RANGE => 2);
|
B2 := FARR2'(FA2'RANGE => 2);
|
|
|
IF B2 (2) /= FA2 (2) THEN
|
IF B2 (2) /= FA2 (2) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 10" );
|
REPORT.FAILED ("INCORRECT RESULTS - 10" );
|
END IF;
|
END IF;
|
|
|
B3 := FARR3'(1|2|3 => X2, 4|5|6 => X2);
|
B3 := FARR3'(1|2|3 => X2, 4|5|6 => X2);
|
|
|
IF B3 (3) /= FA3 (3) THEN
|
IF B3 (3) /= FA3 (3) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 11" );
|
REPORT.FAILED ("INCORRECT RESULTS - 11" );
|
END IF;
|
END IF;
|
|
|
B4 := FARR4'(FA5'RANGE (1) => (FA5'RANGE (2) => T1'VAL (4)));
|
B4 := FARR4'(FA5'RANGE (1) => (FA5'RANGE (2) => T1'VAL (4)));
|
|
|
IF B4 (4, 4) /= FA4 (4, 4) THEN
|
IF B4 (4, 4) /= FA4 (4, 4) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 12" );
|
REPORT.FAILED ("INCORRECT RESULTS - 12" );
|
END IF;
|
END IF;
|
|
|
B5 := FARR5'(REPORT.IDENT_INT (1) ..
|
B5 := FARR5'(REPORT.IDENT_INT (1) ..
|
REPORT.IDENT_INT (6) => (1 .. 6 => 5));
|
REPORT.IDENT_INT (6) => (1 .. 6 => 5));
|
|
|
IF B5 (5, 5) /= FA5 (5, 5) THEN
|
IF B5 (5, 5) /= FA5 (5, 5) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 13" );
|
REPORT.FAILED ("INCORRECT RESULTS - 13" );
|
END IF;
|
END IF;
|
|
|
B6 := FARR6'(FA6'RANGE => X2);
|
B6 := FARR6'(FA6'RANGE => X2);
|
|
|
IF B6 (T1'FIRST) /= FA6 (T1'FIRST) THEN
|
IF B6 (T1'FIRST) /= FA6 (T1'FIRST) THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 14" );
|
REPORT.FAILED ("INCORRECT RESULTS - 14" );
|
END IF;
|
END IF;
|
|
|
IF B1 NOT IN FARR1 THEN
|
IF B1 NOT IN FARR1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 15" );
|
REPORT.FAILED ("INCORRECT RESULTS - 15" );
|
END IF;
|
END IF;
|
|
|
IF FA2 NOT IN FARR2 THEN
|
IF FA2 NOT IN FARR2 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 16" );
|
REPORT.FAILED ("INCORRECT RESULTS - 16" );
|
END IF;
|
END IF;
|
|
|
IF FA3 NOT IN FARR3 THEN
|
IF FA3 NOT IN FARR3 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 17" );
|
REPORT.FAILED ("INCORRECT RESULTS - 17" );
|
END IF;
|
END IF;
|
|
|
IF B4 NOT IN FARR4 THEN
|
IF B4 NOT IN FARR4 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 18" );
|
REPORT.FAILED ("INCORRECT RESULTS - 18" );
|
END IF;
|
END IF;
|
|
|
IF B5 NOT IN FARR5 THEN
|
IF B5 NOT IN FARR5 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 19" );
|
REPORT.FAILED ("INCORRECT RESULTS - 19" );
|
END IF;
|
END IF;
|
|
|
IF FA6 NOT IN FARR6 THEN
|
IF FA6 NOT IN FARR6 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 20" );
|
REPORT.FAILED ("INCORRECT RESULTS - 20" );
|
END IF;
|
END IF;
|
|
|
IF FA1'LENGTH /= FA1'LAST - FA1'FIRST + 1 THEN
|
IF FA1'LENGTH /= FA1'LAST - FA1'FIRST + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 27" );
|
REPORT.FAILED ("INCORRECT RESULTS - 27" );
|
END IF;
|
END IF;
|
|
|
IF FA2'LENGTH /= FA2'LAST - FA2'FIRST + 1 THEN
|
IF FA2'LENGTH /= FA2'LAST - FA2'FIRST + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 28" );
|
REPORT.FAILED ("INCORRECT RESULTS - 28" );
|
END IF;
|
END IF;
|
|
|
IF FA3'LENGTH /= FA3'LAST - FA3'FIRST + 1 THEN
|
IF FA3'LENGTH /= FA3'LAST - FA3'FIRST + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 29" );
|
REPORT.FAILED ("INCORRECT RESULTS - 29" );
|
END IF;
|
END IF;
|
|
|
IF FA4'LENGTH /= FA4'LAST - FA4'FIRST + 1 THEN
|
IF FA4'LENGTH /= FA4'LAST - FA4'FIRST + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 30" );
|
REPORT.FAILED ("INCORRECT RESULTS - 30" );
|
END IF;
|
END IF;
|
|
|
IF FA4'LENGTH (2) /= FA4'LAST (2) - FA4'FIRST (2) + 1 THEN
|
IF FA4'LENGTH (2) /= FA4'LAST (2) - FA4'FIRST (2) + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 31" );
|
REPORT.FAILED ("INCORRECT RESULTS - 31" );
|
END IF;
|
END IF;
|
|
|
IF FA5'LENGTH /= FA5'LAST - FA5'FIRST + 1 THEN
|
IF FA5'LENGTH /= FA5'LAST - FA5'FIRST + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 32" );
|
REPORT.FAILED ("INCORRECT RESULTS - 32" );
|
END IF;
|
END IF;
|
|
|
IF FA5'LENGTH (2) /= FA5'LAST (2) - FA5'FIRST (2) + 1 THEN
|
IF FA5'LENGTH (2) /= FA5'LAST (2) - FA5'FIRST (2) + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 33" );
|
REPORT.FAILED ("INCORRECT RESULTS - 33" );
|
END IF;
|
END IF;
|
|
|
IF FA6'LENGTH /= T1'POS (FA6'LAST) -
|
IF FA6'LENGTH /= T1'POS (FA6'LAST) -
|
T1'POS (FA6'FIRST) + 1 THEN
|
T1'POS (FA6'FIRST) + 1 THEN
|
REPORT.FAILED ("INCORRECT RESULTS - 34" );
|
REPORT.FAILED ("INCORRECT RESULTS - 34" );
|
END IF;
|
END IF;
|
|
|
END P ;
|
END P ;
|
|
|
PROCEDURE TEST_PROCEDURE (FIRST : IN UNCONSTRAINED_ARRAY ;
|
PROCEDURE TEST_PROCEDURE (FIRST : IN UNCONSTRAINED_ARRAY ;
|
FFIFS : IN FIRST_INDEX ;
|
FFIFS : IN FIRST_INDEX ;
|
FFILS : IN FIRST_INDEX ;
|
FFILS : IN FIRST_INDEX ;
|
FSIFS : IN SECOND_INDEX ;
|
FSIFS : IN SECOND_INDEX ;
|
FSILS : IN SECOND_INDEX ;
|
FSILS : IN SECOND_INDEX ;
|
FFLEN : IN NATURAL ;
|
FFLEN : IN NATURAL ;
|
FSLEN : IN NATURAL ;
|
FSLEN : IN NATURAL ;
|
FFIRT : IN FIRST_INDEX ;
|
FFIRT : IN FIRST_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
SECOND : IN UNCONSTRAINED_ARRAY ;
|
SECOND : IN UNCONSTRAINED_ARRAY ;
|
SFIFS : IN FIRST_INDEX ;
|
SFIFS : IN FIRST_INDEX ;
|
SFILS : IN FIRST_INDEX ;
|
SFILS : IN FIRST_INDEX ;
|
SSIFS : IN SECOND_INDEX ;
|
SSIFS : IN SECOND_INDEX ;
|
SSILS : IN SECOND_INDEX ;
|
SSILS : IN SECOND_INDEX ;
|
SFLEN : IN NATURAL ;
|
SFLEN : IN NATURAL ;
|
SSLEN : IN NATURAL ;
|
SSLEN : IN NATURAL ;
|
SFIRT : IN FIRST_INDEX ;
|
SFIRT : IN FIRST_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
REMARKS : IN STRING) IS
|
REMARKS : IN STRING) IS
|
|
|
BEGIN -- TEST_PROCEDURE
|
BEGIN -- TEST_PROCEDURE
|
|
|
IF (FIRST'FIRST /= FFIFS) OR
|
IF (FIRST'FIRST /= FFIFS) OR
|
(FIRST'FIRST (1) /= FFIFS) OR
|
(FIRST'FIRST (1) /= FFIFS) OR
|
(FIRST'FIRST (2) /= FSIFS) OR
|
(FIRST'FIRST (2) /= FSIFS) OR
|
(SECOND'FIRST /= SFIFS) OR
|
(SECOND'FIRST /= SFIFS) OR
|
(SECOND'FIRST (1) /= SFIFS) OR
|
(SECOND'FIRST (1) /= SFIFS) OR
|
(SECOND'FIRST (2) /= SSIFS) THEN
|
(SECOND'FIRST (2) /= SSIFS) THEN
|
REPORT.FAILED ("PROBLEMS WITH 'FIRST. " & REMARKS) ;
|
REPORT.FAILED ("PROBLEMS WITH 'FIRST. " & REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF (FIRST'LAST /= FFILS) OR
|
IF (FIRST'LAST /= FFILS) OR
|
(FIRST'LAST (1) /= FFILS) OR
|
(FIRST'LAST (1) /= FFILS) OR
|
(FIRST'LAST (2) /= FSILS) OR
|
(FIRST'LAST (2) /= FSILS) OR
|
(SECOND'LAST /= SFILS) OR
|
(SECOND'LAST /= SFILS) OR
|
(SECOND'LAST (1) /= SFILS) OR
|
(SECOND'LAST (1) /= SFILS) OR
|
(SECOND'LAST (2) /= SSILS) THEN
|
(SECOND'LAST (2) /= SSILS) THEN
|
REPORT.FAILED ("PROBLEMS WITH 'LAST. " & REMARKS) ;
|
REPORT.FAILED ("PROBLEMS WITH 'LAST. " & REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF (FIRST'LENGTH /= FFLEN) OR
|
IF (FIRST'LENGTH /= FFLEN) OR
|
(FIRST'LENGTH (1) /= FFLEN) OR
|
(FIRST'LENGTH (1) /= FFLEN) OR
|
(FIRST'LENGTH (2) /= FSLEN) OR
|
(FIRST'LENGTH (2) /= FSLEN) OR
|
(SECOND'LENGTH /= SFLEN) OR
|
(SECOND'LENGTH /= SFLEN) OR
|
(SECOND'LENGTH (1) /= SFLEN) OR
|
(SECOND'LENGTH (1) /= SFLEN) OR
|
(SECOND'LENGTH (2) /= SSLEN) THEN
|
(SECOND'LENGTH (2) /= SSLEN) THEN
|
REPORT.FAILED ("PROBLEMS WITH 'LENGTH. " & REMARKS) ;
|
REPORT.FAILED ("PROBLEMS WITH 'LENGTH. " & REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF (FFIRT NOT IN FIRST'RANGE (1)) OR
|
IF (FFIRT NOT IN FIRST'RANGE (1)) OR
|
(FFIRT NOT IN FIRST'RANGE) OR
|
(FFIRT NOT IN FIRST'RANGE) OR
|
(SFIRT NOT IN SECOND'RANGE (1)) OR
|
(SFIRT NOT IN SECOND'RANGE (1)) OR
|
(SFIRT NOT IN SECOND'RANGE) OR
|
(SFIRT NOT IN SECOND'RANGE) OR
|
(FSIRT NOT IN FIRST'RANGE (2)) OR
|
(FSIRT NOT IN FIRST'RANGE (2)) OR
|
(SSIRT NOT IN SECOND'RANGE (2)) THEN
|
(SSIRT NOT IN SECOND'RANGE (2)) THEN
|
REPORT.FAILED ("INCORRECT HANDLING OF 'RANGE ATTRIBUE. " &
|
REPORT.FAILED ("INCORRECT HANDLING OF 'RANGE ATTRIBUE. " &
|
REMARKS) ;
|
REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
END TEST_PROCEDURE ;
|
END TEST_PROCEDURE ;
|
|
|
PROCEDURE CTEST_PROCEDURE (FIRST : IN CONSTRAINED_ARRAY ;
|
PROCEDURE CTEST_PROCEDURE (FIRST : IN CONSTRAINED_ARRAY ;
|
FFIRT : IN FIRST_INDEX ;
|
FFIRT : IN FIRST_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
FSIRT : IN SECOND_INDEX ;
|
SECOND : IN CONSTRAINED_ARRAY ;
|
SECOND : IN CONSTRAINED_ARRAY ;
|
SFIRT : IN FIRST_INDEX ;
|
SFIRT : IN FIRST_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
SSIRT : IN SECOND_INDEX ;
|
REMARKS : IN STRING) IS
|
REMARKS : IN STRING) IS
|
|
|
BEGIN -- CTEST_PROCEDURE
|
BEGIN -- CTEST_PROCEDURE
|
|
|
IF (FIRST'FIRST /= FIRST_INDEX'FIRST) OR
|
IF (FIRST'FIRST /= FIRST_INDEX'FIRST) OR
|
(FIRST'FIRST (1) /= FIRST_INDEX'FIRST) OR
|
(FIRST'FIRST (1) /= FIRST_INDEX'FIRST) OR
|
(FIRST'FIRST (2) /= SECOND_INDEX'FIRST) OR
|
(FIRST'FIRST (2) /= SECOND_INDEX'FIRST) OR
|
(SECOND'FIRST /= FIRST_INDEX'FIRST) OR
|
(SECOND'FIRST /= FIRST_INDEX'FIRST) OR
|
(SECOND'FIRST (1) /= FIRST_INDEX'FIRST) OR
|
(SECOND'FIRST (1) /= FIRST_INDEX'FIRST) OR
|
(SECOND'FIRST (2) /= SECOND_INDEX'FIRST) THEN
|
(SECOND'FIRST (2) /= SECOND_INDEX'FIRST) THEN
|
REPORT.FAILED ("PROBLEMS WITH 'FIRST. " & REMARKS) ;
|
REPORT.FAILED ("PROBLEMS WITH 'FIRST. " & REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF (FIRST'LAST /= FIRST_INDEX'LAST) OR
|
IF (FIRST'LAST /= FIRST_INDEX'LAST) OR
|
(FIRST'LAST (1) /= FIRST_INDEX'LAST) OR
|
(FIRST'LAST (1) /= FIRST_INDEX'LAST) OR
|
(FIRST'LAST (2) /= SECOND_INDEX'LAST) OR
|
(FIRST'LAST (2) /= SECOND_INDEX'LAST) OR
|
(SECOND'LAST /= FIRST_INDEX'LAST) OR
|
(SECOND'LAST /= FIRST_INDEX'LAST) OR
|
(SECOND'LAST (1) /= FIRST_INDEX'LAST) OR
|
(SECOND'LAST (1) /= FIRST_INDEX'LAST) OR
|
(SECOND'LAST (2) /= SECOND_INDEX'LAST) THEN
|
(SECOND'LAST (2) /= SECOND_INDEX'LAST) THEN
|
REPORT.FAILED ("PROBLEMS WITH 'LAST. " & REMARKS) ;
|
REPORT.FAILED ("PROBLEMS WITH 'LAST. " & REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF (FIRST'LENGTH /=
|
IF (FIRST'LENGTH /=
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
(FIRST'LENGTH (1) /=
|
(FIRST'LENGTH (1) /=
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
(FIRST'LENGTH (2) /=
|
(FIRST'LENGTH (2) /=
|
SECOND_INDEX'POS (SECOND_INDEX'LAST)
|
SECOND_INDEX'POS (SECOND_INDEX'LAST)
|
- SECOND_INDEX'POS (SECOND_INDEX'FIRST) + 1) OR
|
- SECOND_INDEX'POS (SECOND_INDEX'FIRST) + 1) OR
|
(SECOND'LENGTH /=
|
(SECOND'LENGTH /=
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
(SECOND'LENGTH (1) /=
|
(SECOND'LENGTH (1) /=
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
FIRST_INDEX'POS (FIRST_INDEX'LAST)
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
- FIRST_INDEX'POS (FIRST_INDEX'FIRST) + 1) OR
|
(SECOND'LENGTH (2) /=
|
(SECOND'LENGTH (2) /=
|
SECOND_INDEX'POS (SECOND_INDEX'LAST)
|
SECOND_INDEX'POS (SECOND_INDEX'LAST)
|
- SECOND_INDEX'POS (SECOND_INDEX'FIRST) + 1) THEN
|
- SECOND_INDEX'POS (SECOND_INDEX'FIRST) + 1) THEN
|
REPORT.FAILED ("PROBLEMS WITH 'LENGTH. " & REMARKS) ;
|
REPORT.FAILED ("PROBLEMS WITH 'LENGTH. " & REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF (FFIRT NOT IN FIRST'RANGE (1)) OR
|
IF (FFIRT NOT IN FIRST'RANGE (1)) OR
|
(FFIRT NOT IN FIRST'RANGE) OR
|
(FFIRT NOT IN FIRST'RANGE) OR
|
(SFIRT NOT IN SECOND'RANGE (1)) OR
|
(SFIRT NOT IN SECOND'RANGE (1)) OR
|
(SFIRT NOT IN SECOND'RANGE) OR
|
(SFIRT NOT IN SECOND'RANGE) OR
|
(FSIRT NOT IN FIRST'RANGE (2)) OR
|
(FSIRT NOT IN FIRST'RANGE (2)) OR
|
(SSIRT NOT IN SECOND'RANGE (2)) THEN
|
(SSIRT NOT IN SECOND'RANGE (2)) THEN
|
REPORT.FAILED ("INCORRECT HANDLING OF 'RANGE ATTRIBUE. " &
|
REPORT.FAILED ("INCORRECT HANDLING OF 'RANGE ATTRIBUE. " &
|
REMARKS) ;
|
REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF CONSTRAINED_ARRAY'SIZE <= 0 THEN
|
IF CONSTRAINED_ARRAY'SIZE <= 0 THEN
|
REPORT.FAILED ("PROBLEMS WITH THE 'SIZE ATTRIBUTE. " &
|
REPORT.FAILED ("PROBLEMS WITH THE 'SIZE ATTRIBUTE. " &
|
REMARKS) ;
|
REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
IF FIRST'ADDRESS = SECOND'ADDRESS THEN
|
IF FIRST'ADDRESS = SECOND'ADDRESS THEN
|
REPORT.FAILED ("PROBLEMS WITH THE 'ADDRESS ATTRIBUTE. " &
|
REPORT.FAILED ("PROBLEMS WITH THE 'ADDRESS ATTRIBUTE. " &
|
REMARKS) ;
|
REMARKS) ;
|
END IF ;
|
END IF ;
|
|
|
END CTEST_PROCEDURE ;
|
END CTEST_PROCEDURE ;
|
|
|
PROCEDURE FIRST_TEST_PROCEDURE IS NEW TEST_PROCEDURE
|
PROCEDURE FIRST_TEST_PROCEDURE IS NEW TEST_PROCEDURE
|
(FIRST_INDEX => SHORT_RANGE,
|
(FIRST_INDEX => SHORT_RANGE,
|
SECOND_INDEX => MEDIUM_RANGE,
|
SECOND_INDEX => MEDIUM_RANGE,
|
UNCONSTRAINED_ARRAY => FIRST_TEMPLATE) ;
|
UNCONSTRAINED_ARRAY => FIRST_TEMPLATE) ;
|
|
|
PROCEDURE NEW_CTEST_PROCEDURE IS NEW CTEST_PROCEDURE
|
PROCEDURE NEW_CTEST_PROCEDURE IS NEW CTEST_PROCEDURE
|
(FIRST_INDEX => SHORT_RANGE,
|
(FIRST_INDEX => SHORT_RANGE,
|
SECOND_INDEX => MEDIUM_RANGE,
|
SECOND_INDEX => MEDIUM_RANGE,
|
COMPONENT_TYPE => DATE,
|
COMPONENT_TYPE => DATE,
|
CONSTRAINED_ARRAY => SECOND_TEMPLATE) ;
|
CONSTRAINED_ARRAY => SECOND_TEMPLATE) ;
|
|
|
PROCEDURE NP IS NEW P (SUBINT, DATE, TODAY, ARRA, A1,
|
PROCEDURE NP IS NEW P (SUBINT, DATE, TODAY, ARRA, A1,
|
ARRA, A2, ARRB, A3, ARRC, A4, ARRD,
|
ARRA, A2, ARRB, A3, ARRC, A4, ARRD,
|
A5, ARRE, A6, ARRE, A6);
|
A5, ARRE, A6, ARRE, A6);
|
|
|
BEGIN -- CC1224A
|
BEGIN -- CC1224A
|
|
|
REPORT.TEST ("CC1224A", "FOR ARRAY TYPES WITH A NONLIMITED " &
|
REPORT.TEST ("CC1224A", "FOR ARRAY TYPES WITH A NONLIMITED " &
|
"COMPONENT TYPE (OF A FORMAL AND NONFORMAL GENERIC " &
|
"COMPONENT TYPE (OF A FORMAL AND NONFORMAL GENERIC " &
|
"TYPE), CHECK THAT THE FOLLOWING OPERATIONS " &
|
"TYPE), CHECK THAT THE FOLLOWING OPERATIONS " &
|
"ARE IMPLICITY DECLARED AND ARE, THEREFORE, " &
|
"ARE IMPLICITY DECLARED AND ARE, THEREFORE, " &
|
"AVAILABLE WITHIN THE GENERIC -- UNIT: " &
|
"AVAILABLE WITHIN THE GENERIC -- UNIT: " &
|
"ASSIGNMENT, THE OPERATION ASSOCIATED WITH " &
|
"ASSIGNMENT, THE OPERATION ASSOCIATED WITH " &
|
"AGGREGATE NOTATION, MEMBERSHIP TESTS, THE " &
|
"AGGREGATE NOTATION, MEMBERSHIP TESTS, THE " &
|
"OPERATION ASSOCIATED WITH INDEXED " &
|
"OPERATION ASSOCIATED WITH INDEXED " &
|
"COMPONENTS, QUALIFICATION, EXPLICIT " &
|
"COMPONENTS, QUALIFICATION, EXPLICIT " &
|
"CONVERSION, 'SIZE, 'ADDRESS, 'FIRST, " &
|
"CONVERSION, 'SIZE, 'ADDRESS, 'FIRST, " &
|
"'FIRST (N), 'LAST, 'LAST (N), 'RANGE, " &
|
"'FIRST (N), 'LAST, 'LAST (N), 'RANGE, " &
|
"'RANGE (N), 'LENGTH, 'LENGTH (N)" ) ;
|
"'RANGE (N), 'LENGTH, 'LENGTH (N)" ) ;
|
|
|
NP ;
|
NP ;
|
|
|
FIRST_TEST_PROCEDURE (FIRST => FIRST_ARRAY,
|
FIRST_TEST_PROCEDURE (FIRST => FIRST_ARRAY,
|
FFIFS => -10,
|
FFIFS => -10,
|
FFILS => 10,
|
FFILS => 10,
|
FSIFS => 6,
|
FSIFS => 6,
|
FSILS => 10,
|
FSILS => 10,
|
FFLEN => 21,
|
FFLEN => 21,
|
FSLEN => 5,
|
FSLEN => 5,
|
FFIRT => 0,
|
FFIRT => 0,
|
FSIRT => 8,
|
FSIRT => 8,
|
SECOND => SECOND_ARRAY,
|
SECOND => SECOND_ARRAY,
|
SFIFS => 0,
|
SFIFS => 0,
|
SFILS => 7,
|
SFILS => 7,
|
SSIFS => 1,
|
SSIFS => 1,
|
SSILS => 15,
|
SSILS => 15,
|
SFLEN => 8,
|
SFLEN => 8,
|
SSLEN => 15,
|
SSLEN => 15,
|
SFIRT => 5,
|
SFIRT => 5,
|
SSIRT => 13,
|
SSIRT => 13,
|
REMARKS => "FIRST_TEST_PROCEDURE") ;
|
REMARKS => "FIRST_TEST_PROCEDURE") ;
|
|
|
NEW_CTEST_PROCEDURE (FIRST => THIRD_ARRAY,
|
NEW_CTEST_PROCEDURE (FIRST => THIRD_ARRAY,
|
FFIRT => -5,
|
FFIRT => -5,
|
FSIRT => 11,
|
FSIRT => 11,
|
SECOND => FOURTH_ARRAY,
|
SECOND => FOURTH_ARRAY,
|
SFIRT => 0,
|
SFIRT => 0,
|
SSIRT => 14,
|
SSIRT => 14,
|
REMARKS => "NEW_CTEST_PROCEDURE") ;
|
REMARKS => "NEW_CTEST_PROCEDURE") ;
|
|
|
REPORT.RESULT ;
|
REPORT.RESULT ;
|
|
|
END CC1224A;
|
END CC1224A;
|
|
|