• Aucun résultat trouvé

CHAR(3) CTL;

Dans le document OS PL/I (Page 97-103)

ALLOCATE X CHAR;

'ALLOCATE X;' (assumed) D HAS STRING OVERLAY DEFINING.

D HAS STRING OVERLAY DEFINING AND IS INCOMPATIBLE WITH THE PL/I F COMPILER.

DCL X(10) PICTURE '9999',

A(10) PICTURE '9' DEFINED X;

Ex£ban~1!QQ: In the above example the F compiler would have given correspondence defining but the optimizing compiler will give string overlay defining.

STRING OR AREA SIZE REDUCED TO N.

COMPILER RESTRICTION. CHAR OR BIT OR AREA SIZE REDUCED TO COMPILER MAXIMUM.

DCL A AREA(20000000), B BIT (40000), C CHAR(40000);

Ex£b~1!QQ: The maximum sizes permitted by this compiler are 16777216 for an area, and 32767 for character and bit strings. Even so~ these sizes may exceed the available

Part I: Compile-time(IEL) Messages 93·

***

BEFORE CALLING IBM FOR PROGRAMMING SUPPORT, REFER TO PAGE 3

***

IEL04801 S

IEL04811 S

IEL04821 S

IEL04831 S

IEL04841 S

IEL048S1 E

main storage when the program is executed.

o DEFINED ON 'DEFINED' OR 'BASED'.

o

IS DECLARED AS 'DEFINED' ON A BASE WHICH ALSO HAS THE 'DEFINED' OR 'BASED' ATTRIBUTE. "DEFINED' ATTRIBUTE IGNORED.

DCL A DEFINED B, B DEFINED C;

o

'ISUB' 'DEFINED' ON CROSS-SECTION.

D IS DECLARED AS 'DEFINED' WITH AN 'ISUB' VARIABLE ON THE CROSS-SECTION OF A BASE. 'DEFINED' ATTRIBUTE IGNORED.

DCL D(G) DEFINED B (*,lSUB);

D 'DEFINED' WITH WRONG NUMBER OF SUBSCRIPTS.

D IS DECLARED AS 'DEFINED' WITH AN 'ISUB' VARIABLE ON A BASE WITH THE WRONG NUMBER OF SUBSCRIPTS. 'DEFINED' ATTRIBUTE IGNORED.

DCL B (10,10),

0(6) DEFINED B(lSUB);

D 'DEFINED' WITH 'ISUB' AND 'POSITION' ATTRIBUTE.

D IS DECLARED AS 'DEFINED' WITH AN 'ISUB' VARIABLE AND HAS 'POSITION' ATTRIBUTE. 'DEFINED' ATTRIBUTE IGNORED.

DCL B (10,10),

D (6) DEFINED B(lSUB, 6) POS(3);

MAPPING OF DEFINED ITEM D CONFLICTS WITH BASE.

MAPPING OF ELEMENT 0 OF ISUB-DEFINED ARRAY CONFLICTS WITH THAT OF BASE. 'DEFINED' ATTRIBUTE IGNORED.

DCL 1 B(10), 2 C, 3 Di

DCL 1 X(S,2) DEFINED B(lSUB+2SUB), 2 Y,

2 Z;

CONFLICT BETWEEN DEFINED ITEM D AND BASE ATTRIBUTES

IEL04861 E

IEL04871 S

IEL04881 S

IEL04891 S

ATTRIBUTES OF ITEM D'DEFINED' WITH AN 'ISUB' VARIABLE CONFLICT WITH THOSE OF BASE. CONFLICT IGNORED.

!d~~illE!'§:

DCL 1 B (10), 2 C FIXED(31,0), 2 D FLOAT,

1 D(5,2) DEFINED B(lSUB+2SUB), 2 E POINTER,

2 F OFFSET;

SIMPLE DEFINING ASSUMED AS ATTRIBUTES OF D CONFLICT WITH BASE.

ATTRIBUTES OF 'DEFINED' ITEM D CONFLICT WITH THOSE OF BASE. SIMPLE DEFINING ASSUMED.

