c74208a.ada
来自「用于进行gcc测试」· ADA 代码 · 共 117 行
ADA
117 行
-- C74208A.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.--*-- OBJECTIVE:-- CHECK THAT 'SIZE AND 'ADDRESS FOR OBJECTS OF LIMITED AND-- NON-LIMITED TYPES ARE AVAILABLE BOTH INSIDE AND OUTSIDE THE-- PACKAGE DECLARING THE TYPES.-- HISTORY:-- BCB 03/14/88 CREATED ORIGINAL TEST.WITH REPORT; USE REPORT;WITH SYSTEM; USE SYSTEM;PROCEDURE C74208A IS PACKAGE P IS TYPE T IS PRIVATE; TYPE U IS LIMITED PRIVATE; PRIVATE TYPE T IS RANGE 1 .. 100; TYPE U IS RANGE 1 .. 100; END P; A : P.T; B : P.U; ASIZE, BSIZE : INTEGER; AADDRESS, BADDRESS : ADDRESS; FUNCTION IDENT_ADR(X : ADDRESS) RETURN ADDRESS IS Y : P.T; BEGIN IF EQUAL(3,3) THEN RETURN X; END IF; RETURN Y'ADDRESS; END IDENT_ADR; PACKAGE BODY P IS X : T; Y : U; XSIZE, YSIZE : INTEGER; XADDRESS, YADDRESS : ADDRESS; BEGIN TEST ("C74208A", "CHECK THAT 'SIZE AND 'ADDRESS FOR " & "OBJECTS OF LIMITED AND NON-LIMITED TYPES " & "ARE AVAILABLE BOTH INSIDE AND OUTSIDE " & "THE PACKAGE DECLARING THE TYPES"); XSIZE := X'SIZE; YSIZE := Y'SIZE; XADDRESS := X'ADDRESS; YADDRESS := Y'ADDRESS; IF NOT EQUAL(XSIZE,X'SIZE) THEN FAILED ("IMPROPER VALUE FOR X'SIZE"); END IF; IF XADDRESS /= IDENT_ADR(X'ADDRESS) THEN FAILED ("IMPROPER VALUE FOR X'ADDRESS"); END IF; IF NOT EQUAL(YSIZE,Y'SIZE) THEN FAILED ("IMPROPER VALUE FOR Y'SIZE"); END IF; IF YADDRESS /= IDENT_ADR(Y'ADDRESS) THEN FAILED ("IMPROPER VALUE FOR Y'ADDRESS"); END IF; END P;BEGIN ASIZE := A'SIZE; BSIZE := B'SIZE; AADDRESS := A'ADDRESS; BADDRESS := B'ADDRESS; IF NOT EQUAL(ASIZE,A'SIZE) THEN FAILED ("IMPROPER VALUE FOR A'SIZE"); END IF; IF AADDRESS /= IDENT_ADR(A'ADDRESS) THEN FAILED ("IMPROPER VALUE FOR A'ADDRESS"); END IF; IF NOT EQUAL(BSIZE,B'SIZE) THEN FAILED ("IMPROPER VALUE FOR B'SIZE"); END IF; IF BADDRESS /= IDENT_ADR(B'ADDRESS) THEN FAILED ("IMPROPER VALUE FOR B'ADDRESS"); END IF; RESULT;END C74208A;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?