A Messages

This chapter describes the 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. You can use the -v option to display more information about the compiler, assembler, and linker invocations and about the host system.

A.1 Diagnostic Messages

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.

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:

	PGHPF-etype-enum-message (filename: line)
Where:
etype
is a character signifying the severity level. I for informative, W for warning, S for severe, F for Fatal and V for variable.
enum
is the error number.
message
is the error message.
filename
is the source filename.
line
is the line number where the compiler detected an error.

A.2 Compiler Error Messages

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.

A.2.1 Message List


V 0 "Internal compiler error. $ $"
This message indicates an error in the compiler, rather than a user error - although it may be possible for a user error to cause an internal error. The severity may vary; if it is informative or warning, correct object code was probably generated.

Regardless of the severity or cause, internal errors should be reported to the compiler maintenance group.

F 1 "Source input file name not specified"
On the command line, source file name should be specified either before all the switches, or after them.
F 2 "Unable to open source input file: $"
Source file name misspelled, file not in current working directory, or file is read protected.
F 3 "Unable to open listing file"
Probably, user does not have write permission for the current working directory.
F 4 "Unable to open object file"
Probably, user does not have write permission for the current working directory.
F 5 "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.
S 6 "Input file empty"
Source input file does not contain any Fortran statements other than comments or compiler directives.
F 7 "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 (-O2) , reducing the opt level to 1 (-O1) 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 the compiler maintenance group as a possible compiler problem.
F 8 "Error limit exceeded"
The compiler gives up after 50 severe errors.
F 9 "Unable to open assembly file"
Probably, user does not have write permission for the current working directory.
F 10 "File write error occurred $"
Probably, file system is full.
S 11 "Unrecognized command line switch: $"
Refer to PDS reference document for list of allowed compiler switches.
S 12 "Value required for command line switch: $"
Certain switches require an immediately following value, such as "-opt 2".
S 13 "Unrecognized value specified for command line switch: $"
S 14 "Ambiguous command line switch: $"
Too short an abbreviation was used for one of the switches.
W 15 "Hexadecimal or octal constant truncated to fit data type"
I 16 "Identifier, $, truncated to 31 chars"
An identifier may be at most 31 characters in length; characters after the 31st are ignored.
S 17 "Unable to open include file: $"
File is missing, read protected, or maximum include depth (10) exceeded. Remember that the file name should be enclosed in quotes.
S 18 "Illegal label field"
The label field (first five characters) of the indicated line contains a non-numeric character.
S 19 "Illegally placed continuation line"
A continuation line does not follow an initial line, or more than 99 continuation lines were specified.
S 20 "Unrecognized compiler directive"
Refer to PDS reference manual for list of allowed compiler directives.
S 21 "Label field of continuation line is not blank"
The first five characters of a continuation line must be blank.
S 22 "Unexpected end of file - missing END statement"
S 23 "Syntax error - unbalanced $"
Unbalanced parentheses or brackets.
W 24 "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.
W 25 "Illegal character ($) - ignored"
The current line contains a character, possibly non-printing, 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.
S 26 "Unmatched quote"
S 27 "Illegal integer constant: $"
Integer constant is too large for 32 bit word.
S 28 "Illegal real or double precision constant: $"
S 29 "Illegal $ constant: $"
Illegal hexadecimal, octal, or binary 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. An octal constant consists of digits 0..7; any other digit or character in an octal constant is illegal. A binary constant consists of digits 0 or 7; any other digit or character in a binary constant is illegal.
S 30 "Explicit shape must be specified for $"
S 31 "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.
W 32 "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).
S 33 "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.
S 34 "Syntax error at or near $"
I 35 "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.
S 36 "Illegal implicit character range"
First character must alphabetically precede second.
S 37 "Contradictory data type specified for $"
The indicated identifier appears in more than one type specification statement and different data types are specified for it.
S 38 "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.
W 39 "Symbol, $, appears illegally in a SAVE statement"
An identifier appearing in a SAVE statement must be a local variable or array.
S 40 "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.
W 41 "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.

