Should be investigated by checking the statements to which warning
diagnostic messages refer. Warnings are issued for statements that
use acceptable, but nonstandard, syntax and for statements
corrected by the compiler. An object file is produced, but the
program results may be incorrect.
Warning messages are produced unless you specify the -w or -nowarn
option on the f77 command line.
The warning messages follow (in alphabetical order):
o MESSAGE: Actual argument data type (actual_type) not equal to
routine's dummy argument type (dummy_type)
EXPLANATION: A mismatch was detected between an actual
parameter type and the dummy type in the called routine. This
may be caused by a programming error which needs to be
corrected. For example:
CALL FOO ( 1.5 )
...
SUBROUTINE FOO ( X )
DOUBLE PRECISION X
Since the 1.5 is a REAL number (not DOUBLE PRECISION), this can
result in a variety of problems, depending upon the passing
mechanism of the system. In this case the "1.5" should be
changed to "1.5D0".
o MESSAGE: Alignment of common block is inconsistent with
previous declaration
EXPLANATION: Occurs when using CDEC$ OPTIONS/ALIGN if same
COMMON is declared in multiple pieces within a single
compilation unit and /ALIGN has changed between pieces. For
example:
CDEC$ OPTIONS /ALIGN=COMMON=NATURAL
COMMON /COM1/ A,B ! common elements are
! naturally aligned
CDEC$ END OPTIONS
CDEC$ OPTIONS /ALIGN=COMMON=PACKED
COMMON /COM1/ C,D ! common elements are packed
CDEC$ END OPTIONS
END
o MESSAGE: Argument data type error, not equal to the routine's
dummy argument type
EXPLANATION: A mismatch was detected between an actual
parameter type and the dummy type in the called routine. This
can be caused by a programming error which needs to be
corrected.
o MESSAGE: Error limit exceeded; compilation terminated
EXPLANATION: The number of error-level and fatal-error errors
has reached the limit given in -errorlimit nn (or the default
of 30 errors). Recompile with a larger -errorlimit value or
correct the errors displayed up to the point of termination and
then recompile.
o MESSAGE: Alignment of variable or array is inconsistent with
its data type
EXPLANATION: Scalar or array data cannot be naturally aligned
when alignment had been requested (-align xxxx) option),
possibly because of an EQUIVALENCE statement. See your DEC
Fortran user manual for alignment information.
o MESSAGE: Arguments incompatible with intrinsic function,
assumed EXTERNAL
EXPLANATION: A function reference was made using an intrinsic
function name, but the argument list does not agree in order,
number, or type with the intrinsic function requirements. When
this error is encountered, the function is assumed to be
supplied by you as an EXTERNAL function.
o MESSAGE: Assignment to DO variable within loop
EXPLANATION: The control variable of a DO loop was altered
within the range of a DO statement.
o MESSAGE: CDEC$ OPTIONS directives nested too deeply - this one
ignored
EXPLANATION: CDEC$ OPTIONS directives cannot be nested beyond
100 levels.
o MESSAGE: Constant size exceeds variable size in data
initialization
EXPLANATION: A constant used for data initialization was
larger than its corresponding variable.
o MESSAGE: Count of Hollerith constant too large, reduced
EXPLANATION: The value specified by the integer preceding the
H was greater than the number of characters remaining in the
source statement.
o MESSAGE: EQUIVALENCE may not be used to put a SAVE variable
into COMMON
EXPLANATION: You cannot use an EQUIVALENCE statement to put
variables declared with the SAVE statement into a COMMON data
block. For example:
common/c1/ a,b,c
dimension x(3)
save x
equivalence (x(1),a)
end
In this case, the SAVE statement is ignored.
o MESSAGE: Expression does not contribute to result
EXPLANATION: Part of a concatenated character string
expression is beyond the number of characters required to
completely fill the assignment. In the following example, TEST
will not be used:
CHARACTER NEW, OLD, TEST
NEW(1:10) = OLD(1:10)//TEST
o MESSAGE: Extra characters in source line were truncated
EXPLANATION: The compiler read a source line with a statement
field that exceeds the maximum column width. The compiler
truncates such lines at column 72 or 132, depending on the
value of -extend_source or the OPTIONS statement option in
effect.
o MESSAGE: Extra comma in format list
EXPLANATION: A format list contained an extra comma. For
example:
FORMAT (I4,)
o MESSAGE: Inconsistent declaration for an AUTOMATIC variable
EXPLANATION: Data declared as automatic (AUTOMATIC statement
or -automatic option) can not be made equivalent to another
variable using a EQUIVALENCE statement, nor can it be
initialized using a DATA statement or any data declaration
statement (such as REAL or INTEGER statement that gives it a
value).
o MESSAGE: Invalid END= keyword, ignored
EXPLANATION: The END keyword was used illegally in a WRITE or
direct access READ statement.
o MESSAGE: Invalid initialization of variable not in common
EXPLANATION: An attempt was made in a BLOCK DATA subprogram to
initialize a variable that was not in a common block.
o MESSAGE: Invalid statement label ignored
EXPLANATION: An improperly formed statement label (namely, a
label containing letters) was detected in columns 1 to 5 of an
initial line. When this error is encountered, the statement
label is ignored.
o MESSAGE: Length specified must match CHARACTER FUNCTION
declaration
EXPLANATION: The length specifications for all ENTRY names in
a character function subprogram must be the same. For example:
CHARACTER*15 FUNCTION F
CHARACTER*20 G
ENTRY G
o MESSAGE: Letter mentioned twice in IMPLICIT statement, last
type used
EXPLANATION: A letter was given an implicit data type more
than once. When this error is encountered, the last data type
given is used.
o MESSAGE: Lower bound greater than upper bound in array
declaration
EXPLANATION: The upper bound of a dimension declarator must be
equal to or greater than the lower bound.
o MESSAGE: Missing END statement, END is assumed
EXPLANATION: An END statement was missing at the end of the
last input file. When this error is encountered, an END
statement is inserted.
o MESSAGE: Multiple declaration of data type for variable, first
type used
EXPLANATION: A variable appeared in more than one data type
declaration statement. When this error is encountered, the
first type declaration is used.
o MESSAGE: Name longer than 31 characters
EXPLANATION: A symbolic name cannot exceed 31 characters.
When this error is encountered, the symbolic name is truncated
to 31 characters.
o MESSAGE: Name used in INTRINSIC statement is not an intrinsic
function
EXPLANATION: A function name that appeared in the INTRINSIC
statement was not an intrinsic function.
o MESSAGE: No matching CDEC$ END OPTIONS for CDEC$ OPTIONS
EXPLANATION: A CDEC$ OPTIONS directive must be terminated by
CDEC$ END OPTIONS.
o MESSAGE: No matching CDEC$ OPTIONS for CDEC$ END OPTIONS
EXPLANATION: A CDEC$ END OPTIONS directive terminates a CDEC$
OPTIONS section.
o MESSAGE: Non-blank characters truncated in string constant
EXPLANATION: A character or Hollerith constant was converted
to a data type that was not large enough to contain all of the
significant characters.
o MESSAGE: Non-zero digits truncated in hex constant
EXPLANATION: A hexadecimal constant was converted to a data
type that was not large enough to contain all the significant
digits.
o MESSAGE: No value
EXPLANATION: A value returned by a function is undefined.
o MESSAGE: Number of names exceeds number of values in data
initialization
EXPLANATION: The number of constants specified in a DATA
statement must match the number of variables or array elements
to be initialized. When a mismatch occurs, any extra variables
or array elements are not initialized.
o MESSAGE: Number of values exceeds number of names in data
initialization
EXPLANATION: The number of variables or array elements to be
initialized must match the number of constants specified in
data initialization. When a mismatch occurs, any extra
constant values are ignored.
o MESSAGE: Pointer and integer declarations conflict, using
pointer declaration
EXPLANATION: If a pointer variable is also declared to be an
integer of specific size (for example, INTEGER*4), and if a
pointer requires a different size on this platform (for
example, INTEGER*8 on DEC OSF/1 on AXP systems), the required
pointer size is used instead of the integer size. This may
affect COMMON sizes and equivalenced variables.
o MESSAGE: Program may contain only one main entry routine
EXPLANATION: Two or more main program units were found,
possibly caused by missing FUNCTION or SUBROUTINE statements.
o MESSAGE: Record contains one or more misaligned fields
EXPLANATION: One or more fields are not naturally aligned in a
RECORD structure because the -vms or -align norecords option
was specified (causing DEC Fortran to pack records instead of
naturally aligning them).
o MESSAGE: Record too long - record truncated
EXPLANATION: Source file line exceeded the maximum line
length.
o MESSAGE: Redundant continuation mark ignored
EXPLANATION: A continuation mark was detected where an initial
line is required. When this error is encountered, the
continuation mark is ignored.
o MESSAGE: Statement cannot terminate a DO loop
EXPLANATION: The terminal statement of a DO loop cannot be a
GO TO, arithmetic IF, RETURN, block IF, ELSE, ELSE IF, END IF,
DO, or END statement.
o MESSAGE: String constant truncated to maximum length
EXPLANATION: A character or Hollerith constant can contain up
to 2000 characters.
o MESSAGE: String too long - truncated to 31 characters
EXPLANATION: A character constant specified in a CDEC$ TITLE,
CDEC$ SUBTITLE, or CDEC$ IDENT directive exceeded 31
characters. The truncated character value will be used.
o MESSAGE: This feature is unsupported on ULTRIX
EXPLANATION: The program attempted to use a VAX FORTRAN I/O
feature that is not available on ULTRIX or DEC OSF/1 systems.
If the resulting program is run on either system, this
construct will be ignored. See your DEC Fortran user manual
for information on VAX FORTRAN compatibility.
o MESSAGE: This intrinsic routine name is not supported on this
system, assumed EXTERNAL
EXPLANATION: The specified intrinsic name is not known and is
assumed to be EXTERNAL.
o MESSAGE: Unexpected Hollerith constant in integer context,
integer value will be used
EXPLANATION: A Hollerith constant was specified in a context
where an integer value was expected.
o MESSAGE: Use of implicit with declaration warnings
EXPLANATION: An IMPLICIT statement was used in a program
compiled with the -warn declarations option.
o MESSAGE: Value for xxx out of range, defaulting to xxx
EXPLANATION: Command line error. For example:
$ f77 -O15 x.f
The range of values allowed for -O is 0-4. 15 is out of range.
The default value of 4 is used instead.
o MESSAGE: Variable is used before its value has been defined
EXPLANATION: The specified variable has not been assigned a
value before it is used in an assignment or similar statement.
You can disable this message by compiling with -warn
nouninitialized.
转载于:https://www.cnblogs.com/leokie/p/4707404.html