WITH REPORT; USE REPORT;
PROCEDURE C85011A IS
PACKAGE PACK1 IS
I : NATURAL := 0;
PACKAGE PACKA RENAMES PACK1;
END PACK1;
GENERIC
TYPE T IS RANGE <>;
PACKAGE GPACK IS
J : T := T'FIRST;
PACKAGE PACKB RENAMES GPACK;
END GPACK;
PACKAGE PACK2 IS NEW GPACK(NATURAL);
PACKAGE PACK3 RENAMES PACK1;
PACKAGE PACK4 RENAMES PACK2;
PACKAGE PACK5 RENAMES PACK3;
PACKAGE PACK6 RENAMES PACK4;
BEGIN
TEST ("C85011A", "CHECK THAT A PACKAGE CAN BE RENAMED AND THE " &
"NEW NAME CAN APPEAR IN A RENAMING " &
"DECLARATION, AND THAT A 'USE' CLAUSE CAN " &
"REFER TO THE PACKAGE BY EITHER NAME, " &
"INCLUDING RENAMINGS OF GENERIC AND NONGENERIC " &
"PACKAGES INSIDE THEMSELVES");
IF PACK1.I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK1.I");
END IF;
IF PACK2.J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK2.J");
END IF;
IF PACK3.I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK3.I");
END IF;
IF PACK4.J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK4.J");
END IF;
IF PACK5.I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK5.I");
END IF;
IF PACK6.J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK6.J");
END IF;
IF PACK1.PACKA.I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK1.PACKA.I");
END IF;
IF PACK2.PACKB.J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF PACK2.PACKB.J");
END IF;
DECLARE
USE PACK1, PACK2;
BEGIN
IF I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF I (1)");
END IF;
IF J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF J (1)");
END IF;
END;
DECLARE
USE PACK3, PACK4;
BEGIN
IF I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF I (2)");
END IF;
IF J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF J (2)");
END IF;
END;
DECLARE
USE PACK5, PACK6;
BEGIN
IF I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF I (3)");
END IF;
IF J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF J (3)");
END IF;
END;
DECLARE
USE PACK1.PACKA, PACK2.PACKB;
BEGIN
IF I /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF I (4)");
END IF;
IF J /= IDENT_INT(0) THEN
FAILED ("INCORRECT VALUE OF J (4)");
END IF;
END;
RESULT;
END C85011A;