DCL B POINTER,

A FIXED BINARY(31,0) DEFINED B;

EXE!~~~~!Qn: simple defining is assumed only if the two items have matching size, alignment, and dimensionality.

String lengths or bounds are ignored.

D 'DEFINED' ON UNCONNECTED AGGREGATE.

D IS STRING OVERLAY 'DEFINED' ON AN AGGREGATE WHICH IS NOT 'CONNECTED'. 'DEFINED' ATTRIBUTE IGNORED.

DCL 1 B(10),

2 C CHAR(2), 2 F,

A CHAR(20) DEFINED C;

!d~Elan~~!Qn: An aggregate used as the base in string overlay defining must occupy a contiguous area of storage.

ATTRIBUTES OF 'DEFINED' ITEM D CONFLICT WITH EASE.

ATTRIBUTES OF 'DEFINED' ITEM D CONFLICT WITH THOSE OF BASE. 'DEFINED' ATTRIBUTE IGNORED.

DCL 0 OFFSET DEFINED B, 1 B~ 2 (C,D) CHAR;

Exp~t!on: The mapping of the defined and base items differ and the defined item is a level 1 offset.

'POSITION' VALUE FOR D LESS THAN ONE OR EXCEEDS N.

COMPILER RESTRICTION. D IS DECLARED WITH 'POSITION' VALUE

Part I: compile-time (IEL) Messages 95

***

BEFORE CALLING IBM FOR PROGRAMMING SUPPORT, REFER TO PAGE 3

***

IEL0490I E

IEL0491I S

IEL0492I S

IEL0493I W

LESS THAN ONE OR GREATER THAN N. 'POSITION' ATTRIBUTE IGNORED.

~~mplg:

DCL B CHAR,

A CHAR DEFINED B POSITION(3276S);

INVALID 'DEFINED' FOR D.

INVALID USE OF 'DEFINED~ IN DECLARATION OF D. COMPILER WILL ATTEMPT TO ASSUME STRING OVERLAY DEFINING.

DCL B CHAR(S),

D BIT(SO) DEF(B);

~~~!~~t!Q~: If the defined and base items do not match, both must be non-varying~ unaligned and either picture or character or both bit strings. If these rules are

infringed, the defining will be accepted provided that the base item occupies contiguous storage.

'DEFINED' BASE FOR 0 IS AMBIGUOUS.

BASE REFERENCE OF 'DEFINED' ATTRIBUTE IN DECLARATION OF D IS AMBIGUOUS. UNDEFINED SELECTION MADE.

DCL 1 A, 2 B, 3 B,

o

DEFINED B;

(the identifier B is ambiguous) 'DEFINED' BASE FOR D IS NOT A VARIABLE.

o

IS 'DEFINED' ON A BASE WHICH IS NOT A VARIABLE.

'DEFINED' ATTRIBUTE IGNORED.

P: PROC;

DCL X DEF Pi

END Pi

SIMPLE DEFINING APPLIES FOR D.

SIMPLE DEFINING APPLIES FOR D. IF OVERLAY DEFINING REQUIRED THEN ADD T TO DECLARATION.

~~pla~~tiQ~: The purpose of this message is to indicate a difference between this implementation and that of the PL/I 0 and F compilers which may result in the different mapping for the structure.

IEL0494I E

IEL049SI E

IEL04961 S

out if the program was originally written for the D or F compilers or if the program is to exchange records to and from D or F programs, when the records are derived from such structures and therefore require identical mapping.

DCL 1 A,

2 B(lO) CHAR(3), 2 C(10) CHAR(2), 1 D DEF A,

2 --.E ( S) CHAR (3) , 2 F(S) CHAR(2);

(simple defining will be used for structure D) STRING OVERLAY DEFINING ASSUMED FOR D.

STRING LENGTH IN DEFINED ITEM D IS TOO LONG FOR SIMPLE DEFINING. STRING OVERLAY DEFINING ASSUMED.

DCL 1 A,