S 42 "$ is a duplicate dummy argument"
S 43 "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 fsin 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.
S 44 "Multiple declaration for symbol $"
A redundant declaration of a symbol has occurred. For example, an attempt was made to declare a symbol as an ENTRY when that symbol was previously declared as an ENTRY.
S 45 "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.
S 46 "Data type length specifier in wrong position"
The 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).

S 47 "More than seven dimensions specified for array"
S 48 "Illegal use of '*' in declaration of array $"
An asterisk may be used only as the upper bound of the last dimension.
S 49 "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.
S 50 "Adjustable or assumed size array, $, is not a dummy argument"
S 51 "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.
S 52 "Illegal argument to %VAL or %LOC"
S 53 "%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.
W 54 "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.
W 55 "Multiple implicit none statements"
The IMPLICIT NONE statement can occur only once in a subprogram.
W 56 "Implicit type declaration"
The -dclchk switch and an implicit declaration following an IMPLICIT

NONE statement will produce a warning message for IMPLICIT statements.

S 57 "Illegal equivalence of dummy variable, $"
Dummy arguments may not appear in EQUIVALENCE statements.
S 58 "Equivalenced variables $ and $ not in same common block"
A common block variable must not be equivalenced with a variable in another common block.
S 59 "Conflicting equivalence between $ and $"
The indicated equivalence implies a storage layout inconsistent with other equivalences.
S 60 "Illegal equivalence of structure variable, $"
STRUCTURE and UNION variables may not appear in EQUIVALENCE statements.
S 61 "Equivalence of $ and $ extends common block backwards"
W 62 "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.
I 63 "Gap in common block $ before $"
S 64 "Illegal use of $ in DATA statement implied DO loop"
The indicated variable is referenced where it is not an active implied DO index variable.
S 65 "Repeat factor less than or equal to zero"
S 66 "Too few data constants in initialization statement"
S 67 "Too many data constants in initialization statement"
S 68 "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.
S 69 "Illegal implied DO expression"
The only operations allowed within an implied DO expression are integer +, -, *, and /.
S 70 "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.
S 71 "Executable statements not allowed in block data"
S 72 "Assignment operation illegal to $ $"
The destination of an assignment operation must be a variable, array reference, or 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. if the identifier is the name of an entry point that is not a function, an external procedure.
S 73 "Intrinsic or predeclared, $, cannot be passed as an argument"
S 74 "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.
S 75 "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.

