Top: f77 Up: 9,1 - Compilation
Previous: 9,1 - Compilation Next: 9,1,2 - Severe_Messages
Section 9,1,1: Fatal_Messages
Must be corrected before the program can be compiled. Compilation
stops at the point where the fatal error is encountered. An object
file is not produced (linking does not occur).
The fatal messages follow (in alphabetical order):
o MESSAGE: Adjustable array used in invalid context
EXPLANATION: A reference to an adjustable array was made in a
context where such a reference is not allowed.
o MESSAGE: Aggregate reference where scalar reference required
EXPLANATION: An aggregate reference was used where a scalar
reference was required.
o MESSAGE: Alternate return label used in invalid context
EXPLANATION: An alternate return argument cannot be used in a
function reference.
o MESSAGE: Alternate return specifier invalid in FUNCTION
subprogram
EXPLANATION: The argument list of a FUNCTION declaration
contains an asterisk, or a RETURN statement in a function
subprogram specifies an alternate return. The following
example shows a FUNCTION declaration that contains an asterisk:
INTEGER FUNCTION TCB(ARG,*,X)
The following example shows a RETURN statement in a function
subprogram that specifies an alternate return.
FUNCTION IMAX
.
.
.
RETURN I
o MESSAGE: Arithmetic expression where character value required
EXPLANATION: An expression that must be of type CHARACTER was
of another data type.
o MESSAGE: Assumed size array name used in invalid context
EXPLANATION: An assumed-size array name was used in a context
in which the size of the array was required, for example, in an
I/O list.
o MESSAGE: Automatic class variable not permitted here
EXPLANATION: Specified automatic variable cannot be used in
this context.
o MESSAGE: Character expression where arithmetic value required
EXPLANATION: An expression that must be arithmetic (INTEGER,
REAL, LOGICAL, or COMPLEX) was of type CHARACTER.
o MESSAGE: Character substring limits out of order
EXPLANATION: The first character position of a substring
expression was greater than the last character position. For
example:
C(5:3)
o MESSAGE: Conflicting values for xxx
EXPLANATION: Command line error. For example:
$ f77 -convert vaxg -convert ibm x.f
Only one -convert value may be specified.
o MESSAGE: Compiler expression stack overflow
EXPLANATION: An expression was too complex or too many actual
arguments were included in a subprogram reference. A maximum
of 255 actual arguments can be compiled. You can subdivide a
complex expression or reduce the number of arguments.
o MESSAGE: DO or IF statement incorrectly nested
EXPLANATION: One of the following conditions was encountered:
- A statement label specified in a DO statement was used
previously. For example:
10 I = I + 1
J = J + 1
DO 10 K=1,10
- A DO loop contains an incomplete DO loop or IF block.
For example:
DO 10 I=1,10
J = J + 1
DO 20 K=1,10
J = J + K
10 CONTINUE
The start of the incomplete IF block can be a block IF,
ELSE IF, or ELSE statement:
DO 10 I=1,10
J = J + I
IF (J .GT. 20) THEN J = J - 1
ELSE J = J + 1
10 CONTINUE
END IF
o MESSAGE: DO and IF statements nested too deeply
EXPLANATION: DO loops and block IF statements cannot be nested
beyond 128 levels.
o MESSAGE: Duplicated keyword in I/O statement
EXPLANATION: Each keyword subparameter in an I/O statement or
auxiliary I/O statement can be specified only once.
o MESSAGE: END [STRUCTURE|UNION|MAP] must match top
EXPLANATION: A STRUCTURE, UNION, or MAP statement did not have
a corresponding END STRUCTURE, END UNION, or END MAP statement,
respectively.
o MESSAGE: ENTRY dummy variable previously used in executable
statement
EXPLANATION: The dummy arguments of an ENTRY statement were
not used in a previous executable statement in the same program
unit.
o MESSAGE: EQUIVALENCE statement incorrectly expands a common
block
EXPLANATION: An EQUIVALENCE statement cannot cause a common
block to be extended back past the first element specified in
the COMMON statement.
o MESSAGE: Error limit exceeded; compilation terminated
EXPLANATION: The number of error-level and fatal-error errors
has reached the limit given in -error_limit nn (or the default
of 30 errors). Recompile with a larger -error_limit value or
correct the errors displayed up to the point of termination and
then recompile.
o MESSAGE: Fatal BE error
EXPLANATION: Internal error related to error code passing
between the compiler front end and back end. Submit an SPR.
o MESSAGE: Field name not defined for this structure
EXPLANATION: A field name not defined in a structure was used
in a qualified reference.
o MESSAGE: Format specifier in error
EXPLANATION: The format specifier in an I/O statement was
invalid. It must be one of the following:
- Label of a FORMAT statement
- Asterisk (*) in a list-directed I/O statement
- Run-time format specifier: variable, array element,
or character substring reference
- Integer variable that was assigned a FORMAT label
by an ASSIGN statement
o MESSAGE: INCLUDE files nested too deeply
EXPLANATION: A maximum of 10 levels of nested INCLUDE files
are allowed.
o MESSAGE: Inconsistent function data types
EXPLANATION: The function name and entry points in a function
subprogram must be consistent within one of three groups of
data types:
Group 1: All numeric types except COMPLEX*16
Group 2: COMPLEX*16
Group 3: Character
Example:
CHARACTER*15 FUNCTION I
REAL*4 G
ENTRY G
o MESSAGE: Inconsistent use of statement label
EXPLANATION: Labels of executable statements were confused
with labels of FORMAT statements or with labels of
nonexecutable statements. For example:
GO TO 10
10 FORMAT (I5)
o MESSAGE: Incorrect keyword in OPEN, CLOSE, or INQUIRE
statement
EXPLANATION: An OPEN, CLOSE, or INQUIRE statement contained a
keyword that was not valid for that statement.
o MESSAGE: Incorrect length modifier in declaration
EXPLANATION: An unacceptable length was specified in a data
type declaration. For example:
INTEGER PIPES*8
o MESSAGE: Internal error, xxxxxxxxxxx
EXPLANATION: Internal error. The xxxxxxxxx is replaced by
information about the error. Submit an SPR.
o MESSAGE: Invalid argument to %VAL, %REF or %LOC
EXPLANATION: The argument specified for one of the built-in
functions was not valid. For example:
%VAL (3.5D0) - Error: Argument cannot be REAL*8,
character, or complex.
%LOC (X+Y) - Error: Argument must not be an expression.
o MESSAGE: Invalid ASSIGN variable
EXPLANATION: Attempted to use an ASSIGN variable in an invalid
context, such as trying to assign a value to a pointer
variable. For example:
POINTER (P,A)
ASSIGN 1 TO P
GOTO P
o MESSAGE: Invalid control structure using ELSE IF, ELSE, or END
IF
EXPLANATION: The order of ELSE IF, ELSE, or END IF statements
was incorrect.
ELSE IF, ELSE, and END IF statements cannot stand alone. ELSE
IF and ELSE must be preceded by either a block IF statement or
an ELSE IF statement. END IF must be preceded by either a
block IF, ELSE IF, or ELSE statement. For example:
DO 10 I=1,10
J = J + I
ELSE IF (J .LE. K) THEN
Error: The ELSE IF is preceded by a DO statement
IF (J .LT. K) THEN J = I + J
ELSE
J = I - J
ELSE IF (J .EQ. K) THEN
END IF
Error: The ELSE IF is preceded by an ELSE statement
o MESSAGE: Invalid DO parameters in implied-DO list
EXPLANATION: An invalid control parameter was detected in an
implied-DO list in a DATA statement;for example, an increment
of zero.
o MESSAGE: Invalid equivalence of two variables in common
EXPLANATION: Variables in common blocks cannot be equivalenced
to each other.
o MESSAGE: Invalid I/O list element for input statement
EXPLANATION: An input statement I/O list contained an invalid
element, such as an expression or a constant.
o MESSAGE: Invalid I/O specification for this type of I/O
statement
EXPLANATION: A syntax error was found in the portion of an I/O
statement that precedes the I/O list. For example:
TYPE (6), J
WRITE 100, J
o MESSAGE: Invalid keyword for this type of I/O statement
EXPLANATION: An I/O statement contained a keyword that cannot
be used with that type of I/O statement.
o MESSAGE: Invalid NAMELIST element
EXPLANATION: A dummy argument or element other than variable
or array name appeared in a NAMELIST declaration.
o MESSAGE: Invalid operation in implied-DO list
EXPLANATION: An invalid operation was attempted in an
implied-DO list in a DATA statement, for example, a function
reference in the subscript or substring expression of an array
or character substring reference. For example:
DATA (A(SIN(REAL(I))), I=1,10) /101./
o MESSAGE: Invalid reference to name in implied-DO list
EXPLANATION: A control parameter expression in an implied-DO
list in a DATA statement contained a name that was not the name
of a control variable within the scope of any implied-DO list.
For example:
DATA (A(J), J=1,10),(B(I), I=J,K) /1001./
Both J and K in the second implied-DO list are invalid names.
o MESSAGE: Invalid use of function name in CALL statement
EXPLANATION: A CALL statement referred to a subprogram name
that was used as a CHARACTER or COMPLEX*16 function. For
example:
IMPLICIT CHARACTER*10(C)
CSCAL = CFUNC(X)
CALL CFUNC(X)
o MESSAGE: Invalid use of record or array name
EXPLANATION: A statement in the program violated one of the
following rules:
- An aggregate cannot be assigned to a nonaggregate or to
an aggregate with a structure that is not the same.
- An array name reference cannot be qualified.
- Aggregate references cannot be used in I/O lists of
formatted I/O statements.
o MESSAGE: Label in ASSIGN statement exceeds INTEGER*2 range
EXPLANATION: A label whose value is assigned to an INTEGER*2
variable by an ASSIGN statement must not be separated by more
than 32K bytes from the beginning of the code for the program
unit.
o MESSAGE: Left side of assignment must be variable or array
element
EXPLANATION: The symbolic name to which the value of an
expression is assigned must be a variable, array element, or
character substring reference.
o MESSAGE: Missing constant
EXPLANATION: A required constant was not found.
o MESSAGE: Missing keyword
EXPLANATION: A required keyword, such as TO, was omitted from
a statement such as ASSIGN 10 TO I.
o MESSAGE: Missing operator or delimiter symbol
EXPLANATION: Two terms of an expression were not separated by
an operator, or a punctuation mark (such as a comma) was
omitted. For example:
CIRCUM = 3.14 DIAM ! * is missing
IF (I 10,20,30 ! ) is missing
o MESSAGE: Missing or invalid use of UNIT or FILE specifier in
INQUIRE statement
EXPLANATION: An INQUIRE statement must have a UNIT specifier
or a FILE specifier, but not both.
o MESSAGE: Missing statement label
EXPLANATION: A required statement label reference was omitted.
o MESSAGE: Missing variable or constant
EXPLANATION: An expression or a term of an expression was
omitted. For example:
WRITE ( )
DIST = *TIME
o MESSAGE: Missing variable or subprogram name
EXPLANATION: A required variable name or subprogram name was
not found.
o MESSAGE: Multiple declaration of name
EXPLANATION: A name appeared in two or more inconsistent
declaration statements or a dummy argument was specified in an
EQUIVALENCE statement.
o MESSAGE: Multiply defined field name
EXPLANATION: Each field name within the same level of a given
structure declaration must be unique.
o MESSAGE: Multiply defined STRUCTURE name
EXPLANATION: A STRUCTURE name must be unique among STRUCTURE
names.
o MESSAGE: Name previously used with conflicting data type
EXPLANATION: A data type was assigned to a name that had
already been used in a context that required a different data
type.
o MESSAGE: Nonconstant subscript where constant required
EXPLANATION: Subscript and substring expressions used in DATA
and EQUIVALENCE statements must be constants.
o MESSAGE: Non-integer expression where integer value required
EXPLANATION: An expression that must be of type integer was of
some other data type.
o MESSAGE: Non-logical expression where logical value required
EXPLANATION: An expression that must have a LOGICAL data type
has another data type.
o MESSAGE: No source file specified
EXPLANATION: A command line was entered that specified only
library file names and no source files to compile.
o MESSAGE: Number of subscripts does not match array declaration
EXPLANATION: Too many or too few dimensions than were declared
for the array were referenced.
o MESSAGE: Only one of: xxx, xxx, xxx may be specified
EXPLANATION: Command line error. For example:
$ f77 -call_shared -non_shared x.f
Only one of the following options can be used at a time:
-call_shared, -non_shared, or -shared.
o MESSAGE: Open failure on INCLUDE file
EXPLANATION: The specified file could not be opened, possibly
due to an incorrect file specification, nonexistent file,
unmounted volume, or a protection violation.
o MESSAGE: Operation not permissible on these data types
EXPLANATION: An invalid operation was specified, such as an
.AND. of two real variables.
o MESSAGE: Passed-length character name used in invalid context
EXPLANATION: A reference to a passed-length character array or
variable was made in a context where such a reference is not
allowed.
o MESSAGE: Program storage requirements exceed addressable
memory
EXPLANATION: The storage space allocated to the variables and
arrays of the program unit exceeded the addressing range of the
machine.
o MESSAGE: Requested source is not available on ULTRIX
EXPLANATION: The program attempted to use one of the following
VAX FORTRAN I/O features that are not available on ULTRIX or
DEC OSF/1 systems, such as using the DICTIONARY statement or
using an INCLUDE statement for a text module from a library
file.
o MESSAGE: Statement cannot appear in logical IF statement
EXPLANATION: A logical IF statement must not contain a DO
statement or another logical IF, IF THEN, ELSE IF, ELSE, END
IF, or END statement.
o MESSAGE: Statement not allowed within structure; structure
definition closed
EXPLANATION: A statement not allowed in a structure
declaration block was encountered. When this situation occurs,
the compiler assumes that you omitted one or more END STRUCTURE
statements.
o MESSAGE: Statement too complex
EXPLANATION: A statement was too complex to be compiled. It
must be subdivided into two or more statements.
o MESSAGE: Structure field is missing a field name
EXPLANATION: Unnamed fields are not allowed. The effect of an
unnamed field can be achieved by using %FILL in place of a
field name in a typed data declaration.
o MESSAGE: Structure name in RECORD statement not defined
EXPLANATION: Either a RECORD statement did not contain a
structure name enclosed within slashes or the structure name
contained in a RECORD statement was not defined in a structure
declaration.
o MESSAGE: STRUCTUREs/UNIONs/MAPs nested too deeply
EXPLANATION: The combined nesting level limit for structures,
unions, and maps is 20 levels.
o MESSAGE: Subqualifier not allowed with negated qualifier
EXPLANATION: A negated qualifier specified on the command line
also specified subqualifier values; for example: -nocheck
underflow.
o MESSAGE: Subscripted reference to non-array variable
EXPLANATION: A variable that is not defined as an array cannot
appear with subscripts.
o MESSAGE: Syntax error in implied-DO
EXPLANATION: Improper syntax was detected in an implied-DO
list in data initialization, for instance, improperly nested
parentheses.
o MESSAGE: Syntax error in INCLUDE file specification
EXPLANATION: The file-name string was not acceptable (invalid
syntax, invalid qualifier, undefined device, and so on).
o MESSAGE: Syntax error in I/O list
EXPLANATION: Improper syntax was detected in an I/O list.
o MESSAGE: This language feature is not supported on this system
EXPLANATION: Attempted to use an unsupported feature. Such
features may be supported by VAX FORTRAN but are not available
on this platform, such as declaring data as REAL*16 and the
%DESCR built-in function. See your DEC Fortran user manual for
information about VAX FORTRAN compatibility.
o MESSAGE: Too many named common blocks
EXPLANATION: DEC Fortran allows a maximum of 250 named common
blocks. You must reduce the number in your program.
o MESSAGE: Unclosed DO loop or IF block
EXPLANATION: The terminal statement of a DO loop or the END IF
statement of an IF block was not found. For example:
DO 20 I=1,10
X = Y
END
o MESSAGE: Undefined statement label
EXPLANATION: A reference was made to a statement label that
was not defined in the program unit or a nonexecutable
statement label was used where an executable statement label
was required.
o MESSAGE: Undimensioned array or statement function definition
out of order
EXPLANATION: Either a statement function definition was found
among executable statements or an assignment statement
involving an undimensioned array was found.
o MESSAGE: Unit specifier keyword missing in I/O statement
EXPLANATION: An I/O statement must include a unit specifier
subparameter.
o MESSAGE: Variable inconsistently equivalenced to itself
EXPLANATION: EQUIVALENCE statements specified inconsistent
relationships between variables or array elements. For
example:
EQUIVALENCE (A(1), A(2))
o MESSAGE: Variable name, constant, or expression invalid in
this context
EXPLANATION: An entity was used incorrectly; for example, the
name of a subprogram was used where an arithmetic expression
was required.
Top: f77 Up: 9,1 - Compilation
Previous: 9,1 - Compilation Next: 9,1,2 - Severe_Messages