1 F4P THE FORTRAN IV-PLUS COMPILER The FORTRAN IV-PLUS compiler is an optimizing Fortran compiler capable of producing in-line code. It can potentially produce a Fortran program which executes almost as fast as an assembly language program. By convention /SW sets the switch action, and /NOSW negates the switch action ( SW represents a switch). The command line to the compiler looks like Object-File, List-File/listswitch = Source-File/switches The default extensions are .FTN for the Source-File, and .OBJ for the Object-File. Further AID may be obtained by typing AID F4P KEYWORD, using one of the following keywords. ERROR (Options for getting AID on errors) ERROR Rnn (AID for a specific Runtime error number) ERROR Cnn (AID for a specific Compile error number) LIST (Listing Switch Summary) RENAME (RENAMING a file from a F4P program) SWITCHES (Summary of F4P compiler switches) 2 LIST F4P LISTING OPTIONS /LI:n Specifies listing options. (Defaults to LI:2) n=0 Minimal listing file. Diagnostic messages and program section summary only. n=1 Source listing and program section summary. n=2 Source listing, program section summary, and storage map. n=3 Source listing, assembly code, program section summary, and storage map. n=100000 Assembly code only. (undocumented) 2 SWITCHES F4P Compiler Switch Options /CK check array references /CO specify number of continuation lines /DE compile debug lines /ID print compiler version number /I4 allocate 2 words/integer /LA lock switch setting /LI list switch /RO generate read only code /SP spool listing file /TR controls error traceback /WF specify number of work files /WR enable warning diagnostics Switch default summary: /NOCK/CO:40/NODE/NOI4/NOLA/LI:2/RO/NOSP/TR:NONE/WF:2/WR AID on any of these switches may be obtained by typing AID F4P SWITCH /sw. where sw is the desired switch. 3 CK /CK Code is generated to check that all array references are within array address bounds. The default is /NOCK Use of this switch makes the task size larger and execution times slower, but it is useful for debugging. 3 CO /CO:n A maximum of n continuation lines are permitted in the program, 0<=n<=99. The default value is 40. The number n is expressed as a decimal number if followed by a period. Otherwise it is interpreted as an octal number. 3 DE /DE Compile lines with a D in column 1. These lines are treated as comment lines by the default /NODE switch. 3 ID /ID Print the compiler version number. The default is /NOID. 3 I4 /I4 Allocate two words for default length integer and logical variables. /NOI4 is the default. 3 LA /LA Causes the current switch settings to be retained (latched) for subsequent compilations. Default is /NOLA 3 LIST /LI:n Specifies listing options. (Default is /LI:2) Type AID F4P LIST for details. 3 RO /RO Directs the compiler to specify pure code and pure data sections as READ ONLY(RO). The default is /RO. 3 SP /SP Automatically spool listing file. The default is /NOSP. 3 TR /TR:XXX The /TR switch controls the amount of extra code included in the compiled output for use in error traceback. The default is /TR:NONE /TR /TR:ALL /TR:LINES Error traceback is compiled for all source statements, and function and subroutine entries. /TR:BLOCKS Traceback information is compiled for subroutine and function entries and for certain selected source statements (starting off a block). /TR:NAMES Traceback information is compiled only for subroutine and function entries. /TR:NONE /NOTR Disables all traceback (and produces shorter, faster executing programs). 3 WF /WF:n The /WF switch determines the number of temporary external workfiles used to compile the program. One, two, or three files can be used. One file produces the shortest compilation time, but can compile the smallest number of statements. Three files can compile three times as many statements as one file but requires three times more time per statement than one work file compilations. The default is /WF:2. 3 WR /WR Enable compiler warning diagnostics (w-class messages). The default is /WR. 2 ERROR To get AID on a given error number nn, type: AID F4P ERROR Rnn (run time errors) or AID F4P ERROR Cnn (compile errors) 3 R1 INVALID ERROR CALL A TRAP instruction has been executed whose low byte is within the range used by the OTS for error reporting, but for which no error condition is defined. 3 R2 TASK INITIALIZATION FAILURE Task startup has failed for one of the following reasons: .The directive to initialize synchronous system trap handling (SVTK$S) has returned an error indication. .The executive directive to enable the FPP asynchronous trap (SFPA$S) has returned an error indication. This error will be returned if the task was task-built with /-FP specified, or if the hardware configuration does not contain an FPP. .The FCS-11 initialization call (FINIT$) or RMS-11 initialization call ($INITIF) has returned an error indication. 3 R3 ODD ADDRESS TRAP (SST0) The program has made a word reference to an odd byte address. 3 R4 SEGMENT FAULT (SST1) The program has referenced a non-existent address. This is most likely due to a subscript value out of range on an array reference. 3 R5 T-BIT OR BPT TRAP (SST2) A trap has occurred as a result of the trace bit being set in the processor status word or the execution of a BPT instruction. 3 R6 IOT TRAP (SST3) A trap has occurred as a result of executing an IOT instruction. 3 R7 RESERVED INSTRUCTION TRAP (SST4) The program has attempted to execute an illegal instruction. 3 R8 NON-RSX EMT TRAP (SST5) The program has executed an EMT instruction whose low byte is not in the range used by the operating system. 3 R9 TRAP INSTRUCTION TRAP (SST6) A TRAP instruction has been executed whose low byte is outside the range used for OTS error messages. 3 R10 PDP-11/40 FIS TRAP (SST7) This message may result when an operating system that was generated for an 11/40 is used on another PDP-11 processor. 3 R11 FPP HARDWARE FAULT The FPP Floating Exception Code (FEC) register contained the value 0 following an FPP interrupt. This is probably a hardware malfunction. 3 R12 FPP ILLEGAL OPCODE TRAP The FPP has detected an illegal floating point instruction. 3 R13 FPP UNDEFINED VARIABLE TRAP The FPP loaded an illegal value (-0.0). This trap should not occur since the OTS initialization routine does not enable this trap condition. A negative zero value should never be produced by any FORTRAN operation. 3 R14 FPP MAINTENANCE TRAP The FPP Floating Exception Code register contained the value 14(octal) following a FPP interrupt. This is probably a hardware malfunction. 3 R20 REWIND ERROR An error condition was detected by FCS during the .POINT operation or by RMS-11 during the $REWIND operation used to position at the beginning of a file. 3 R21 DUPLICATE FILE SPECIFICATIONS Multiple attempts to specify file attributes have been attempted, without an intervening close operation, by one of the following: a) DEFINEFILE followed by DEFINEFILE b) DEFINEFILE, CALL ASSIGN or CALL FDBSET followed by an OPEN statement. 3 R22 INPUT RECORD TOO LONG A record has been read which is too large to fit into the user record buffer. Rebuild the task using a larger Task Builder MAXBUF specification, and specify a larger RECORDSIZE for the file. 3 R23 BACKSPACE ERROR One of the following errors has occurred: a) BACKSPACE was attempted on a relative or indexed file or a file opened for append. b) FCS-11 or RMS-11 has detected an error while rewinding the file. c) FCS-11 or RMS-11 has detected an error condition while reading forward to the desired record. 3 R24 END-OF-FILE DURING READ Either an end-file recored produced by the ENDFILE statement or an end of file condition has been encountered during a READ statement and no END= transfer specification was provided. 3 R25 RECORD NUMBER OUTSIDE RANGE A direct access I/O statement has specified a record number outside the range specified in a DEFINEFILE statement or in the MAXREC k?(À of the OPEN statement. 3 R26 ACCESS MODE NOT SPECIFIED The access mode of an I/O statement was inconsistent with the access specified by a DEFINEFILE or OPEN statement for the logical unit. 3 R27 MORE THAN ONE RECORD IN I/O STATEMENT An attempt was made to read or write more than a single record in a REWRITE statement, or an ENCODE or DECODE statement. 3 R28 CLOSE ERROR An error condition has been detected during the CLOSE, DELETE, or PRINT operation when attempting to close a file. 3 R29 NO SUCH FILE A file with the specified name could not be found during an OPEN operation. 3 R30 OPEN FAILURE FCS-11 or RMS-11 has detected an error condition during an open operation. (This message is used when the error condition is not one of the more common conditions for which specific error messages are provided.) 3 R31 MIXED FILE ACCESS MODES An attempt was made to use both formatted and unformatted operations, or both sequential and direct access operations, on the same unit. 3 R32 INVALID LOGICAL UNIT NUMBER A logical unit number was used which is greater than 99, less than 1, or outside the range specified by the Task Builder UNITS option. 3 R33 ENDFILE ERROR End-of-file records may not be written to a direct access file, a relative file, an indexed file, or an unformatted file that does not contain segmented records. 3 R34 UNIT ALREADY OPEN An OPEN statement or DEFINEFILE statement was attempted which specified a logical unit already opened for input/output. 3 R35 SEGMENTED RECORD FORMAT ERROR Invalid segmented record control data was detected in an unformatted sequential file. The file was probably either created with RECORDTYPE='FIXED' or 'VARIABLE' in effect, or written by a language other than FORTRAN. 3 R36 ATTEMPT TO ACCESS NON-EXISTENT RECORD One of the following conditions has occurred: .A non-existent record was specified in a direct access READ or FIND statement to a relative file. The non-existent record can have been either deleted or never written. .A record located beyond the end-of-file was specified in a direct access READ or FIND statement. .No record matches the key value of a keyed access READ statement. 3 R37 INCONSISTENT RECORD LENGTH An invalid or inconsistent record-length specification occurred for one of the following reasons: .The record length specified is too large to fit in the user record buffer. Rebuild the task with a larger Task Builder MAXBUF value. .The record length specified does not match the record-length attribute of an existing fixed-length file. .The record-length specification was omitted when an attempt was made to create a relative file or a file with fixed-length records. 3 R38 ERROR DURING WRITE FCS-11 or RMS-11 has detected an error condition during execution of a WRITE statement. 3 R39 ERROR DURING READ FCS-11 or RMS-11 has detected an error condition during execution of a READ statement. 3 R40 RECURSIVE I/O OPERATION An expression in the I/O list of an I/O statement has caused initiation of another I/O operation. This can happen if a function that performs I/O is referenced in an expression in an I/O list. 3 R41 NO BUFFER ROOM There is not enough free memory left in the OTS buffer area to set up required I/O control blocks and buffers. Rebuild the task with a larger Task Builder ACTFIL option. For RMS-11, rebuild the task with a larger EXTTSK value, or run the task with a larger task increment. 3 R42 NO SUCH DEVICE A filename specification has included an invalid device name or a device for which no handler task (driver) is loaded when when an open operation is attempted. 3 R43 FILE NAME SPECIFICATION ERROR The filename string used in a CALL ASSIGN or OPEN statement is syntactically invalid, contains a qualifier specification, references an undefined device, or is otherwise not acceptable to the operating system. 3 R44 INCONSISTENT RECORD TYPE The RECORDTYPE specification does not match the record type of an existing file. 3 R45 KEYWORD VALUE ERROR IN OPEN STATEMENT An OPEN statement keyword that requires a value has an illegal value. The following values are accepted: a. BLOCKSIZE 0 to 32767 b. EXTENDSIZE -32768 to 32767 c. INITIALSIZE -32768 to 32767 d. MAXREC 0 to 2**31-1 e. BUFFERCOUNT 0 to 127 f. RECORDSIZE 32766 for sequential 16360 for relative or indexed 9999 for magnetic tape 3 R46 INCONSISTANT OPEN/CLOSE PARAMETERS The specifications in an OPEN and/or subsequent CLOSE statements have incorrectly specified one or more of the following: a. A 'NEW' or 'SCRATCH' file which is 'READONLY' b. 'APPEND' to a 'NEW', 'SCRATCH', or 'READONLY' file. c. 'SAVE' or 'PRINT' of a 'SCRATCH' file. d. 'DELETE' or 'PRINT' of a 'READONLY' file. 3 R47 WRITE TO READONLY FILE A write operation has been attempted to a file which was declared to be READONLY. 3 R48 UNSUPPORTED I/O OPERATION An I/O operation (such as direct or keyed access) has been specified which is not supported by the OTS being used. 3 R49 INVALID KEY SPECIFICATION A key specification value, such as position, size, or key-of-reference number, was invalid in an OPEN or READ statement. 3 R50 INCONSISTENT KEY CHANGE OR DUPLICATE KEY VALUE A keyed WRITE or REWRITE statement specified an invalid key value for one or more of the following reasons: .A key value changed that is not allowed to change .A key value duplicated the key value of another record and duplicate key values are not permitted. 3 R51 INCONSISTENT FILE ORGANIZATION The value of the ORGANIZATION keyword in an OPEN statement does not match the organization of the existing file being opened. 3 R52 SPECIFIED RECORD LOCKED The record specified by an I/O statement was locked by another program or another logical unit within your program. 3 R53 NO CURRENT RECORD A REWRITE or sequential DELETE statement was executed but no current record was defined. Sequential REWRITE and DELETE statements must be preceded by a successful READ statement. 3 R54 REWRITE ERROR An error occurred during execution of a REWRITE statement, or an attempt was made to rewrite a record in a sequential or relative file. 3 R55 DELETE ERROR An error occurred during execution of a DELETE statement, or an attempt was made to delete a record from a sequential file. 3 R56 UNLOCK ERROR An error occurred during execution of an UNLOCK statement. 3 R57 FIND ERROR An error occurred during execution of a FIND statement. 3 R59 LIST-DIRECTED I/O SYNTAX ERROR The data in a list-directed input record as an invalid format or the type of the constant is incompatible with the corresponding variable. The value of the variable is unchanged. 3 R60 INFINITE FORMAT LOOP The format associated with an I/O statement that includes an I/O statement that includes an I/O list has no field descriptors to use in transferring those variables. 3 R61 FORMAT/VARIABLE-TYPE MISMATCH An attempt was made to input or output a real variable with an integer field descriptor (I, O, or L), or an integer or logical variable with a real field descriptor (D, E, F, or G). The data type of the value is ignored and the value is processed as if it were of the correct data type. 3 R62 SYNTAX ERROR IN FORMAT A syntax error was encountered while the OTS was processing a format stored in an array. 3 R63 OUTPUT CONVERSION ERROR During a formatted output operation the value of a particular number could not be output in the specified field length without loss of significant digits. The field width is filled with asterisks (*). 3 R64 INPUT CONVERSION ERROR During a formatted input operation an invalid character was detected in an input file or the input value overflowed the range representable in the input variable. The value of the variable is set to zero. 3 R65 FORMAT TOO BIG FOR 'FMTBUF' The OTS has run out of memory while scanning an array format that was generated at run time. The default internal format buffer length is 64 bytes. This may be increased by using the Task Builder FMTBUF option. 3 R66 OUTPUT STATEMENT OVERFLOWS RECORD An output operation has specified a record that exceeds the maximum length size specified. The maximum record length is specified by the DEFINEFILE statement, the RECORDSIZE keyword of the OPEN statement, or by the record length attribute of an existing file. 3 R67 RECORD TOO SMALL FOR I/O LIST A READ statement has attempted to input more data than existed in the record being read. For example, the I/O list might have too many elements. 3 R68 VARIABLE FORMAT EXPRESSION VALUE ERROR The value of a variable format expression is not within the range acceptable for its intended use; e.g., a field width which is less than or equal to zero. A value of 1 is used. 3 R70 INTEGER OVERFLOW During an arithmetic operation an integer's value has exceeded Integer*4 range. (Note: Overflow of Integer*2 range involving Integer*2 variables is generally not detected.) 3 R71 INTEGER ZERO DIVIDE During an integer mode arithmetic operation an attempt was made to divide by zero. 3 R72 FLOATING OVERFLOW During an arithmetic operation a real value has exceeded the largest representable real number. The result of the operation is set to zero. 3 R73 FLOATING ZERO DIVIDE During a real mode arithmetic operation an attempt was made to divide by zero. The result of the operation is set to zero. 3 R74 FLOATING UNDERFLOW During an arithmetic operation a real value has become less than the smallest representable real number, and has been replaced with a value of zero. 3 R75 FPP FLOATING TO INTEGER CONVERSION OVERFLOW The conversion of a floating point value to an integer has resulted in a value which overflows the range representable in an integer. The resulting value is zero. 3 R80 WRONG NUMBER OF ARGUMENTS One of the FORTRAN Library Functions or System Subroutines which checks for such an occurrence, has been called with an improper number of arguments. 3 R81 INVALID ARGUMENT One of the FORTRAN Library Functions or System Subroutines has detected an invalid argument value. 3 R82 UNDEFINED EXPONENTIATION An exponentiation has been attempted which is mathematically undefined; e.g., 0.**0. The result returned is zero. 3 R83 LOGARITHM OF ZERO OR NEGATIVE VALUE An attempt was made to take the logarithm of zero or a negative number. The result returned is zero. 3 R84 SQUARE ROOT OF NEGATIVE VALUE An argument required the evaluation of the square root of a negative value. The square root of the absolute value is computed and returned. 3 R86 INVALID ERROR NUMBER The error number argument to one of the subroutines ERRSET, ERRSNS, or ERRTST is not a valid error number. 3 R91 COMPUTED GOTO OUT OF RANGE The integer variable or expression in a computed GO TO statement was less than 1 or greater than the number of statement label references in the list. Control is transferred to the next executable statement. 3 R92 ASSIGNED LABEL NOT IN LIST An assigned GOTO has been executed in which the label assigned to the variable is not one of the labels in the list. Control is transferred to the next executable statement. 3 R93 ADJUSTABLE ARRAY DIMENSION ERROR Upon entry to a subprogram, the evaluation of dimensioning information has detected an array in which a. an upper dimension bound is less than a lower dimension bound, or, b. the dimensions imply an array which exceeds addressable memory. 3 R94 ARRAY REFERENCE OUTSIDE ARRAY An array reference has been detected which is outside the array as described by the array declarator. Execution continues. (This checking is performed only for program units compiled with the /CK switch in effect.). 3 R95 INCOMPATIBLE FORTRAN OBJECT MODULE IN TASK An object module produced by another PDP-11 FORTRAN compiler has been linked with a FORTRAN IV-PLUS task. 3 R96 MISSING FORMAT CONVERSION ROUTINE A format conversion code has been used for which the corresponding conversion routine is not loaded. 3 R97 FTN FORTRAN ERROR CALL The error-reporting subroutine entry used by the FTN FORTRAN system has been called. Possibly an FTN object module or FTN-dependent service subroutine has been included in the task. 3 R98 USER REQUESTED TRACEBACK A user-supplied MACRO-11 subprogram has requested a subroutine calling nest-traceback display. Execution continues. 3 R100 DIRECTIVE: MISSING ARGUMENT(S) A call to a system directive subroutine was made in which one or more of the arguments required for directive execution was not given. 3 R101 DIRECTIVE: INVALID EVENT FLAG NUMBER A call to a system directive subroutine was made in which the argument used for event flag specification was not in the valid range(1 to 64). 3 R111 VIRTUAL ARRAY INITIALIZATION FAILURE The mapped array area could not be initialized. The operating system does not support the memory-management directives required, or no memory management registers are available for use. 3 R112 VIRTUAL ARRAY MAPPING ERROR A virtual array address was invalid. This is probably due to a subscript being out of bounds. Execution continues. 3 C1 REDUNDANT CONTINUATION MARK IGNORED (W) A continuation mark was present where an initial line is required. It has been ignored. 3 C2 INVALID STATEMENT NUMBER IGNORED (W) An imroperly formed statement number wa present in columns 1-5 of an initial line. It has been ignored. 3 C3 TOO MANY CONTINUATION LINES, REMAINDER IGNORED (E) More continuation lines were present than were specified by the /CO:n qualifier. Up to 99 continuation lines are permitted. 3 C4 SOURCE LINE TOO LONG, COMPILATION TERMINATED (F) A line contained more than 88 characters. Note that only the first 72 characters of a line are examined by the compiler. 3 C5 STATEMENT OUT OF ORDER, STATEMENT IGNORED (E) Statements must appear in the order specified in the PDP-11 FORTRAN Language Reference Manual. 3 C6 STATEMENT NOT VALID IN THIS PROGRAM UNIT, STATEMENT IGNORED (E) A statement which is not permitted to appear in the program unit was present; for example, an executable statement in a BLOCK DATA subprogram. 3 C7 MISSING END STATEMENT, END IS ASSUMED (E) No END statement was present at the end of the last file. One has been inserted. 3 C8 EXTRA CHARACTERS FOLLOWING A VALID STATEMENT (E) Extranious text was present at the end of a syntactically valid statement. Check the entire statement for typing or syntactic errors. 3 C9 STATEMENT CANNOT BE LABELED, LABEL IGNORED (W) A label was present on a statement where it is not permitted. It has been ignored. 3 C10 MULTIPLE DEFINITION OF A STATEMENT LABEL, SECOND IGNORED (E) Two or more statements have the same statement label. 3 C11 COMPILER EXPRESSION STACK OVERFLOW (F) The statement contains an expression which is too complex to be compiled. This error occurs in the following cases: .an arithmetic or logical expression is too complex .a reference to a subprogram has too many acual arguments .an OPEN statement has too many arguments 3 C12 STATEMENT CANNOT TERMINATE A DO LOOP (W) The terminal statement of a DO loop must not be a GO TO, arithmetic IF, RETURN, DO or END statement. 3 C13 COUNT OF HOLLERITH OR RADIX50 CONSTANT TOO LARGE, REDUCED (E) The integer count preceding H or R specifies more characters than remain in the source statement. 3 C14 MISSING APOSTROPHE IN ALPHANUMERIC LITERAL (E) Alphanumeric literals must be enclosed by single apostrophes. 3 C15 MISSING VARIABLE OR SUBPROGRAM NAME (F) A required variable name or subprogram name was not found. 3 C16 MULTIPLE DECLARATION OF DATA TYPE FOR VARIABLE, FIRST USED (E) A variable cannot appear in more than one type declaration statement. The first type declaration is used. 3 C17 CONSTANT IN FORMAT ITEM OUT OF RANGE (E) A numeric value in a FORMAT statement is not within the permitted range, as given in the PDP-11 FORTRAN Language Reference Manual. 3 C18 ILLEGAL REPEAT COUNT IN DATA STATEMENT, COUNT IGNORED (E) The repeat count in a DATA statement was not an unsigned nonzero integer constant. It has been ignored. 3 C19 MISSING CONSTANT (F) A required constant was not found. 3 C20 MISSING VARIABLE OR CONSTANT (F) An expression, or a term of an expression, has been omitted. 3 C21 MISSING OPERATOR OR DELIMITER SYMBOL (F) Two terms of an expression have no operator separating them, or a punctuation mark (such as a comma) was omitted. 3 C22 MULTIPLE DECLARATION OF NAME (F) A name appears in two or more inconsistent declaration statements. 3 C23 SYNTAX ERROR IN IMPLICIT STATEMENT (E) The form of the IMPLICIT statement is described in the PDP-11 Language Reference Manual. 3 C24 MORE THAN 7 DIMENSIONS SPECIFIED, REMAINDER IGNORED (E) An array may only have up to 7 dimensions. 3 C25 NON-CONSTANT SUBSCRIPT WHERE CONSTANT REQUIRED (F) In the DATA and EQUIVALENCE statements, subscript expressions are required to be constant. 3 C26 NO PATH TO THIS STATEMENT (W) Program control cannot reach the statement. The statement is deleted. 3 C27 ADJUSTABLE ARRAY BOUNDS MUST BE DUMMY ARGUMENTS OR IN COMMON (E) Variables specified in dimension declarator expressions must be subprogram dummy arguments or appear in COMMON. 3 C28 OVERFLOW WHILE CONVERTING CONSTANT OR CONSTANT EXPRESSION (E) The specified value of a constant is too large or too small to be represented. 3 C29 INCONSISTENT USAGE OF STATEMENT LABEL (E) Labels of executable statements have been confused with labels of FORMAT statements. 3 C30 MISSING EXPONENT AFTER E OR D (E) A floating point constant was specified in E or D notation, but the exponent was omitted. 3 C31 NON-RADIX50 CHARACTER IN RADIX50 CONSTANT (E) The Radix-50 characters are the letters A-Z, the digits 0-9, the dollar sign, the period, and the space. A space is substituted for the invalid character. 3 C32 PROGRAM STORAGE REQUIREMENTS EXCEED ADDRESSABLE MEMORY (F) The storage space allocated to the variables and arrays of the program unit exceeds the addressing range of the PDP-11. 3 C33 VARIABLE INCONSISTENTLY EQUIVALENCED TO ITSELF (F) The EQUIVALENCE statements of the program specify inconsistent relationships among variables and array elements. example: EQUIVALENCE (A(1), A(2)) 3 C34 UNDIMENSIONED ARRAY OR FUNCTION DEFINITION OUT OF ORDER (F) The statement is either an arithmetic statement function definition incorrectly placed among executable statements (see the PDP-11 FORTRAN Language Reference Manual), or an assignment statement involving an array for which dimension information has not been given. 3 C35 FORMAT SPECIFIER IN ERROR (F) The format code character of a field descriptor is not among those described in the PDP-11 FORTRAN Language Reference Manual. 3 C36 SUBSCRIPT EXPRESSION OUT OF BOUNDS (F) An array element has been referenced which is not within the specified dimension bounds. 3 C37 ILLEGAL EQUIVALENCE OF TWO VARIABLES IN COMMON (F) Variables in COMMON cannot be equivalenced to each other. 3 C38 EQUIVALENCE STATEMENT ILLEGALLY EXPANDS A COMMON BLOCK (F) A COMMON block cannot be extended beyond its beginning by an EQUIVALENCE statement. 3 C39 ALLOCATION BEGINS ON A BYTE BOUNDARY (E) A non-BYTE quantity has been allocated to an odd byte boundary. 3 C40 ADJUSTABLE ARRAY USED IN INVALID CONTEXT (F) An adjustable array has been referenced in a context where it is not permitted. 3 C41 SUBSCRIPTED REFERENCE TO NON-ARRAY VARIABLE (F) A variable which has not been dimensioned cannot appear with subscripts. 3 C42 NUMBER OF SUBSCRIPTS DOES NOT MATCH ARRAY DECLARATION (F) More or fewer dimensions were referenced than were declared. 3 C43 INCORRECT LENGTH MODIFIER IN TYPE DECLARATION IGNORED (E) The length specified in an intra-type statement override is not compatable with the data type specified. example: INTEGER PIPES*8 3 C44 SYNTAX ERROR IN INCLUDE FILE DESCRIPTOR (F) The file string is syntactically invalid, contains an illegal switch specification, references an undefined device mnemonic, or is otherwise not acceptable to the operating system. 3 C45 MISSING SEPARATOR BETWEEN FORMAT ITEMS (E) A comma or other separating character has been omitted. 3 C46 ZERO-LENGTH STRING (E) The length specification of a Hollerith or Radix-50 constant must be nonzero. 3 C47 MISSING STATEMENT LABEL (F) A statement label reference was not present where one is required 3 C48 MISSING KEYWORD (F) A keyword, such as TO, was not present where one is required. 3 C49 NONINTEGER EXPRESSION WHERE INTEGER VALUE REQUIRED (F) An expression which is required to be of type INTEGER was of another data type. 3 C50 UNDEFINED STATEMENT LABEL (F) A reference has been made to a statement label that is not defined in the program unit. 3 C51 NUMBER OF NAMES EXCEEDS NUMBER OF VALUES IN DATA STATEMENT (E) The number of constants specified in a DATA statement must match the number of variables or array elements to be initialized. 3 C52 NUMBER OF VALUES EXCEEDS NUMBER OF NAMES IN DATA STATEMENT (E) The number of constants specified in a DATA statement must match the number of variables or array elements to be initialized. 3 C53 STATEMENT CANNOT APPEAR IN LOGICAL IF STATEMENT (F) The statement contained in a logical IF must not be another logical IF,DO, or END statement. 3 C54 UNCLOSED DO LOOPS (F) The terminal statement of a DO loop was not found. 3 C55 ASSIGNMENT TO DO VARIABLE WITHIN LOOP (W) The control variable of a DO loop has been assigned a value within the loop. 3 C56 VARIABLE NAME, CONSTANT, OR EXPRESSION ILLEGAL IN THIS CONTEXT (F) A quantity has been incorrectly used; for example, the name of a subprogram where an arithmetic expression is required. 3 C57 OPERATION NOT PERMISSIBLE ON THESE DATA TYPES (F) An illegal operation, such as .AND. of two real variables, was specified. 3 C58 LEFT SIDE OF ASSIGNMENT MUST BE VARIABLE OR ARRAY ELEMENT (F) 3 C59 SYNTAX ERROR IN I/O LIST (F) 3 C60 CONSTANT SIZE EXCEEDS VARIABLE SIZE IN DATA STATEMENT (E) The size of a constant in a DATA statement is greater than that of its corresponding variable. 3 C61 STRING CONSTANT TRUNCATED TO MAXIMUM LENGTH (E) The maximum length of a Hollerith constant or alphanumeric literal is 255 characters; of a Radix-50 constant, 12. 3 C62 LOWER BOUND GREATER THAN UPPER BOUND IN ARRAY DECLARATION (E) The upper bound of a dimension must be greater than or equal to the lower bound. 3 C63 FORMAT ITEM CONTAINS MEANINGLESS CHARACTER (E) An invalid character or syntax error was present in a FORMAT statement. 3 C64 FORMAT ITEM CANNOT BE SIGNED (E) A signed constant can appear only with the P format code. 3 C65 UNBALANCED PARENTHESES IN FORMAT LIST (E) 3 C66 MISSING NUMBER IN FORMAT LIST (E) example: FORMAT(F6.) 3 C67 EXTRA NUMBER IN FORMAT LIST (E) example: FORMAT(I4,3) 3 C68 EXTRA COMMA IN FORMAT LIST (E) example: FORMAT(I4,) 3 C69 FORMAT GROUPS NESTED TOO DEEPLY (E) Too many parenthesized format groups have been nested. FORMATS can be nested to eight levels. 3 C70 END= OR ERR= SPECIFICATION GIVEN TWICE, FIRST USED (E) 3 C71 INVALID I/O SPECIFICATION FOR THIS TYPE OF I/O STATEMENT (F) There is a syntax error in the portion of an I/O statement preceding the I/O list. 3 C72 ARGUMENTS INCOMPATIBLE WITH FUNCTION, ASSUMED USER SUPPLIED (E) The argument list given with a function reference, where the function name is one of the PDF names as shown in Table 1-3, (F4P User's Guide) does not agree in order, number, and type with the requirements of a processor-defined function. The function is assumed to be an EXTERNAL* function supplied by the user. 3 C73 ENTRY WITHIN DO LOOP, STATEMENT IGNORED (E) An ENTRY statement is not permitted within the range of a DO loop. 3 C74 STATEMENT TOO COMPLEX (F) The statement is too large to compile, it must be subdivided into several statements. 3 C75 TOO MANY NAMED COMMON BLOCKS (F) Reduce the number of named common blocks. 3 C76 INCLUDE FILES NESTED TOO DEEPLY (F) Reduce the level of nesting or increase the number of continuation lines permitted. Each INCLUDE file requires space for approximately two continuation lines. 3 C77 DUPLICATED KEYWORD IN OPEN/CLOSE STATEMENT (F) A keyword subparameter of the OPEN or CLOSE statement cannot be specified more than once. 3 C78 DO STATEMENTS NESTED TOO DEEPLY (F) DO loops cannot be nested more than 10 levels. 3 C79 DO STATEMENTS INCORRECTLY NESTED (W) The terminal statements of a nest of DO loops are incorrectly ordered, or a terminal statement precedes its DO statement. 3 C80 UNIT= KEYWORD MISSING IN OPEN/CLOSE STATEMENT (W) The UNIT = subparameter of the OPEN and CLOSE statement must be present. 3 C81 LETTER MENTIONED TWICE IN IMPLICIT STATEMENT, LAST USED (E) An initial letter has been given an implicit type more than once. The last appearance is used. 3 C82 INCORRECT KEYWORD IN CLOSE STATEMENT (F) A subparameter has been specified in a CLOSE statement that can be specified only in an OPEN statement. 3 C83 MISSING I/O LIST (F) An I/O list was not present where one is required. 3 C84 OPEN FAILURE ON INCLUDE FILE (F) The file specified could not be opened. Possibly the file specification is incorrect, the file does not exist, the volume is not mounted, or a protection violation occured. 3 C85 NAME LONGER THAN 6 CHARACTERS (W) A symbolic name has been truncated to six characters. 3 C86 INVALID VIRTUAL ARRAY USAGE (F) A virtual array has been used in a context that is not permitted. 3 C87 INVALID KEY SPECIFICATION (F) The key value in a keyed I/O statement must be an alphanumeric literal, a BYTE array name, or an integer expression. 3 C88 NONLOGICAL EXPRESSION WHERE LOGICAL VALUE REQUIRED (F) An expression that must be of type LOGICAL was another data type.