S 76 "Subscripts specified for non-array variable $"
S 77 "Subscripts omitted from array $"
S 78 "Wrong number of subscripts specified for $"
S 79 "Keyword form of intrinsic argument illegal in this context for $"
S 80 "Subscript for array $ is out of bounds"
S 81 "Illegal selector $ $"
S 82 "Illegal substring expression for variable $"
Substring expressions must be of type integer and if constant must be greater than zero.
S 83 "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.
S 84 "Illegal use of symbol $ $"
This message is used for many different errors.
S 85 "Incorrect number of arguments to statement function $"
S 86 "Dummy argument to statement function must be a variable"
S 87 "Non-constant expression where constant expression required"
S 88 "Recursive subroutine or function call of $"
A function may not call itself.
S 89 "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.
S 90 "Hollerith constant more than 4 characters"
In certain contexts, Hollerith constants may not be more than 4 characters long.
S 91 "Constant expression of wrong data type"
S 92 "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.
W 93 "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.
S 94 "Variable $ is of wrong data type $"
The indicated variable is used in a context which requires a variable of some other data type.
S 95 "Expression has wrong data type"
An expression of some data type appears in a context which requires an expression of some other data type.
S 96 "Illegal complex comparison"
The relations .LT., .GT., .GE., and .LE. are not allowed for complex values.
S 97 "Statement label $ has been defined more than once"
More than one statement with the indicated statement number occurs in the subprogram.
S 98 "Divide by zero"
S 99 "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.
S 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.
S 101 "Vector operation not allowed on $"
Record and character typed entities may only be referenced as scalar quantities.
S 102 "Arithmetic IF expression has wrong data type"
The parenthetical expression of an arithmetic if statement must be an integer, real, or doubleprecision scalar expression.
S 103 "Type conversion of subscript expression for $"
The data type of a subscript expression must be integer. If it is not, it is converted.
S 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.
S 105 "Unmatched ELSEIF, ELSE or ENDIF statement"
An ELSEIF, ELSE, or ENDIF statement cannot be matched with a preceding IF-THEN statement.
S 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.
S 107 "Illegal assigned goto variable $"
S 108 "Illegal variable, $, in NAMELIST group $"
A NAMELIST group can only consist of arrays and scalars which are not dummy arguments and pointer-based variables.
I 109 "Overflow in $ constant $, constant truncated at left"
A non-decimal (hexadecimal, octal, or binary) constant requiring more than 64-bits produces an overflow. The constant is truncated at left (e.g. '1234567890abcdef1'x will be '234567890abcdef1'x).
I 110 " "
I 111 "Underflow of real or double precision constant"
I 112 "Overflow of real or double precision constant"
S 113 "Label $ is referenced but never defined"
S 114 "Cannot initialize $"
W 115 "Assignment to DO variable $ in loop"
S 116 "Illegal use of pointer-based variable $ $"
S 117 "Statement not allowed within STRUCTURE definition"
S 118 "Statement not allowed in DO, IF, or WHERE block"
I 119 "Redundant specification for $"
Data type of indicated symbol specified more than once.
I 120 "Label $ is defined but never referenced"
I 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.
I 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.
W 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.
S 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.
I 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.
I 126 "Name $ is not an intrinsic function"
I 127 "Optimization level for $ changed to opt 1 $"
W 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.
I 129 "Floating point overflow. Check constants and constant expressions"
I 130 "Floating point underflow. Check constants and constant expressions"
I 131 "Integer overflow. Check floating point expressions cast to integer"
I 132 "Floating pt. invalid oprnd. Check constants and constant expressions"
I 133 "Divide by 0.0. Check constants and constant expressions"
S 134 "Illegal attribute $ $"
W 135 "Missing STRUCTURE name field"
A STRUCTURE name field is required on the outermost structure.
W 136 "Field-namelist not allowed"
The field-namelist field of the STRUCTURE statement is disallowed on the outermost structure.
W 137 "Field-namelist is required in nested structures"
W 138 "Multiply defined STRUCTURE member name $"
A member name was used more than once within a structure.
W 139 "Structure $ in RECORD statement not defined"
A RECORD statement contains a reference to a STRUCTURE that has not yet been defined.
S 140 "Variable $ is not a RECORD"
S 141 "RECORD required on left of ."
S 142 "$ is not a member of this RECORD"
S 143 "$ requires initializer "
W 144 "NEED ERROR MESSAGE $ $"
This is used as a temporary message for compiler development.
W 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.
S 146 "Expression must be character type"
S 147 "Character expression not allowed in this context"
S 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.
S 149 "Record where arithmetic value required"
An aggregate record reference was encountered when an arithmetic expression was expected.
S 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.
S 151 "Empty STRUCTURE, UNION, or MAP"
STRUCTURE - ENDSTRUCTURE, UNION - ENDUNION MAP - ENDMAP declaration contains no members.
S 152 "All dimension specifiers must be ':'"
S 153 "Array objects are not conformable $"
S 154 "DISTRIBUTE target, $, must be a processor"
S 155 "$ $"
S 156 "Number of colons and triplets must be equal in ALIGN $ with $"
S 157 "Illegal subscript use of ALIGN dummy $ - $"
S 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.

