This appendix describes the various messages that the compiler produces. These messages include the sign-on message and diagnostic messages for remarks, warnings, and errors. The compiler always displays any error messages, along with the erroneous source line, on the screen. If you specify the -Mlist option, the compiler places any error messages in the listing file. You can also use the -v option to display more information about the compiler, assembler, and linker invocations and about the host system. For more information on the -Mlist and -v options, refer to Chapter 7, Command-line Options.
Diagnostic messages provide syntactic and semantic information about your source text. Syntactic information can include, for example, syntax errors. Semantic information includes, for example, unreachable code.
You can specify that the compiler displays error messages at a certain level with the -Minform option. For more information on the -Minform option, refer to Chapter 7, Command-line Options.
The compiler messages refer to a severity level, a message number, and the line number where the error occurs.
The compiler can also display internal error messages on standard error. If your compilation produces any internal errors, contact your Portland Group technical support representative.
If you use the listing file option -Mlist , the compiler places diagnostic messages after the source lines in the listing file, in the following format:
PGFTN-etype-enum-message (filename: line)
You can display compiler, assembler, and linker phase invocations by using the -v command line option. For further information about this option, see Chapter 7.
This section presents the error messages generated by the compiler. The compiler displays error messages in the program listing and on standard output; it can also display internal error messages on standard error. If a compilation produces any internal errors, contact your PGI representative.
Each message is numbered. Each message also lists the line and column number where the error occurs. A dollar sign ($) in a message represents information that is specific to each occurrence of the message.
0000 Internal compiler error. $ $
This message indicates an error in the compiler, not a user error (although a user can cause an internal error). The severity may vary; if it is informative or warning, the compiler probably generated correct object code but there is no way to be sure. Regardless of the severity or cause, internal errors should be reported to PGI.
0001 Source input file name not specified
On the command line, source file name should be specified either before all the switches, or after them.
0002 Unable to open source input file: $
Source file name misspelled, file not in current working directory, or file is read protected.
0003 Unable to open listing file
Probably, user does not have write permission for the current working directory.
0004 Unable to open object file
Probably, user does not have write permission for the current working directory.
0005 Unable to open temporary file
Compiler uses directory /usr/tmp or /tmp in which to create temporary files. If neither of these directories is available on the node on which the compiler is being used, this error will occur.
0006 Input file empty
Source input file does not contain any Fortran statements other than comments or compiler directives.
0007 Subprogram $ too large to compile at this optimization level
Internal compiler data structure overflow, working storage exhausted, or some other non-recoverable problem related to the size of the subprogram. If this error occurs at opt 2 or greater , reducing the opt level to 1 may work around the problem. Moving the subprogram being compiled to its own source file may eliminate the problem. If this error occurs while compiling a subprogram of fewer than 2000 statements it should be reported to PGI as a possible compiler problem.
0008 Error limit exceeded
The compiler gives up after 50 severe errors.
0009 Unable to open assembly file
Probably, user does not have write permission for the current working directory.
0011 Unrecognized command line switch: $
Refer to Chapter 7, Command-line Options for a list of allowed compiler switches.
0012 Value required for command line switch: $
Certain switches require a value immediately following.
0013 Unrecognized value specified for command line switch: $ 0014 Ambiguous command line switch: $
Too short an abbreviation was used for one of the switches.
0015 Hexadecimal or octal constant truncated to fit data type 0016 Identifier, $, truncated to 31 chars
An identifier may be at most 31 characters; characters after the 31st are ignored.
0017 Unable to open include file: $
File is missing, read protected, or maximum include depth (10) exceeded.
0018 Illegal label field
The label field (first five characters) of the indicated line contains a non-numeric character.
0019 Illegally placed continuation line
A continuation line does not follow an initial line, or more than 99 continuation lines were specified.
0020 Unrecognized compiler directive 0021 Label field of continuation line is not blank
The first five characters of a continuation line must be blank.
0022 Unexpected end of file - missing END statement 0023 Syntax error - unbalanced parentheses 0024 CHARACTER or Hollerith constant truncated to fit data type
A character or hollerith constant was converted to a data type that was not large enough to contain all of the characters in the constant. This type conversion occurs when the constant is used in an arithmetic expression or is assigned to a non-character variable. The character or hollerith constant is truncated on the right That is if 4 characters are needed then the first 4 are used and the remaining characters are discarded.
0025 Illegal character ($) - ignored
The current line contains a character, possibly nonprinting, which is not a legal Fortran character (characters inside of character or Hollerith constants cannot cause this error). As a general rule, all non-printing characters are treated as white space characters (blanks and tabs); no error message is generated when this occurs. If for some reason, a non-printing character is not treated as a white space character, its hex representation is printed in the form dd where each d is a hex digit.
0026 Unmatched quote 0027 Illegal integer constant: $
Integer constant is too large for 32 bit word.
0028 Illegal real or double precision constant: $ 0029 Illegal hexadecimal constant: $
A hexadecimal constant consists of digits 0..9 and letters A..F or a..f. Any other character in a hexadecimal constant is illegal.
0030 Illegal octal constant: $
An octal constant consists of digits 0..7. Any other digit or character in an octal constant is illegal.
0031 Illegal data type length specifier for $
The data type length specifier (e.g. 4 in INTEGER*4) is not a constant expression that is a member of the set of allowed values for this particular data type.
0032 Data type length specifier not allowed for $
The data type length specifier (e.g. 4 in INTEGER*4) is not allowed in the given syntax (e.g. DIMENSION A(10)*4).
0033 Illegal use of constant $
A constant was used in an illegal context, such as on the left side of an assignment statement or as the target of a data initialization statement.
0034 Syntax error at or near $ 0035 Predefined intrinsic $ loses intrinsic property
An intrinsic name was used in a manner inconsistent with the language definition for that intrinsic. The compiler, based on the context, will treat the name as a variable or an external function.
0036 Illegal implicit character range
First character must alphabetically precede second.
0037 Contradictory data type specified for $
The indicated identifier appears in more than one type specification statement and different data types are specified for it.
0038 Symbol, $, has not been explicitly declared
The indicated identifier must be declared in a type statement; this is required when the IMPLICIT NONE statement occurs in the subprogram.
0039 Symbol, $, appears illegally in a SAVE statement
An identifier appearing in a SAVE statement must be a local variable or array.
0040 Illegal common variable $
Indicated identifier is a dummy variable, is already in a common block, or has previously been defined to be something other than a variable or array.
0041 Illegal use of dummy argument $
This error can occur in several situations. It can occur if dummy arguments were specified on a PROGRAM statement. It can also occur if a dummy argument name occurs in a DATA, COMMON, SAVE, or EQUIVALENCE statement. A program statement must have an empty argument list.
0042 $ is a duplicate dummy argument 0043 Illegal attempt to redefine $ $
An attempt was made to define a symbol in a manner inconsistent with an earlier definition of the same symbol. This can happen for a number of reasons. The message attempts to indicate the situation that occurred:
Intrinsic: An attempt was made to redefine an intrinsic function. A symbol that represents an intrinsic function may be redefined if that symbol has not been previously verified to be an intrinsic function. For example, the intrinsic SIN can be defined to be an integer array. If a symbol is verified to be an intrinsic function via the INTRINSIC statement or via an intrinsic function reference then it must be referred to as an intrinsic function for the remainder of the program unit.
Symbol: An attempt was made to redefine a symbol that was previously defined. An example of this is to declare a symbol to be a PARAMETER which was previously declared to be a subprogram argument.
0044 Multiple declaration for symbol $
An attempt was made to declare a symbol as an entry point when that symbol was previously declared as an entry point or another data type.
0045 Data type of entry point $ disagrees with function $
The current function has entry points with data types inconsistent with the data type of the current function. For example, the function returns type character and an entry point returns type complex.
0046 Data type length specifier in wrong position
A character data type specifier has a different position for the length specifier from the other data types. Suppose, we want to declare arrays ARRAYA and ARRAYB to have 8 elements each having an element length of 4 bytes. The difference is that ARRAYA is character and ARRAYB is integer. The declarations would be CHARACTER ARRAYA(8)*4 and INTEGER ARRAYB*4(8).
0047 More than seven dimensions specified for array 0048 Illegal use of '*' in declaration of array $
An asterisk may be used only as the upper bound of the last dimension.
0049 Illegal use of '*' in non-subroutine subprogram
The alternate return specifier '*' is legal only in the subroutine statement. Programs, functions, and block data are not allowed to have alternate return specifiers.
0050 Adjustable or assumed size array, $, is not a dummy argument 0051 Unrecognized built-in % function
The allowable built-in functions are %VAL, %REF, %LOC, and %FILL. One was encountered that did not match one of these allowed forms.
0052 Illegal argument to %VAL or %LOC 0053 %REF or %VAL not legal in this context
The built-in functions %REF and %VAL can only be used as actual parameters in procedure calls.
0054 Implicit character $ used in a previous implicit statement
An implicit character has been given an implied data type more than once. The implied data type for the implicit character is changed anyway.
0055 Multiple implicit none statements
The IMPLICIT NONE statement can occur only once in a subprogram.
0056 Implicit type declaration
The -Mdclchk switch and an implicit declaration following an IMPLICIT NONE statement will produce a warning message for IMPLICIT statements.
0057 Illegal equivalence of dummy variable, $
Dummy arguments may not appear in EQUIVALENCE statements.
0058 Equivalenced variables $ and $ not in same common block
A common block variable must not be equivalenced with a variable in another common block.
0059 Conflicting equivalence between $ and $
The indicated equivalence implies a storage layout inconsistent with other equivalences.
0060 Illegal equivalence of structure variable, $
STRUCTURE and UNION variables may not appear in EQUIVALENCE statements.
0061 Equivalence of $ and $ extends common block backwards 0062 Equivalence forces $ to be unaligned
EQUIVALENCE statements have defined an address for the variable which has an alignment not optimal for variables of its data type. This can occur when INTEGER and CHARACTER data are equivalenced, for instance.
0063 Gap in common block $ before $ 0064 Illegal use of $ in DATA statement implied DO loop
The indicated variable is referenced where it is not an active implied DO index variable.
0065 Repeat factor less than or equal to zero 0066 Too few data constants in initialization statement 0067 Too many data constants in initialization statement 0068 Numeric initializer for CHARACTER $ out of range 0 through 255
A CHARACTER*1 variable or character array element can be initialized to an integer, octal, or hexadecimal constant if that constant is in the range 0 through 255.
0069 Illegal implied DO expression
The only operations allowed within an implied DO expression are integer +, -, *, and /.
0070 Incorrect sequence of statements $
The statement order is incorrect. For instance, an IMPLICIT NONE statement must precede a specification statement which in turn must precede an executable statement.
0071 Executable statements not allowed in block data 0072 Assignment operation illegal to $ $
The destination of an assignment operation must be a variable, an array reference, or a vector reference. The assignment operation may be by way of an assignment statement, a data statement, or the index variable of an implied DO-loop. The compiler has determined that the identifier used as the destination, is not a storage location. The error message attempts to indicate the type of entity used:
Entry point: An assignment to an entry point that was not a function procedure was attempted.
External procedure: An assignment to an external procedure or a Fortran intrinsic name was attempted (an external procedure if the identifier is the name of an entry point that is not a function).
0073 Intrinsic or predeclared, $, cannot be passed as an argument 0074 Illegal number or type of arguments to $
The indicated symbol is an intrinsic or generic function, or a predeclared subroutine or function, requiring a certain number of arguments of a fixed data type.
0075 Subscript, substring, or argument illegal in this context for $
This can happen if you try to doubly index an array such as ra(2)(3). This also applies to substring and function references.
0076 Subscripts specified for non-array variable $ 0077 Subscripts omitted from array $ 0078 Wrong number of subscripts specified for $ 0079 Keyword form of intrinsic argument illegal infor $ 0080 Subscript for array $ is out of bounds 0081 Matrix/vector $ illegal as subprogram argument
A matrix/vector reference cannot be used as a subprogram argument.
0082 Illegal substring expression for variable $
Substring expressions must be of type integer and if constant must be greater than zero.
0083 Vector expression used where scalar expression required
A vector expression was used in an illegal context. For example, iscalar = iarray, where a scalar is assigned the value of an array. Also, character and record references are not vectorizable.
0084 Illegal use of symbol $ $
This message is used for many different errors.
0085 Incorrect number of arguments to statement function $ 0086 Dummy argument to statement function must be a variable 0087 Non-constant expression where constant expression required 0088 Recursive subroutine or function call of $
A function may not call itself.
0089 Illegal use of symbol, $, with character length = *
Symbols of type CHARACTER*(*) must be dummy variables and must not be used as statement function dummy parameters and statement function names. Also, a dummy variable of type CHARACTER*(*) cannot be used as a function.
0090 Hollerith constant more than 4 characters
In certain contexts, Hollerith constants may not be more than 4 characters long.
0091 Constant expression of wrong data type 0092 Illegal use of variable length character expression
A character expression used as an actual argument, or in certain contexts within I/O statements, must not consist of a concatenation involving a passed length character variable.
0093 Type conversion of expression performed
An expression of some data type appears in a context which requires an expression of some other data type. The compiler generates code to convert the expression into the required type.
0094 Variable $ is of wrong data type $
The indicated variable is used in a context which requires a variable of some other data type.
0095 Expression has wrong data type
An expression of some data type appears in a context which requires an expression of some other data type.
0096 Illegal complex comparison
The relations .LT., .GT., .GE., and .LE. are not allowed for complex values.
0097 Statement label $ has been defined more than once
More than one statement with the indicated statement number occurs in the subprogram.
0098 Divide by zero 099 Illegal use of an aggregate RECORD
Aggregate record references may only appear in aggregate assignment statements, unformatted I/O statements, and as parameters to subprograms. They may not appear, for example, in expressions. Also, records with differing structure types may not be assigned to one another.
100 Expression cannot be promoted to a vector
An expression was used that required a scalar quantity to be promoted to a vector illegally. For example, the assignment of a character constant string to a character array. Records, too, cannot be promoted to vectors.
101 Vector operation not allowed on $
Record and character typed entities may only be referenced as scalar quantities.
102 Arithmetic if expression has wrong data type
The parenthetical expression of an arithmetic if statement must be an integer, real, or double precision scalar expression.
103 Type conversion of subscript expression for $
The data type of a subscript expression must be integer. If it is not, it is converted.
104 Illegal control structure $
This message is issued for a number of errors involving IF-THEN statements and DO loops. If the line number specified is the last line (END statement) of the subprogram, the error is probably an unterminated DO loop or IF-THEN statement.
105 Unmatched ELSEIF, ELSE or ENDIF statement
An ELSEIF, ELSE, or ENDIF statement cannot be matched with a preceding IF-THEN statement.
106 DO index variable must be a scalar variable
The DO index variable cannot be an array name, a subscripted variable, a PARAMETER name, a function name, a structure name, etc.
107 Illegal assigned goto variable $ 108 Illegal variable, $, in NAMELIST group $
A NAMELIST group can only consist of arrays and scalars which are not dummy arguments or pointer-based variables.
109 Overflow in hexadecimal constant $, constant truncated at left
A hexadecimal constant requiring more than 64-bits produces an overflow. The hexadecimal constant is truncated at left (e.g. '1234567890abcdef1'x will be '234567890abcdef1'x).
110 Overflow in octal constant $, constant truncated at left
An octal constant requiring more than 64-bits produces an overflow. The octal constant is truncated at left (e.g. '2777777777777777777777'o will be '777777777777777777777'o).
111 Underflow of real or double precision constant 112 Overflow of real or double precision constant 113 Label $ is referenced but never defined 116 Illegal use of pointer-based variable $ 117 Statement not allowed within STRUCTURE definition 118 Statement not allowed in DO, IF, or WHERE block 119 Redundant specification for $
Data type of indicated symbol specified more than once.
120 Label $ is defined but never referenced 121 Operation requires logical or integer data types
An operation in an expression was attempted on data having a data type incompatible with the operation. For example, a logical expression can consist of only logical elements of type integer or logical. Real data would be invalid.
122 Character string truncated
Character string or Hollerith constant appearing in a DATA statement or PARAMETER statement has been truncated to fit the declared size of the corresponding identifier.
123 Hollerith length specification too big, reduced
The length specifier field of a hollerith constant specified more characters than were present in the character field of the hollerith constant. The length specifier was reduced to agree with the number of characters present.
124 Relational expression mixes character with numeric data
A relational expression is used to compare two arithmetic expressions or two character expressions. A character expression cannot be compared to an arithmetic expression.
125 Dummy procedure $ not declared EXTERNAL
A dummy argument which is not declared in an EXTERNAL statement is used as the subprogram name in a CALL statement, or is called as a function, and is therefore assumed to be a dummy procedure. This message can result from a failure to declare a dummy array.
126 Name $ is not an intrinsic function 127 Optimization level for $ changed to opt 1 $ 128 Integer constant truncated to fit data type: $
An integer constant will be truncated when assigned to data types smaller than 32-bits, such as a BYTE.
129 Floating point overflow. Check constants and constant expressions 130 Floating point underflow. Check constants and constant expressions 131 Integer overflow. Check floating point expressions cast to integer 132 Floating pt. invalid oprnd. Check constants and constant expressions 133 Divide by 0.0. Check constants and constant expressions 135 Missing STRUCTURE name field
STRUCTURE name field is required on the outermost structure.
136 Field-namelist not allowed
The field-namelist field of the STRUCTURE statement is disallowed on the outermost structure.
137 Field-namelist is required in nested structures 138 Multiply defined STRUCTURE member name $
A member name was used more than once within a structure.
139 Structure $ in RECORD statement not defined
A RECORD statement contains a reference to a STRUCTURE that has not yet been defined.
140 Variable $ is not a RECORD 141 RECORD required on left of . 142 $ is not a member of this RECORD 144 NEED ERROR MESSAGE $ $
This is used as a temporary message for compiler development.
145 %FILL only valid within STRUCTURE block
The %FILL special name was used outside of a STRUCTURE multiline statement. It is only valid when used within a STRUCTURE multiline statement even though it is ignored.
146 Expression must be character type 147 Character expression not allowed in this context 148 Non-record where aggregate record reference required
An aggregate reference to a record was expected during statement compilation but another data type was found instead.
149 Record where arithmetic value required
An aggregate record reference was encountered when an arithmetic expression was expected.
150 Structure, Record, or member $ not allowed in this context
A structure, record, or member reference was found in a context which is not supported. For example, the use of structures, records, or members within a data statement is disallowed.
151 Empty STRUCTURE, UNION, or MAP
STRUCTURE - ENDSTRUCTURE, UNION - ENDUNION or MAP - ENDMAP declaration contains no members.
158 Alternate return not specified in SUBROUTINE or ENTRY
An alternate return can only be used if alternate return specifiers appeared in the SUBROUTINE or ENTRY statements.
159 Alternate return illegal in FUNCTION subprogram
An alternate return cannot be used in a FUNCTION.
160 ENDSTRUCTURE, ENDUNION, or ENDMAP does not match top 162 Not equal test of loop control variable and replaced with < or > test 163 Cannot data initialize member $ of ALLOCATABLE COMMON $ 164 Overlapping data initializations of $
An attempt was made to data initialize a variable or array element already initialized.
165 $ appeared more than once as a subprogram
A subprogram name appeared more than once in the source file. The message is applicable only when an assembly file is the output of the compiler.
166 $ cannot be a common block and a subprogram
A name appeared as a common block name and a subprogram name. The message is applicable only when an assembly file is the output of the compiler.
167 Inconsistent size of common block $
A common block occurs in more than one subprogram of a source file and its size is not identical. The maximum size is chosen. The message is applicable only when an assembly file is the output of the compiler.
168 Incompatible size of common block $
A common block occurs in more than one subprogram of a source file and is initialized in one subprogram. Its initialized size was found to be less than its size in the other subprogram(s). The message is applicable only when an assembly file is the output of the compiler.
169 Multiple data initializations of common block $
A common block is initialized in more than one subprogram of a source file. Only the first set of initializations apply. The message is applicable only when an assembly file is the output of the compiler.
170 F77 extension: $
Use of a nonstandard feature. A description of the feature is provided.
171 F77 extension: nonstandard statement type $ 172 F77 extension: numeric initialization of CHARACTER $
A CHARACTER*1 variable or array element was initialized with a numeric value.
173 F77 extension: nonstandard use of data type length specifier 174 F77 extension: type declaration contains data initialization 175 F77 extension: IMPLICIT range contains nonalpha characters 176 F77 extension: nonstandard operator $ 177 F77 extension: nonstandard use of keyword argument $ 178 F77 extension: matrix/vector reference $ 179 F77 extension: use of structure field reference $ 180 F77 extension: nonstandard form of constant 181 F77 extension: & alternate return 182 F77 extension: mixed non-character and CHARACTER elements in COMMON $ 183 F77 extension: mixed non-character and CHARACTER EQUIVALENCE ($,$) 184 Mixed type elements (numeric and/or character types) in COMMON $ 185 Mixed numeric and/or character type EQUIVALENCE ($,$) 190 Possible use of $ before definition in $. 197 Invalid qualifier or qualifier value (/$) in OPTIONS statement
An illegal qualifier was found or a value was specified for a qualifier which does not expect a value. In either case, the qualifier for which the error occurred is indicated in the error message.
198 $ $ in ALLOCATE/DEALLOCATE 199 Unaligned memory reference
A memory reference occurred whose address does not meet its data alignment requirement.
200 Missing UNIT/FILE specifier 201 Illegal I/O specifier - $ 202 Repeated I/O specifier - $ 203 FORMAT statement has no label 204 Syntax error - unbalanced angle brackets 205 Illegal specification of scale factor
The integer following + or - has been omitted, or P does not follow the integer value.
206 Repeat count is zero 207 Integer constant expected in edit descriptor 208 Period expected in edit descriptor 209 Illegal edit descriptor 210 Exponent width not used in the Ew.dEe or Gw.dEe edit descriptors 211 Internal I/O not allowed in this I/O statement 212 Illegal NAMELIST I/O
Namelist I/O cannot be performed with internal, unformatted, formatted, and list-directed I/O. Also, I/O lists must not be present.
213 $ is not a NAMELIST group name 214 Input item is not a variable reference 215 Assumed sized array name cannot be used as an I/O item or specifier
An assumed sized array was used as an item to be read or written or as an I/O specifier (i.e., FMT = array-name). In these contexts the size of the array must be known.
216 STRUCTURE/UNION cannot be used as an I/O item 217 ENCODE/DECODE buffer must be a variable, array, or array element 221 #elif after #else
A preprocessor #elif directive was found after a #else directive; only #endif is allowed in this context.
222 #else after #else
A preprocessor #else directive was found after a #else directive; only #endif is allowed in this context.
223 #if-directives too deeply nested
Preprocessor #if directive nesting exceeded the maximum allowed (currently 10).
224 Actual parameters too long for $
The total length of the parameters in a macro call to the indicated macro exceeded the maximum allowed (currently 2048).
225 Argument mismatch for $
The number of arguments supplied in the call to the indicated macro did not agree with the number of parameters in the macro's definition.
226 Can't find include file $
The indicated include file could not be opened.
227 Definition too long for $
The length of the macro definition of the indicated macro exceeded the maximum allowed (currently 2048).
228 EOF in comment
The end of a file was encountered while processing a comment.
229 EOF in macro call to $
The end of a file was encountered while processing a call to the indicated macro.
230 EOF in string
The end of a file was encountered while processing a quoted string.
231 Formal parameters too long for $
The total length of the parameters in the definition of the indicated macro exceeded the maximum allowed (currently 2048).
232 Identifier too long
The length of an identifier exceeded the maximum allowed (currently 2048).
234 Illegal directive name
The sequence of characters following a # directive prefix was not an identifier.
235 Illegal macro name
A macro name was not an identifier.
236 Illegal number $
The indicated number contained a syntax error.
237 Line too long
The input source line length exceeded the maximum allowed (currently 2048).
238 Missing #endif
End of file was encountered before a required #endif directive was found.
239 Missing argument list for $
A call of the indicated macro had no argument list.
240 Number too long
The length of a number exceeded the maximum allowed (currently 2048).
241 Redefinition of symbol $
The indicated macro name was redefined.
242 Redundant definition for symbol $
A definition for the indicated macro name was found that was the same as a previous definition.
243 String too long
The length of a quoted string exceeded the maximum allowed (currently 2048).
244 Syntax error in #define, formal $ not identifier
A formal parameter that was not an identifier was used in a macro definition.
245 Syntax error in #define, missing blank after name or arglist
There was no space or tab between a macro name or argument list and the macro's definition.
246 Syntax error in #if
A syntax error was found while parsing the expression following a #if or #elif directive.
247 Syntax error in #include
The #include directive was not correctly formed.
248 Syntax error in #line
A #line directive was not correctly formed.
249 Syntax error in #module
A #module directive was not correctly formed.
250 Syntax error in #undef
A #undef directive was not correctly formed.
251 Token after #ifdef must be identifier
The #ifdef directive was not followed by an identifier.
252 Token after #ifndef must be identifier
The #ifndef directive was not followed by an identifier.
253 Too many actual parameters to $
The number of actual arguments to the indicated macro exceeded the maximum allowed (currently 31).
254 Too many formal parameters to $
The number of formal arguments to the indicated macro exceeded the maximum allowed (currently 31).
255 Too much pushback
The preprocessor ran out of space while processing a macro expansion. The macro may be recursive.
256 Undefined directive $
The identifier following a # was not a directive name.
257 EOF in #include directive
End of file was encountered while processing a #include directive.
258 Unmatched #elif
A #elif directive was encountered with no preceding #if or #elif directive.
259 Unmatched #else
A #else directive was encountered with no preceding #if or #elif directive.
260 Unmatched #endif
A #endif directive was encountered with no preceding #if, #ifdef, or #ifndef.
261 Include files nested too deeply
The nesting depth of #include directives exceeded the maximum (currently 20).
262 Unterminated macro definition for $
A newline was encountered in the formal parameter list for the indicated macro.
263 Unterminated string or character constant
A newline with no preceding backslash was found in a quoted string.
264 Possible nested comment
The characters /* were found within a comment.
268 Cannot inline subprogram; common block mismatch 269 Cannot inline subprogram; argument type mismatch
This message may be classified as severe if compilation has gone too far to undo the inlining process.
270 Missing -exlib option 271 Can't inline $ - wrong number of arguments 272 Argument of inlined function not used 273 Inline library not specified on command line (-inlib switch) 274 Unable to access file $/TOC 275 Unable to open file $ while extracting or inlining 276 Assignment to constant actual parameter in inlined subprogram 277 Inlining of function $ may result in recursion. 278 Can't inline $ - too large 280 Syntax error in directive $ 281 Directive ignored - $
This section presents the error messages generated by the runtime system. The runtime system displays error messages on standard output.
The messages are numbered but have no severity indicators because they all terminate program execution.
Here are the runtime error messages:
201 illegal value for specifier
An improper specifier value has been passed to an I/O runtime routine. Example: within an OPEN statement, form='unknown'.
202 conflicting specifiers
Conflicting specifiers have been passed to an I/O runtime routine. Example: within an OPEN statement, form='unformatted', blank='null'.
203 record length must be specified
A recl specifier required for an I/O runtime routine has not been passed. Example: within an OPEN statement, access='direct' has been passed, but the record length has not been specified (recl=specifier).
204 illegal use of a readonly file
Self explanatory. Check file and directory modes.
205 'SCRATCH' and 'SAVE'/'KEEP' both specified
In an OPEN statement, a file disposition conflict has occurred. Example: within an OPEN statement, status='scratch' and dispose='keep' have been passed.
206 attempt to open a named file as 'SCRATCH' 207 file is already connected to another unit 208 'NEW' specified for file which already exists 209 'OLD' specified for file which does not exist 210 dynamic memory allocation failed
Memory allocation operations occur only in conjunction with namelist I/O. The most probable cause of fixed buffer overflow is exceeding the maximum number of simultaneously open file units.
211 invalid file name 212 invalid unit number
A file unit number less than or equal to zero has been specified.
215 formatted/unformatted file conflict
Formatted/unformatted file operation conflict.
217 attempt to read past end of file 219 attempt to read/write past end of record
For direct access, the record to be read/written exceeds the specified record length.
220 write after last internal record 221 syntax error in format string
A runtime encoded format contains a lexical or syntax error.
222 unbalanced parentheses in format string 223 illegal P or T edit descriptor - value missing 224 illegal Hollerith or character string in format
An unknown token type has been found in a format encoded at run-time.
225 lexical error -- unknown token type 226 unrecognized edit descriptor letter in format
An unexpected Fortran edit descriptor (FED) was found in a runtime format item.
228 end of file reached without finding group 229 end of file reached while processing group 230 scale factor out of range -128 to 127
Fortran P edit descriptor scale factor not within range of -128 to 127.
231 error on data conversion 233 too many constants to initialize group item 234 invalid edit descriptor
An invalid edit descriptor has been found in a format statement.
235 edit descriptor does not match item type
Data types specified by I/O list item and corresponding edit descriptor conflict.
236 formatted record longer than 2000 characters 237 quad precision type unsupported 238 tab value out of range
A tab value of less than one has been specified.
239 entity name is not member of group 242 illegal operation on direct access file 243 format parentheses nesting depth too great 244 syntax error - entity name expected 245 syntax error within group definition 246 infinite format scan for edit descriptor 248 illegal subscript or substring specification 249 error in format - illegal E, F, G or D descriptor 250 error in format - number missing after '.', '-', or '+' 251 illegal character in format string 252 operation attempted after end of file 253 attempt to read non-existent record (direct access) 254 illegal repeat count in format