2 B CHAR(l), 2 C CHAR(79), 1 D DEF A,

2 E CHAR (40)

I'

2 F CHAR(40);

ID£E!~~!!Q!!: Simple defining cannot be used where the length of the defined string is greater than the length of the base string. In the above example, s·tring D. E is longer than its corresponding base string A.B.

MAXIMUM LENGTHS OF DEFINED ITEM D AND BASE DIFFER.

AREA SIZE OR MAXIMUM LENGTH OF VARYING STRING IN SIMPLE DEFINED ITEM D DIFFERS FROM THAT OF THE CORRESPONDING BASE. RESULTS OF EXECUTION UNDEFINED.

DCL 1 A, 2 B CHAR(3) VAR, 2 C CHAR(4) VAR, 1 D DEF A,

2 E CHAR(2) VAR, 2 F CHAR(3) VAR;

~2fE!~2tiQ!!: If a defined iteml , for which simple defining is used, is a varying string that is shorter than the corresponding base string which is also varying, an error may occur during execution. A reference to the defined varying string may result in a string that is longer than its declared maximum length.

T INVALID IN 'CALL' STATEMENT.

BUILTIN FUNCTION T INVALID IN 'CALL' STATEMENT. STATEMENT IGNORED.

Part I: Compile-time(IEL) Messages 97

***

BEFORE CALLING IBM FOR PROGRAMMING SUPPORT, REFER TO PAGE 3

***

IEL04971 S

IEL04981 E

IEL04991 S

IEL05001 S

P: PROC;

CALL SIN(X);

END;

D INVALID IN 'FETCH' OR 'RELEASE'.

D IN 'FETCH' OR 'RELEASE' STATEMENT IS INVALID. STATEMENT IGNORED.

P: PROC;

DCL (El,E2) ENTRY OPTIONS(COBOL), E3 ENTRY OPTIONS(FORTRAN), E4 ENTRY;

FETCH Pi (invalid) FETCH Eli (invalid) FETCH E2; (invalid) FETCH E3i (invalid) FETCH E4; (valid)

~?fE!2n2!:!Q!!: The identifier in a FETCH statement must be the name of an external PL/I procedure, and must be

declared as such in the procedure containing the FETCH statement. Non-PL/I routines or internal PL/I procedures cannot be obtained by a FETCH statement.

INVALID SUBSCRIPTED PREFIX T.

SUBSCRIPTED STATEMENT PREFIX T IS NOT A NON-STATIC LABEL ARRAY. PREFIX IGNORED.

DCL LS(2) LABEL STATIC;

LS (1) : i (ignored) DCL LA(3) LABEL AUTOMATIC;

LA (2) :; (accepted) DCL L LABEL;

L(3):; (ignored)

D INITIALIZED BY PREFIX AND DECLARATION.

LABEL VARIABLE D IS INITIALIZED BY STATEMENT PREFIX AND BY DECLARATION. DECLARED 'INITIAL' IGNORED.

DCL LV(3) LABEL INIT(Ll,L2,L3);

LV(l):Ll: X=Y/Z;

CONFLICT IN USE OF D AS T.

CONFLICT BETWEEN USE OF D AS T AND ITS DECLARED ATTRIBUTES. STATEMENT IGNORED.

IELOS01I E

IELOS02I S

IELOS03I E

IELOS04I S

DCL P EVENT.i

CALL P;

~~£lan~t!on: This message is produced when an identifier has an explicit declaration that conflicts with its use when the use would constitute a contextual declaration in the absence of the explicit declaration.

D HAS INVALID ATTRIBUTES. OPTION IGNORED.

ATTRIBUTES FOR D INVALID IN 'ENVIRONMENT' OPTION. OPTION IGNORED.

DCL F FILE ENV(RECSIZE(X) PASSWORD(Y»;

DCL CX,y) FLOAT;

~~E!~n~ti~: The attributes for arguments in the

ENVIRONMENT option are restricted. In the example, the arguments, X and y~ should be declared as follows:

Dans le document OS PL/I (Page 97-103)

Documents relatifs