S 159 "Alternate return illegal in FUNCTION subprogram"
An alternate return cannot be used in a FUNCTION.
S 160 "ENDSTRUCTURE, ENDUNION, or ENDMAP does not match top"
S 161 "Vector subscript must be rank-one array"
W 162 "Not equal test of loop control variable $ replaced with < or > test."
S 163 " "
S 164 "Overlapping data initializations of $"
An attempt was made to data initialize a variable or array element already initialized.
S 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.
S 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.
I 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.
S 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.
W 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.
W 170 "F90 extension: $"
Use of a nonstandard feature. A description of the feature is provided.
W 171 "F90 extension: nonstandard statement type $"
W 172 "F90 extension: numeric initialization of CHARACTER $"
A CHARACTER*1 variable or array element was initialized with a numeric value.
W 173 "F90 extension: nonstandard use of data type length specifier"
W 174 "F90 extension: type declaration contains data initialization"
W 175 "F90 extension: IMPLICIT range contains nonalpha characters"
W 176 "F90 extension: nonstandard operator $"
W 177 "F90 extension: nonstandard use of keyword argument $"
W 178 " "
W 179 "F90 extension: use of structure field reference $"
W 180 "F90 extension: nonstandard form of constant"
W 181 "F90 extension: & alternate return"
W 182 "F90 extension: mixed non-character and character elements in COMMON $"
W 183 "F90 extension: mixed non-character and character EQUIVALENCE ($,$)"
W 184 "Mixed type elements (numeric and/or character types) in COMMON $"
W 185 "Mixed numeric and/or character type EQUIVALENCE ($,$)"
S 186 "Argument missing for formal argument $"
S 187 "Too many arguments specified for $"
S 188 "Argument number $ to $: type mismatch"
S 189 "Argument number $ to $: array element type mismatch"
S 190 "Argument number $ to $: non-conformable arrays"
S 191 "Argument number $ to $ cannot be an assumed-size array"
S 192 "Argument number $ to $ must be a label"
W 193 "Argument number $ to $ does not match INTENT (OUT)"
W 194 "Assignment to INTENT_IN argument $"
S 195 "Statement may not appear in an INTERFACE block"
S 196 "Deferred-shape specifiers for $ may not contain lower bounds"
S 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.
S 198 "$ $ in ALLOCATE/DEALLOCATE"
W 199 "Unaligned memory reference"
A memory reference occurred whose address does not meet its data alignment requirement.
S 200 "Missing UNIT/FILE specifier"
S 201 "Illegal I/O specifier - $"
S 202 "Repeated I/O specifier - $"
S 203 "FORMAT statement has no label"
S 204 ""
S 205 "Illegal specification of scale factor"
The integer following + or - has been omitted, or P does not follow the integer value.
S 206 "Repeat count is zero"
S 207 "Integer constant expected in edit descriptor"
S 208 "Period expected in edit descriptor"
S 209 "Illegal edit descriptor"
S 210 "Exponent width not used in the Ew.dEe or Gw.dEe edit descriptors"
S 211 "Internal I/O not allowed in this I/O statement"
S 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.
S 213 "$ is not a NAMELIST group name"
S 214 "Input item is not a variable reference"
S 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.
S 216 "STRUCTURE/UNION cannot be used as an I/O item"
S 217 "ENCODE/DECODE buffer must be a variable, array, or array element"
S 218 " "
S 219 " "
S 220 " "
S 221 "#elif after #else"
A preprocessor #elif directive was found after a #else directive; only #endif is allowed in this context.
S 222 "#else after #else"
A preprocessor #else directive was found after a #else directive; only #endif is allowed in this context.
S 223 "#if-directives too deeply nested"
Preprocessor #if directive nesting exceeded the maximum allowed (currently 10).
S 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).
W 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.
F 226 "Can't find include file $"
The indicated include file could not be opened.
S 227 "Definition too long for $"
The length of the macro definition of the indicated macro exceeded the maximum allowed (currently 2048).
S 228 "EOF in comment"
The end of a file was encountered while processing a comment.
S 229 "EOF in macro call to $"
The end of a file was encountered while processing a call to the indicated macro.
S 230 "EOF in string"
The end of a file was encountered while processing a quoted string.
S 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).
S 232 "Identifier too long"
The length of an identifier exceeded the maximum allowed (currently 2048).
S 233 " "
W 234 "Illegal directive name"
The sequence of characters following a # sign was not an identifier.
W 235 "Illegal macro name"
A macro name was not an identifier.
S 236 "Illegal number $"
The indicated number contained a syntax error.
F 237 "Line too long"
The input source line length exceeded the maximum allowed (currently 2048).
W 238 "Missing #endif"
End of file was encountered before a required #endif directive was found.
W 239 "Missing argument list for $"
A call of the indicated macro had no argument list.
S 240 "Number too long"
The length of a number exceeded the maximum allowed (currently 2048).
W 241 "Redefinition of symbol $"
The indicated macro name was redefined.
I 242 "Redundant definition for symbol $"
A definition for the indicated macro name was found that was the same as a previous definition.
F 243 "String too long"
The length of a quoted string exceeded the maximum allowed (currently 2048).
S 244 "Syntax error in #define, formal $ not identifier"
A formal parameter that was not an identifier was used in a macro definition.
W 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.
S 246 "Syntax error in #if"
A syntax error was found while parsing the expression following a #if or #elif directive.
S 247 "Syntax error in #include"
The #include directive was not correctly formed.
W 248 "Syntax error in #line"
A #line directive was not correctly formed.
W 249 "Syntax error in #module"
A #module directive was not correctly formed.
W 250 "Syntax error in #undef"
A #undef directive was not correctly formed.
W 251 "Token after #ifdef must be identifier"
The #ifdef directive was not followed by an identifier.
W 252 "Token after #ifndef must be identifier"
The #ifndef directive was not followed by an identifier.
S 253 "Too many actual parameters to $"
The number of actual arguments to the indicated macro exceeded the maximum allowed (currently 31).
S 254 "Too many formal parameters to $"
The number of formal arguments to the indicated macro exceeded the maximum allowed (currently 31).
F 255 "Too much pushback"
The preprocessor ran out of space while processing a macro expansion. The macro may be recursive.
W 256 "Undefined directive $"
The identifier following a # was not a directive name.
S 257 "EOF in #include directive"
End of file was encountered while processing a #include directive.
S 258 "Unmatched #elif"
A #elif directive was encountered with no preceding #if or #elif directive.
S 259 "Unmatched #else"
A #else directive was encountered with no preceding #if or #elif directive.
S 260 "Unmatched #endif"
A #endif directive was encountered with no preceding #if, #ifdef, or #ifndef directive.
S 261 "Include files nested too deeply"
The nesting depth of #include directives exceeded the maximum (currently 20).
S 262 "Unterminated macro definition for $"
A newline was encountered in the formal parameter list for the indicated macro.
S 263 "Unterminated string or character constant"
A newline with no preceding backslash was found in a quoted string.
I 264 "Possible nested comment"
The characters /* were found within a comment.
S 265 " "
S 266 " "
S 267 " "
W 268 "Cannot inline subprogram; common block mismatch"
W 269 "Cannot inline subprogram; argument type mismatch"
This message may be Severe if have gone too far to undo inlining process.
F 270  "Missing -exlib option"
W 271 "Can't inline $ - wrong number of arguments"
I 272 "Argument of inlined function not used"
S 273 "Inline library not specified on command line (-inlib switch)"
F 274 "Unable to access file $/TOC"
S 275 "Unable to open file $ while extracting or inlining"
F 276 "Assignment to constant actual parameter in inlined subprogram"
I 277 "Inlining of function $ may result in recursion"
W 280 "Syntax error in directive $"
messages 280-300 are reserved for directive handling
W 281 "Directive ignored - $ $"
S 301 "$ must be TEMPLATE or PROCESSOR"
S 302 "Unmatched ENDINTERFACE"
S 303 "END statement for $ required in an interface block"
S 304 "EXIT/CYCLE statement must appear in a DO/DOWHILE loop$$"
S 305 "$ cannot be named, $"
S 306 "$ names more than one construct"
S 307 "$ must have the construct name $"
W 308 "EXIT/CYCLE statement may not be a DO termination statement"
S 309 "Incorrect name, $, specified in END statement"
S 310 "Generic message for MODULE errors"
W 311 "Non-replicated mapping for $ array, $, ignored"
W 312 "Array $ should be declared SEQUENCE"