Warning_Messages_Fortran

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.

posted on 2015-08-06 11:03  Leokie  阅读(388)  评论(0编辑  收藏  举报

导航