cc1221a.ada
来自「用于进行gcc测试」· ADA 代码 · 共 142 行
ADA
142 行
-- CC1221A.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:-- FOR A FORMAL INTEGER TYPE, CHECK THAT THE FOLLOWING BASIC-- OPERATIONS ARE IMPLICITLY DECLARED AND ARE THEREFORE AVAILABLE-- WITHIN THE GENERIC UNIT: ASSIGNMENT, MEMBERSHIP, QUALIFICATION,-- AND EXPLICIT CONVERSION TO AND FROM OTHER INTEGER TYPES.-- HISTORY:-- RJW 09/26/86 CREATED ORIGINAL TEST.-- BCB 11/12/87 CHANGED HEADER TO STANDARD FORMAT. SPLIT TEST-- INTO PARTS A, B, C, AND D.WITH SYSTEM; USE SYSTEM;WITH REPORT; USE REPORT;PROCEDURE CC1221A IS SUBTYPE SUBINT IS INTEGER RANGE -100 .. 100; TYPE NEWINT IS NEW INTEGER; TYPE INT IS RANGE -300 .. 300;BEGIN TEST ( "CC1221A", "FOR A FORMAL INTEGER TYPE, CHECK THAT THE " & "FOLLOWING BASIC OPERATIONS ARE IMPLICITLY " & "DECLARED AND ARE THEREFORE AVAILABLE " & "WITHIN THE GENERIC UNIT: ASSIGNMENT, " & "MEMBERSHIP, QUALIFICATION, AND EXPLICIT " & "CONVERSION TO AND FROM OTHER INTEGER TYPES"); DECLARE -- (A) CHECKS FOR BASIC OPERATIONS OF A DISCRETE TYPE. -- PART I. GENERIC TYPE T IS RANGE <>; TYPE T1 IS RANGE <>; I : T; I1 : T1; PROCEDURE P (J : T; STR : STRING); PROCEDURE P (J : T; STR : STRING) IS SUBTYPE ST IS T RANGE T'VAL (-1) .. T'VAL (1); K, L : T; FUNCTION F (X : T) RETURN BOOLEAN IS BEGIN RETURN IDENT_BOOL (TRUE); END F; FUNCTION F (X : T1) RETURN BOOLEAN IS BEGIN RETURN IDENT_BOOL (FALSE); END F; BEGIN K := I; L := J; K := L; IF K /= J THEN FAILED ( "INCORRECT RESULTS FOR ASSIGNMENT " & "WITH TYPE - " & STR); END IF; IF I IN ST THEN NULL; ELSE FAILED ( "INCORRECT RESULTS FOR ""IN"" WITH " & "TYPE - " & STR); END IF; IF J NOT IN ST THEN NULL; ELSE FAILED ( "INCORRECT RESULTS FOR ""NOT IN"" WITH " & "TYPE - " & STR); END IF; IF T'(I) /= I THEN FAILED ( "INCORRECT RESULTS FOR QUALIFICATION " & "WITH TYPE - " & STR & " - 1" ); END IF; IF F (T'(1)) THEN NULL; ELSE FAILED ( "INCORRECT RESULTS FOR QUALIFICATION " & "WITH TYPE - " & STR & " - 2" ); END IF; IF T (I1) /= I THEN FAILED ( "INCORRECT RESULTS FOR EXPLICIT " & "CONVERSION WITH TYPE - " & STR & " - 1" ); END IF; IF F (T (I1)) THEN NULL; ELSE FAILED ( "INCORRECT RESULTS FOR EXPLICIT " & "CONVERSION WITH TYPE - " & STR & " - 2" ); END IF; END P; PROCEDURE NP1 IS NEW P (SUBINT, SUBINT, 0, 0); PROCEDURE NP2 IS NEW P (NEWINT, NEWINT, 0, 0); PROCEDURE NP3 IS NEW P (INT, INT, 0, 0); PROCEDURE NP4 IS NEW P (INTEGER, INTEGER, 0, 0); BEGIN NP1 (2, "SUBINT"); NP2 (2, "NEWINT"); NP3 (2, "INT"); NP4 (2, "INTEGER"); END; -- (A). RESULT;END CC1221A;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?