/* bad.def -- Public #include File (module.h template V1.0)
   Copyright (C) 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
   Contributed by James Craig Burley.

This file is part of GNU Fortran.

GNU Fortran is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.

GNU Fortran is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Fortran; see the file COPYING.  If not, write to
the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.

   Owning Modules:
      bad.c

   Modifications:
*/

#define INFORM FFEBAD_severityINFORMATIONAL
#define TRIVIAL FFEBAD_severityTRIVIAL
#define WARN FFEBAD_severityWARNING
#define PECULIAR FFEBAD_severityPECULIAR
#define FATAL FFEBAD_severityFATAL
#define WEIRD FFEBAD_severityWEIRD
#define SEVERE FFEBAD_severitySEVERE
#define DISASTER FFEBAD_severityDISASTER

FFEBAD_MSG (FFEBAD_MISSING_FIRST_BINARY_OPERAND, FATAL,
"Missing first operand for binary operator at %0")
FFEBAD_MSG (FFEBAD_NULL_CHAR_CONST, WARN,
"Zero-length character constant at %0")
FFEBAD_MSG (FFEBAD_INVALID_TOKEN_IN_EXPRESSION, FATAL,
"Invalid token at %0 in expression or subexpression at %1")
FFEBAD_MSG (FFEBAD_MISSING_OPERAND_FOR_OPERATOR, FATAL,
"Missing operand for operator at %1 at end of expression at %0")
FFEBAD_MSG (FFEBAD_LABEL_ALREADY_DEFINED, FATAL,
"Label %A already defined at %1 when redefined at %0")
FFEBAD_MSG (FFEBAD_UNRECOGNIZED_CHARACTER, FATAL,
"Unrecognized character at %0 [info -f g77 M LEX]")
FFEBAD_MSG (FFEBAD_LABEL_WITHOUT_STMT, WARN,
"Label definition %A at %0 on empty statement (as of %1)")
FFEBAD_MSG (FFEBAD_EXTRA_LABEL_DEF, FATAL,
LONG("Extra label definition %A at %0 -- perhaps previous label definition %B at %1 should have CONTINUE statement?")
SHORT("Extra label definition %A at %0 following label definition %B at %1"))
FFEBAD_MSG (FFEBAD_FIRST_CHAR_INVALID, FATAL,
"Invalid first character at %0 [info -f g77 M LEX]")
FFEBAD_MSG (FFEBAD_LINE_TOO_LONG, FATAL,
"Line too long as of %0 [info -f g77 M LEX]")
FFEBAD_MSG (FFEBAD_LABEL_FIELD_NOT_NUMERIC, FATAL,
"Non-numeric character at %0 in label field [info -f g77 M LEX]")
FFEBAD_MSG (FFEBAD_LABEL_NUMBER_INVALID, FATAL,
"Label number at %0 not in range 1-99999")
FFEBAD_MSG (FFEBAD_NON_ANSI_COMMENT, WARN,
"At %0, '!' and '/*' are not valid comment delimiters")
FFEBAD_MSG (FFEBAD_NON_ANSI_CONTINUATION_COLUMN, WARN,
"Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]")
FFEBAD_MSG (FFEBAD_LABEL_ON_CONTINUATION, FATAL,
"Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]")
FFEBAD_MSG (FFEBAD_INVALID_CONTINUATION, FATAL,
LONG("Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE [info -f g77 M LEX]")
SHORT("Continuation indicator at %0 invalid here [info -f g77 M LEX]"))
FFEBAD_MSG (FFEBAD_NO_CLOSING_APOSTROPHE, FATAL,
"Character constant at %0 has no closing apostrophe at %1")
FFEBAD_MSG (FFEBAD_NOT_ENOUGH_HOLLERITH_CHARS, FATAL,
"Hollerith constant at %0 specified %A more characters than are present as of %1")
FFEBAD_MSG (FFEBAD_MISSING_CLOSE_PAREN, FATAL,
"Missing close parenthese at %0 needed to match open parenthese at %1")
FFEBAD_MSG (FFEBAD_INTEGER_TOO_LARGE, FATAL,
"Integer at %0 too large")
FFEBAD_MSG (FFEBAD_BAD_MAGICAL, WARN,
LONG("Integer at %0 too large except as negative number (preceded by unary minus sign)")
SHORT("Non-negative integer at %0 too large"))
FFEBAD_MSG (FFEBAD_BAD_MAGICAL_PRECEDENCE, WARN,
LONG("Integer at %0 too large; even though preceded by unary minus sign at %1, subsequent operator at %2 has precedence over unary minus -- enclose unary minus sign and integer in parentheses to force precedence")
SHORT("Integer at %0 too large (%2 has precedence over %1)"))
FFEBAD_MSG (FFEBAD_BAD_MAGICAL_BINARY, WARN,
LONG("Integer at %0 too large; even though preceded by minus sign at %1, because minus sign is a binary, not unary, operator -- insert plus sign before minus sign to change it to a unary minus sign")
SHORT("Integer at %0 too large (needs unary, not binary, minus at %1)"))
FFEBAD_MSG (FFEBAD_BAD_MAGICAL_PRECEDENCE_BINARY, WARN,
LONG("Integer at %0 too large; even though preceded by minus sign at %1, subsequent operator at %2 has precedence over minus, and that minus sign should be a unary minus rather than a binary minus -- insert plus sign before minus sign to change it to a unary minus sign, and enclose unary minus sign and integer in parentheses to force precedence")
SHORT("Integer at %0 too large (%2 has precedence over %1, which needs to be unary, not binary, minus)"))
FFEBAD_MSG (FFEBAD_IGNORING_PERIOD, FATAL,
"Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'")
FFEBAD_MSG (FFEBAD_INSERTING_PERIOD, FATAL,
"Missing close-period between `.%A' at %0 and %1")
FFEBAD_MSG (FFEBAD_INVALID_EXPONENT, FATAL,
"Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field")
FFEBAD_MSG (FFEBAD_MISSING_EXPONENT_VALUE, FATAL,
"Missing value at %1 for real-number exponent at %0")
FFEBAD_MSG (FFEBAD_MISSING_BINARY_OPERATOR, FATAL,
"Expected binary operator between expressions at %0 and at %1")
FFEBAD_MSG (FFEBAD_INVALID_DOTDOT, FATAL,
LONG("Period at %0 not followed by valid keyword forming a valid binary operator; `.%A.' is not a valid binary operator")
SHORT("`.%A.' at %0 not a binary operator"))
FFEBAD_MSG (FFEBAD_QUOTE_MISSES_DIGITS, FATAL,
LONG("Double-quote at %0 not followed by a string of valid octal digits at %1")
SHORT("Invalid octal constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_BINARY_DIGIT, FATAL,
LONG("Invalid binary digit(s) found in string of digits at %0")
SHORT("Invalid binary constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_HEX_DIGIT, FATAL,
LONG("Invalid hexadecimal digit(s) found in string of digits at %0")
SHORT("Invalid hexadecimal constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_OCTAL_DIGIT, FATAL,
LONG("Invalid octal digit(s) found in string of digits at %0")
SHORT("Invalid octal constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_RADIX_SPECIFIER, FATAL,
LONG("Invalid radix specifier `%A' at %0 for typeless constant at %1")
SHORT("Invalid typeless constant at %1"))
FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_BINARY_DIGIT, FATAL,
LONG("Invalid binary digit(s) found in string of digits at %0")
SHORT("Invalid binary constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_OCTAL_DIGIT, FATAL,
LONG("Invalid octal digit(s) found in string of digits at %0")
SHORT("Invalid octal constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_HEX_DIGIT, FATAL,
LONG("Invalid hexadecimal digit(s) found in string of digits at %0")
SHORT("Invalid hexadecimal constant at %0"))
FFEBAD_MSG (FFEBAD_INVALID_COMPLEX_PART, FATAL,
LONG("%A part of complex constant at %0 must be a real or integer constant -- otherwise use CMPLX() or COMPLEX() in place of ()")
SHORT("%A part of complex constant at %0 not a real or integer constant"))
FFEBAD_MSG (FFEBAD_INVALID_PERCENT, FATAL,
LONG("Invalid keyword `%%%A' at %0 in this context")
SHORT("Invalid keyword `%%%A' at %0"))
FFEBAD_MSG (FFEBAD_NULL_EXPRESSION, FATAL,
LONG("Null expression between %0 and %1 invalid in this context")
SHORT("Invalid null expression between %0 and %1"))
FFEBAD_MSG (FFEBAD_CONCAT_ARGS_TYPE, FATAL,
LONG("Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type")
SHORT("Invalid operands at %1 and %2 for concatenation operator at %0"))
FFEBAD_MSG (FFEBAD_CONCAT_ARG_TYPE, FATAL,
LONG("Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type")
SHORT("Invalid operand at %1 for concatenation operator at %0"))
FFEBAD_MSG (FFEBAD_CONCAT_ARG_KIND, FATAL,
LONG("Concatenation operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning character scalars, or a combination of both -- but the subexpression at %1 is %A")
SHORT("Invalid operand (is %A) at %1 for concatenation operator at %0"))
FFEBAD_MSG (FFEBAD_MATH_ARGS_TYPE, FATAL,
LONG("Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type")
SHORT("Invalid operands at %1 and %2 for arithmetic operator at %0"))
FFEBAD_MSG (FFEBAD_MATH_ARG_TYPE, FATAL,
LONG("Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type")
SHORT("Invalid operand at %1 for arithmetic operator at %0"))
FFEBAD_MSG (FFEBAD_MATH_ARG_KIND, FATAL,
LONG("Arithmetic operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic scalars, or a combination of both -- but the subexpression at %1 is %A")
SHORT("Invalid operand (is %A) at %1 for arithmetic operator at %0"))
FFEBAD_MSG (FFEBAD_NO_CLOSING_QUOTE, FATAL,
LONG("Character constant at %0 has no closing quote at %1 [info -f g77 M LEX]")
SHORT("Unterminated character constant at %0 [info -f g77 M LEX]"))
FFEBAD_MSG (FFEBAD_BAD_CHAR_CONTINUE, FATAL,
LONG("Continuation line at %0 must have initial `&' since it continues a character context [info -f g77 M LEX]")
SHORT("Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"))
FFEBAD_MSG (FFEBAD_BAD_LEXTOK_CONTINUE, FATAL,
LONG("Continuation line at %0 must have initial `&' since it continues a split lexical token [info -f g77 M LEX]")
SHORT("Missing initial `&' on continuation line at %0 [info -f g77 M LEX]"))
FFEBAD_MSG (FFEBAD_BAD_FREE_CONTINUE, FATAL,
LONG("Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character")
SHORT("Invalid continuation line at %0"))
FFEBAD_MSG (FFEBAD_STMT_BEGINS_BAD, FATAL,
LONG("Statement at %0 begins with invalid token [info -f g77 M LEX]")
SHORT("Invalid statement at %0 [info -f g77 M LEX]"))
FFEBAD_MSG (FFEBAD_SEMICOLON, FATAL,
"Semicolon at %0 is an invalid token")
FFEBAD_MSG (FFEBAD_UNREC_STMT, FATAL,
LONG("Unrecognized statement name at %0 and invalid form for assignment or statement-function definition at %1")
SHORT("Invalid statement at %0"))
FFEBAD_MSG (FFEBAD_INVALID_STMT_FORM, FATAL,
LONG("Invalid form for %A statement at %0")
SHORT("Invalid %A statement at %0"))
FFEBAD_MSG (FFEBAD_INVALID_HOLL_IN_STMT, FATAL,
LONG("Invalid use of hollerith constant in statement at %0 -- enclose the constant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))")
SHORT("Enclose hollerith constant in statement at %0 in parentheses"))
FFEBAD_MSG (FFEBAD_FORMAT_EXTRA_COMMA, FATAL,
"Extraneous comma in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_MISSING_COMMA, WARN,
"Missing comma in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_SPURIOUS_SIGN, FATAL,
"Spurious sign in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_SPURIOUS_NUMBER, FATAL,
"Spurious number in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_TEXT_IN_NUMBER, FATAL,
"Spurious text trailing number in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_P_NOCOMMA, FATAL,
LONG("nP control edit descriptor not followed by comma but followed by edit descriptor at %0 other than D, E, EN, F, or G")
SHORT("Invalid edit descriptor at %0 following nP control edit descriptor"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_SPEC, FATAL,
"Unrecognized FORMAT specifier at %0")
FFEBAD_MSG (FFEBAD_FORMAT_BAD_I_SPEC, FATAL,
LONG("Invalid I specifier in FORMAT statement at %0 -- correct form: [r]Iw.[m]")
SHORT("Invalid I specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_B_SPEC, FATAL,
LONG("Invalid B specifier in FORMAT statement at %0 -- correct form: [r]Bw.[m]")
SHORT("Invalid B specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_O_SPEC, FATAL,
LONG("Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]")
SHORT("Invalid O specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_Z_SPEC, FATAL,
LONG("Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]")
SHORT("Invalid Z specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_F_SPEC, FATAL,
LONG("Invalid F specifier in FORMAT statement at %0 -- correct form: [r]Fw.d")
SHORT("Invalid F specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_E_SPEC, FATAL,
LONG("Invalid E specifier in FORMAT statement at %0 -- correct form: [r]Ew.d[Ee]")
SHORT("Invalid E specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_EN_SPEC, FATAL,
LONG("Invalid EN specifier in FORMAT statement at %0 -- correct form: [r]ENw.d[Ee]")
SHORT("Invalid EN specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_G_SPEC, FATAL,
LONG("Invalid G specifier in FORMAT statement at %0 -- correct form: [r]Gw.d[Ee]")
SHORT("Invalid G specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_L_SPEC, FATAL,
LONG("Invalid L specifier in FORMAT statement at %0 -- correct form: [r]Lw")
SHORT("Invalid L specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_A_SPEC, FATAL,
LONG("Invalid A specifier in FORMAT statement at %0 -- correct form: [r]A[w]")
SHORT("Invalid A specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_D_SPEC, FATAL,
LONG("Invalid D specifier in FORMAT statement at %0 -- correct form: [r]Dw.d")
SHORT("Invalid D specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_Q_SPEC, FATAL,
LONG("Invalid Q specifier in FORMAT statement at %0 -- correct form: Q")
SHORT("Invalid Q specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_DOLLAR_SPEC, FATAL,
LONG("Invalid $ specifier in FORMAT statement at %0 -- correct form: $")
SHORT("Invalid $ specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_P_SPEC, FATAL,
LONG("Invalid P specifier in FORMAT statement at %0 -- correct form: kP")
SHORT("Invalid P specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_T_SPEC, FATAL,
LONG("Invalid T specifier in FORMAT statement at %0 -- correct form: Tn")
SHORT("Invalid T specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_TL_SPEC, FATAL,
LONG("Invalid TL specifier in FORMAT statement at %0 -- correct form: TLn")
SHORT("Invalid TL specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_TR_SPEC, FATAL,
LONG("Invalid TR specifier in FORMAT statement at %0 -- correct form: TRn")
SHORT("Invalid TR specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_X_SPEC, FATAL,
LONG("Invalid X specifier in FORMAT statement at %0 -- correct form: nX")
SHORT("Invalid X specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_S_SPEC, FATAL,
LONG("Invalid S specifier in FORMAT statement at %0 -- correct form: S")
SHORT("Invalid S specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_SP_SPEC, FATAL,
LONG("Invalid SP specifier in FORMAT statement at %0 -- correct form: SP")
SHORT("Invalid SP specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_SS_SPEC, FATAL,
LONG("Invalid SS specifier in FORMAT statement at %0 -- correct form: SS")
SHORT("Invalid SS specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_BN_SPEC, FATAL,
LONG("Invalid BN specifier in FORMAT statement at %0 -- correct form: BN")
SHORT("Invalid BN specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_BZ_SPEC, FATAL,
LONG("Invalid BZ specifier in FORMAT statement at %0 -- correct form: BZ")
SHORT("Invalid BZ specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_COLON_SPEC, FATAL,
LONG("Invalid : specifier in FORMAT statement at %0 -- correct form: :")
SHORT("Invalid : specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_BAD_H_SPEC, FATAL,
LONG("Invalid H specifier in FORMAT statement at %0 -- correct form: nHcharacters  !where n is an unsigned decimal constant, and characters               !contains exactly n characters (including spaces)")
SHORT("Invalid H specifier in FORMAT statement at %0"))
FFEBAD_MSG (FFEBAD_FORMAT_MISSING_PAREN, FATAL,
"Missing close-parenthese(s) in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_MISSING_DOT, FATAL,
"Missing number following period in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_MISSING_EXP, FATAL,
"Missing number following `E' in FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_FORMAT_EXPR_TOKEN, FATAL,
LONG("Invalid token with FORMAT run-time expression at %0 -- use the traditional operators .LT., .LE., .GT., .GE., .EQ., and .NE. in place of the newer tokens <, <=, >, >=, ==, and !=, because > ends an expression within a FORMAT statement")
SHORT("Invalid token with FORMAT run-time expression at %0"))
FFEBAD_MSG (FFEBAD_TRAILING_COMMA, WARN,
"Spurious trailing comma preceding terminator at %0")
FFEBAD_MSG (FFEBAD_INTERFACE_ASSIGNMENT, WARN,
"At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)")
FFEBAD_MSG (FFEBAD_INTERFACE_OPERATOR, WARN,
"At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)")
FFEBAD_MSG (FFEBAD_INTERFACE_NONLETTER, FATAL,
LONG("Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)")
SHORT("Nonletter in defined operator at %0"))
FFEBAD_MSG (FFEBAD_INVALID_TYPEDECL_ATTR, FATAL,
LONG("Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE")
SHORT("Invalid type-declaration attribute at %0"))
FFEBAD_MSG (FFEBAD_INVALID_TYPEDECL_INIT, FATAL,
"Cannot specify =initialization-expr at %0 unless `::' appears before list of objects")
FFEBAD_MSG (FFEBAD_LABEL_USE_DEF, FATAL,
"Reference to label at %1 inconsistent with its definition at %0")
FFEBAD_MSG (FFEBAD_LABEL_USE_USE, FATAL,
"Reference to label at %1 inconsistent with earlier reference at %0")
FFEBAD_MSG (FFEBAD_LABEL_DEF_DO, FATAL,
"DO-statement reference to label at %1 follows its definition at %0")
FFEBAD_MSG (FFEBAD_LABEL_BLOCK, WARN,
"Reference to label at %1 is outside block containing definition at %0")
FFEBAD_MSG (FFEBAD_LABEL_DO_BLOCK_DO, FATAL,
"DO-statement references to label at %0 and %2 separated by unterminated block starting at %1")
FFEBAD_MSG (FFEBAD_LABEL_DO_BLOCK_END, FATAL,
"DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1")
FFEBAD_MSG (FFEBAD_INVALID_LABEL_DEF, FATAL,
"Label definition at %0 invalid on this kind of statement")
FFEBAD_MSG (FFEBAD_ORDER_1, FATAL,
"Statement at %0 invalid in this context")
FFEBAD_MSG (FFEBAD_ORDER_2, FATAL,
"Statement at %0 invalid in context established by statement at %1")
FFEBAD_MSG (FFEBAD_CONSTRUCT_NAMED, FATAL,
"Statement at %0 must specify construct name specified at %1")
FFEBAD_MSG (FFEBAD_CONSTRUCT_NOT_NAMED, FATAL,
"Construct name at %0 superfluous, no construct name specified at %1")
FFEBAD_MSG (FFEBAD_CONSTRUCT_WRONG_NAME, FATAL,
"Construct name at %0 not the same as construct name at %1")
FFEBAD_MSG (FFEBAD_CONSTRUCT_NO_DO_NAME, FATAL,
"Construct name at %0 does not match construct name for any containing DO constructs")
FFEBAD_MSG (FFEBAD_DO_HAD_LABEL, FATAL,
"Label definition missing at %0 for DO construct specifying label at %1")
FFEBAD_MSG (FFEBAD_AFTER_ELSE, FATAL,
"Statement at %0 follows ELSE block for IF construct at %1")
FFEBAD_MSG (FFEBAD_FORMAT_NO_LABEL_DEF, FATAL,
"No label definition for FORMAT statement at %0")
FFEBAD_MSG (FFEBAD_SECOND_ELSE_WHERE, FATAL,
"Second occurrence of ELSE WHERE at %0 within WHERE at %1")
FFEBAD_MSG (FFEBAD_END_WO, WARN,
"END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1")
FFEBAD_MSG (FFEBAD_INVALID_MODULE_PROCEDURE, FATAL,
"MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment")
FFEBAD_MSG (FFEBAD_BLOCKDATA_NOT_NAMED, FATAL,
"BLOCK DATA name at %0 superfluous, no name specified at %1")
FFEBAD_MSG (FFEBAD_PROGRAM_NOT_NAMED, FATAL,
"Program name at %0 superfluous, no PROGRAM statement specified at %1")
FFEBAD_MSG (FFEBAD_UNIT_WRONG_NAME, FATAL,
"Program unit name at %0 not the same as name at %1")
FFEBAD_MSG (FFEBAD_TYPE_WRONG_NAME, FATAL,
"Type name at %0 not the same as name at %1")
FFEBAD_MSG (FFEBAD_EOF_BEFORE_BLOCK_END, FATAL,
"End of source file before end of block started at %0")
FFEBAD_MSG (FFEBAD_UNDEF_LABEL, FATAL,
"Undefined label, first referenced at %0")
FFEBAD_MSG (FFEBAD_CONFLICTING_SAVES, WARN,
"SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0")
FFEBAD_MSG (FFEBAD_CONFLICTING_ACCESSES, FATAL,
"PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0")
FFEBAD_MSG (FFEBAD_RETURN_IN_MAIN, WARN,
"RETURN statement at %0 invalid within a main program unit")
FFEBAD_MSG (FFEBAD_ALTRETURN_IN_PROGRAM, FATAL,
"Alternate return specifier at %0 invalid within a main program unit")
FFEBAD_MSG (FFEBAD_ALTRETURN_IN_FUNCTION, FATAL,
"Alternate return specifier at %0 invalid within a function")
FFEBAD_MSG (FFEBAD_DERIVTYP_ACCESS, FATAL,
"Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module")
FFEBAD_MSG (FFEBAD_DERIVTYP_ACCESS_FIRST, FATAL,
"Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements")
FFEBAD_MSG (FFEBAD_DERIVTYP_NO_COMPONENTS, FATAL,
"No components specified as of %0 for derived-type definition beginning at %1")
FFEBAD_MSG (FFEBAD_STRUCT_NO_COMPONENTS, FATAL,
"No components specified as of %0 for structure definition beginning at %1")
FFEBAD_MSG (FFEBAD_STRUCT_MISSING_NAME, FATAL,
"Missing structure name for outer structure definition at %0")
FFEBAD_MSG (FFEBAD_STRUCT_IGNORING_FIELD, FATAL,
"Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead")
FFEBAD_MSG (FFEBAD_STRUCT_MISSING_FIELD, FATAL,
"Missing field name(s) for structure definition at %0 within structure definition at %1")
FFEBAD_MSG (FFEBAD_MAP_NO_COMPONENTS, FATAL,
"No components specified as of %0 for map beginning at %1")
FFEBAD_MSG (FFEBAD_UNION_NO_TWO_MAPS, FATAL,
"Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required")
FFEBAD_MSG (FFEBAD_MISSING_SPECIFIER, FATAL,
"Missing %A specifier in statement at %0")
FFEBAD_MSG (FFEBAD_NAMELIST_ITEMS, FATAL,
"Items in I/O list starting at %0 invalid for namelist-directed I/O")
FFEBAD_MSG (FFEBAD_CONFLICTING_SPECS, FATAL,
"Conflicting I/O control specifications at %0 and %1")
FFEBAD_MSG (FFEBAD_NO_UNIT_SPEC, FATAL,
"No UNIT= specifier in I/O control list at %0")
FFEBAD_MSG (FFEBAD_MISSING_ADVANCE_SPEC, FATAL,
"Specification at %0 requires ADVANCE=`NO' specification in same I/O control list")
FFEBAD_MSG (FFEBAD_MISSING_FORMAT_SPEC, FATAL,
"Specification at %0 requires explicit FMT= specification in same I/O control list")
FFEBAD_MSG (FFEBAD_SPEC_VALUE, FATAL,
LONG("Unrecognized value for character constant at %0 -- expecting %A")
SHORT("Unrecognized value for character constant at %0"))
FFEBAD_MSG (FFEBAD_CASE_SECOND_DEFAULT, FATAL,
"Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1")
FFEBAD_MSG (FFEBAD_CASE_DUPLICATE, FATAL,
"Duplicate or overlapping case values/ranges at %0 and %1")
FFEBAD_MSG (FFEBAD_CASE_TYPE_DISAGREE, FATAL,
"Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1")
FFEBAD_MSG (FFEBAD_CASE_LOGICAL_RANGE, FATAL,
"Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement")
FFEBAD_MSG (FFEBAD_CASE_BAD_RANGE, FATAL,
LONG("Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT")
SHORT("Range specification at %0 invalid"))
FFEBAD_MSG (FFEBAD_CASE_RANGE_USELESS, INFORM,
LONG("Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression")
SHORT("Useless range at %0"))
FFEBAD_MSG (FFEBAD_F90, FATAL,
"Fortran 90 feature at %0 unsupported")
FFEBAD_MSG (FFEBAD_KINDTYPE, FATAL,
LONG("Invalid kind at %0 for type at %1 -- unsupported or not permitted")
SHORT("Invalid kind at %0 for type at %1"))
FFEBAD_MSG (FFEBAD_BAD_IMPLICIT, FATAL,
LONG("Cannot establish implicit type for initial letter `%A' at %0 -- already explicitly established or used to set implicit type of some name, or backwards order of letters in letter range")
SHORT("Cannot establish implicit type for initial letter `%A' at %0"))
FFEBAD_MSG (FFEBAD_SYMERR, FATAL,
"Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]")
FFEBAD_MSG (FFEBAD_LABEL_WRONG_PLACE, FATAL,
LONG("Label definition %A (at %0) invalid -- must be in columns 1-5")
SHORT("Invalid label definition %A (at %0)"))
FFEBAD_MSG (FFEBAD_NULL_ELEMENT, FATAL,
"Null element at %0 for array reference at %1")
FFEBAD_MSG (FFEBAD_TOO_FEW_ELEMENTS, FATAL,
"Too few elements (%A missing) as of %0 for array reference at %1")
FFEBAD_MSG (FFEBAD_TOO_MANY_ELEMENTS, FATAL,
"Too many elements as of %0 for array reference at %1")
FFEBAD_MSG (FFEBAD_MISSING_COLON_IN_SUBSTR, FATAL,
"Missing colon as of %0 in substring reference for %1")
FFEBAD_MSG (FFEBAD_BAD_SUBSTR, FATAL,
"Invalid use at %0 of substring operator on %1")
FFEBAD_MSG (FFEBAD_RANGE_SUBSTR, WARN,
"Substring begin/end point at %0 out of defined range")
FFEBAD_MSG (FFEBAD_RANGE_ARRAY, WARN,
"Array element value at %0 out of defined range")
FFEBAD_MSG (FFEBAD_EXPR_WRONG, FATAL,
"Expression at %0 has incorrect data type or rank for its context")
FFEBAD_MSG (FFEBAD_DIV_BY_ZERO, WARN,
"Division by 0 (zero) at %0 (IEEE not yet supported)")
FFEBAD_MSG (FFEBAD_DO_STEP_ZERO, FATAL,
"%A step count known to be 0 (zero) at %0")
FFEBAD_MSG (FFEBAD_DO_END_OVERFLOW, WARN,
"%A end value plus step count known to overflow at %0")
FFEBAD_MSG (FFEBAD_DO_IMP_OVERFLOW, WARN,
"%A begin, end, and step-count values known to result in implementation-dependent behavior due to overflow(s) in intermediate calculations at %0")
FFEBAD_MSG (FFEBAD_DO_NULL, WARN,
"%A begin, end, and step-count values known to result in no iterations at %0")
FFEBAD_MSG (FFEBAD_BAD_TYPES, FATAL,
"Type disagreement between expressions at %0 and %1")
FFEBAD_MSG (FFEBAD_FORMAT_EXPR_SPEC, FATAL,
LONG("Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement")
SHORT("FORMAT at %0 with run-time expression must follow first executable statement"))
FFEBAD_MSG (FFEBAD_BAD_IMPDO, FATAL,
LONG("Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is `(item-list,do-var=start,end[,incr])'")
SHORT("Unexpected token at %0 in implied-DO construct at %1"))
FFEBAD_MSG (FFEBAD_BAD_IMPDCL, FATAL,
"No specification for implied-DO iterator `%A' at %0")
FFEBAD_MSG (FFEBAD_IMPDO_PAREN, WARN,
"Gratuitous parentheses surround implied-DO construct at %0")
FFEBAD_MSG (FFEBAD_ZERO_SIZE, FATAL,
"Zero-size specification invalid at %0")
FFEBAD_MSG (FFEBAD_ZERO_ARRAY, FATAL,
"Zero-size array at %0")
FFEBAD_MSG (FFEBAD_BAD_COMPLEX, FATAL,
"Target machine does not support complex entity of kind specified at %0")
FFEBAD_MSG (FFEBAD_BAD_DBLCMPLX, FATAL,
"Target machine does not support DOUBLE COMPLEX, specified at %0")
FFEBAD_MSG (FFEBAD_BAD_POWER, WARN,
"Attempt to raise constant zero to a power at %0")
FFEBAD_MSG (FFEBAD_BOOL_ARGS_TYPE, FATAL,
LONG("Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type")
SHORT("Invalid operands at %1 and %2 for boolean operator at %0"))
FFEBAD_MSG (FFEBAD_BOOL_ARG_TYPE, FATAL,
LONG("Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type")
SHORT("Invalid operand at %1 for boolean operator at %0"))
FFEBAD_MSG (FFEBAD_BOOL_ARG_KIND, FATAL,
LONG("Boolean/logical operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning logical scalars, or a combination of both -- but the subexpression at %1 is %A")
SHORT("Invalid operand (is %A) at %1 for boolean operator at %0"))
FFEBAD_MSG (FFEBAD_NOT_ARG_TYPE, FATAL,
LONG(".NOT. operator at %0 must operate on subexpression of logical type, but the subexpression at %1 is not of logical type")
SHORT("Invalid operand at %1 for .NOT. operator at %0"))
FFEBAD_MSG (FFEBAD_NOT_ARG_KIND, FATAL,
LONG(".NOT. operator at %0 must operate on scalar subexpressions -- but the subexpression at %1 is %A")
SHORT("Invalid operand (is %A) at %1 for .NOT. operator at %0"))
FFEBAD_MSG (FFEBAD_EQOP_ARGS_TYPE, FATAL,
LONG("Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but neither subexpression at %1 or %2 is of arithmetic or character type")
SHORT("Invalid operands at %1 and %2 for equality operator at %0"))
FFEBAD_MSG (FFEBAD_EQOP_ARG_TYPE, FATAL,
LONG("Equality operator at %0 must operate on two subexpressions of arithmetic or character type, but the subexpression at %1 is not of arithmetic or character type")
SHORT("Invalid operand at %1 for equality operator at %0"))
FFEBAD_MSG (FFEBAD_EQOP_ARG_KIND, FATAL,
LONG("Equality operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning arithmetic or character scalars, or a combination of both -- but the subexpression at %1 is %A")
SHORT("Invalid operand (is %A) at %1 for equality operator at %0"))
FFEBAD_MSG (FFEBAD_RELOP_ARGS_TYPE, FATAL,
LONG("Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but neither subexpression at %1 or %2 is of integer, real, or character type")
SHORT("Invalid operands at %1 and %2 for relational operator at %0"))
FFEBAD_MSG (FFEBAD_RELOP_ARG_TYPE, FATAL,
LONG("Relational operator at %0 must operate on two subexpressions of integer, real, or character type, but the subexpression at %1 is not of integer, real, or character type")
SHORT("Invalid operand at %1 for relational operator at %0"))
FFEBAD_MSG (FFEBAD_RELOP_ARG_KIND, FATAL,
LONG("Relational operator at %0 must operate on two scalar (not array) subexpressions, two function invocations returning integer, real, or character scalars, or a combination of both -- but the subexpression at %1 is %A")
SHORT("Invalid operand (is %A) at %1 for relational operator at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_REF, FATAL,
LONG("Reference to intrinsic `%A' at %0 invalid -- one or more arguments have incorrect type")
SHORT("Invalid reference to intrinsic `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_TOOFEW, FATAL,
LONG("Too few arguments passed to intrinsic `%A' at %0")
SHORT("Too few arguments for intrinsic `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_TOOMANY, FATAL,
LONG("Too many arguments passed to intrinsic `%A' at %0")
SHORT("Too many arguments for intrinsic `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_DISABLED, FATAL,
LONG("Reference to disabled intrinsic `%A' at %0")
SHORT("Disabled intrinsic `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_IS_SUBR, FATAL,
LONG("Reference to intrinsic subroutine `%A' as if it were a function at %0")
SHORT("Function reference to intrinsic subroutine `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_IS_FUNC, FATAL,
LONG("Reference to intrinsic function `%A' as if it were a subroutine at %0")
SHORT("Subroutine reference to intrinsic function `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_UNIMPL, FATAL,
LONG("Reference to unimplemented intrinsic `%A' at %0 -- use EXTERNAL to reference user-written procedure with this name")
SHORT("Unimplemented intrinsic `%A' at %0"))
FFEBAD_MSG (FFEBAD_INTRINSIC_UNIMPLW, WARN,
LONG("Reference to unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)")
SHORT("Unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)"))
FFEBAD_MSG (FFEBAD_INTRINSIC_AMBIG, FATAL,
"Reference to generic intrinsic `%A' at %0 could be to form %B or %C")
FFEBAD_MSG (FFEBAD_INTRINSIC_CMPAMBIG, FATAL,
"Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]")
FFEBAD_MSG (FFEBAD_INTRINSIC_EXPIMP, WARN,
"Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]")
FFEBAD_MSG (FFEBAD_INTRINSIC_GLOBAL, WARN,
"Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]")
FFEBAD_MSG (FFEBAD_INTRINSIC_TYPE, WARN,
"Explicit type declaration for intrinsic `%A' disagrees with invocation at %0")
FFEBAD_MSG (FFEBAD_OPEN_INCLUDE, FATAL,
"Unable to open INCLUDE file `%A' at %0")
FFEBAD_MSG (FFEBAD_DOITER, FATAL,
LONG("Attempt to modify variable `%A' at %0 while it serves as DO-loop iterator at %1")
SHORT("Modification of DO-loop iterator `%A' at %0"))
FFEBAD_MSG (FFEBAD_DOITER_IMPDO, FATAL,
LONG("Attempt to modify variable `%A' via item #%B in list at %0 while it serves as implied-DO iterator at %1")
SHORT("Modification of DO-loop iterator `%A' at %0"))
FFEBAD_MSG (FFEBAD_TOO_MANY_DIMS, FATAL,
LONG("Array has too many dimensions, as of dimension specifier at %0")
SHORT("Too many dimensions at %0"))
FFEBAD_MSG (FFEBAD_NULL_ARGUMENT, FATAL,
"Null argument at %0 for statement function reference at %1")
FFEBAD_MSG (FFEBAD_NULL_ARGUMENT_W, WARN,
"Null argument at %0 for procedure invocation at %1")
FFEBAD_MSG (FFEBAD_TOO_FEW_ARGUMENTS, FATAL,
"%A too few arguments (starting with dummy argument `%B') as of %0 for statement function reference at %1")
FFEBAD_MSG (FFEBAD_TOO_MANY_ARGUMENTS, FATAL,
"%A too many arguments as of %0 for statement function reference at %1")
FFEBAD_MSG (FFEBAD_ARRAY_AS_SFARG, FATAL,
"Array supplied at %1 for dummy argument `%A' in statement function reference at %0")
FFEBAD_MSG (FFEBAD_FORMAT_UNSUPPORTED, FATAL,
"Unsupported FORMAT specifier at %0")
FFEBAD_MSG (FFEBAD_FORMAT_VARIABLE, FATAL,
"Variable-expression FORMAT specifier at %0 -- unsupported")
FFEBAD_MSG (FFEBAD_OPEN_UNSUPPORTED, FATAL,
LONG("Unsupported OPEN control item at %0 -- ACTION=, ASSOCIATEVARIABLE=, BLOCKSIZE=, BUFFERCOUNT=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, DISPOSE=, EXTENDSIZE=, INITIALSIZE=, KEY=, MAXREC=, NOSPANBLOCKS, ORGANIZATION=, PAD=, POSITION=, READONLY=, RECORDTYPE=, SHARED=, and USEROPEN= are not supported")
SHORT("Unsupported OPEN control item at %0"))
FFEBAD_MSG (FFEBAD_INQUIRE_UNSUPPORTED, FATAL,
LONG("Unsupported INQUIRE control item at %0 -- ACTION=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, KEYED=, ORGANIZATION=, PAD=, POSITION=, READ=, READWRITE=, RECORDTYPE=, and WRITE= are not supported")
SHORT("Unsupported INQUIRE control item at %0"))
FFEBAD_MSG (FFEBAD_READ_UNSUPPORTED, FATAL,
LONG("Unsupported READ control item at %0 -- ADVANCE=, EOR=, KEYEQ=, KEYGE=, KEYGT=, KEYID=, NULLS=, and SIZE= are not supported")
SHORT("Unsupported READ control item at %0"))
FFEBAD_MSG (FFEBAD_WRITE_UNSUPPORTED, FATAL,
LONG("Unsupported WRITE control item at %0 -- ADVANCE= and EOR= are not supported")
SHORT("Unsupported WRITE control item at %0"))
FFEBAD_MSG (FFEBAD_VXT_UNSUPPORTED, FATAL,
"Unsupported VXT statement at %0")
FFEBAD_MSG (FFEBAD_DATA_REINIT, FATAL,
"Attempt to specify second initial value for `%A' at %0")
FFEBAD_MSG (FFEBAD_DATA_TOOFEW, FATAL,
"Too few initial values in list of initializers for `%A' at %0")
FFEBAD_MSG (FFEBAD_DATA_TOOMANY, FATAL,
"Too many initial values in list of initializers starting at %0")
FFEBAD_MSG (FFEBAD_DATA_RANGE, FATAL,
"Array or substring specification for `%A' out of range in statement at %0")
FFEBAD_MSG (FFEBAD_DATA_SUBSCRIPT, FATAL,
"Array subscript #%B out of range for initialization of `%A' in statement at %0")
FFEBAD_MSG (FFEBAD_DATA_ZERO, FATAL,
"Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0")
FFEBAD_MSG (FFEBAD_DATA_EMPTY, FATAL,
"Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0")
FFEBAD_MSG (FFEBAD_DATA_EVAL, FATAL,
"Not an integer constant expression in implied do-loop in statement at %0")
FFEBAD_MSG (FFEBAD_DATA_MULTIPLE, FATAL,
"Attempt to specify second initial value for element of `%A' at %0")
FFEBAD_MSG (FFEBAD_EQUIV_COMMON, FATAL,
"Attempt to EQUIVALENCE common areas `%A' and `%B' at %0")
FFEBAD_MSG (FFEBAD_EQUIV_ALIGN, FATAL,
"Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions")
FFEBAD_MSG (FFEBAD_EQUIV_MISMATCH, FATAL,
"Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'")
FFEBAD_MSG (FFEBAD_EQUIV_RANGE, FATAL,
"Array or substring specification for `%A' out of range in EQUIVALENCE statement")
FFEBAD_MSG (FFEBAD_EQUIV_SUBSTR, FATAL,
"Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement")
FFEBAD_MSG (FFEBAD_EQUIV_ARRAY, FATAL,
"Array reference to scalar variable `%A' in EQUIVALENCE statement")
FFEBAD_MSG (FFEBAD_EQUIV_SUBSCRIPT, WARN,
"Array subscript #%B out of range for EQUIVALENCE of `%A'")
FFEBAD_MSG (FFEBAD_COMMON_PAD, WARN,
LONG("Padding of %A %D required before `%B' in common block `%C' at %0 -- consider reordering members, largest-type-size first")
SHORT("Padding of %A %D required before `%B' in common block `%C' at %0"))
FFEBAD_MSG (FFEBAD_COMMON_NEG, FATAL,
"Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'")
FFEBAD_MSG (FFEBAD_EQUIV_FEW, FATAL,
"Too few elements in reference to array `%A' in EQUIVALENCE statement")
FFEBAD_MSG (FFEBAD_EQUIV_MANY, FATAL,
"Too many elements in reference to array `%A' in EQUIVALENCE statement")
FFEBAD_MSG (FFEBAD_MIXED_TYPES, WARN,
"Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'")
FFEBAD_MSG (FFEBAD_IMPLICIT_ADJLEN, FATAL,
LONG("Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression")
SHORT("Invalid length specification at %0"))
FFEBAD_MSG (FFEBAD_ENTRY_CONFLICTS, FATAL,
LONG("Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s) -- must all be identical-length CHARACTER or none be CHARACTER type")
SHORT("Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s)"))
FFEBAD_MSG (FFEBAD_RETURN_VALUE_UNSET, WARN,
"Return value `%A' for FUNCTION at %0 not referenced in subprogram")
FFEBAD_MSG (FFEBAD_COMMON_ALREADY_INIT, FATAL,
LONG("Common block `%A' initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block")
SHORT("Common block `%A' initialized at %0 already initialized at %1"))
FFEBAD_MSG (FFEBAD_COMMON_INIT_PAD, WARN,
LONG("Initial padding for common block `%A' is %B %C at %0 -- consider reordering members, largest-type-size first")
SHORT("Initial padding for common block `%A' is %B %C at %0"))
FFEBAD_MSG (FFEBAD_COMMON_DIFF_PAD, FATAL,
LONG("Initial padding for common block `%A' is %B %D at %0 but %C %E at %1 -- consider reordering members, largest-type-size first")
SHORT("Initial padding for common block `%A' is %B %D at %0 but %C %E at %1"))
FFEBAD_MSG (FFEBAD_COMMON_DIFF_SAVE, WARN,
"Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1")
FFEBAD_MSG (FFEBAD_COMMON_DIFF_SIZE, WARN,
"Common block `%A' is %B %D in length at %0 but %C %E at %1")
FFEBAD_MSG (FFEBAD_COMMON_ENLARGED, FATAL,
LONG("Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1 -- use consistent definitions or reorder program units in source file")
SHORT("Common block `%A' is initialized to %B %D long at %0 but enlarged to %C %E at %1"))
FFEBAD_MSG (FFEBAD_COMMON_BLANK_INIT, WARN,
"Blank common initialized at %0")
FFEBAD_MSG (FFEBAD_NEED_INTRINSIC, WARN,
"Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC")
FFEBAD_MSG (FFEBAD_NEED_EXTERNAL, WARN,
"External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL")
FFEBAD_MSG (FFEBAD_SYMBOL_UPPER_CASE, WARN,
"Character `%A' (for example) is upper-case in symbol name at %0")
FFEBAD_MSG (FFEBAD_SYMBOL_LOWER_CASE, WARN,
"Character `%A' (for example) is lower-case in symbol name at %0")
FFEBAD_MSG (FFEBAD_SYMBOL_NOLOWER_INITCAP, WARN,
"Character `%A' not followed at some point by lower-case character in symbol name at %0")
FFEBAD_MSG (FFEBAD_SYMBOL_LOWER_INITCAP, WARN,
"Initial character `%A' is lower-case in symbol name at %0")
FFEBAD_MSG (FFEBAD_DO_REAL, WARN,
LONG("DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely")
SHORT("DO-variable `%A' is type REAL or DOUBLE PRECISION at %0"))
FFEBAD_MSG (FFEBAD_NAMELIST_CASE, WARN,
"NAMELIST not adequately supported by run-time library for source files with case preserved")
FFEBAD_MSG (FFEBAD_NESTED_PERCENT, WARN,
"Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0")
FFEBAD_MSG (FFEBAD_ACTUALARG, WARN,
LONG("Invalid actual argument at %0 -- replace hollerith constants with %%REF('string') and typeless constants with INTEGER constant equivalents, or use -fugly-args or -fugly")
SHORT("Invalid actual argument at %0"))
FFEBAD_MSG (FFEBAD_QUAD_UNSUPPORTED, FATAL,
LONG("Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision")
SHORT("Quadruple-precision floating-point unsupported"))
FFEBAD_MSG (FFEBAD_TOO_BIG_INIT, WARN,
LONG("Initialization of large (%B-unit) aggregate area `%A' at %0 currently very slow and takes lots of memory during g77 compile -- to be improved in 0.6")
SHORT("This could take a while (initializing `%A' at %0)..."))
FFEBAD_MSG (FFEBAD_BLOCKDATA_STMT, FATAL,
"Statement at %0 invalid in BLOCK DATA program unit at %1")
FFEBAD_MSG (FFEBAD_TRUNCATING_CHARACTER, FATAL,
"Truncating characters on right side of character constant at %0")
FFEBAD_MSG (FFEBAD_TRUNCATING_HOLLERITH, FATAL,
"Truncating characters on right side of hollerith constant at %0")
FFEBAD_MSG (FFEBAD_TRUNCATING_NUMERIC, FATAL,
"Truncating non-zero data on left side of numeric constant at %0")
FFEBAD_MSG (FFEBAD_TRUNCATING_TYPELESS, FATAL,
"Truncating non-zero data on left side of typeless constant at %0")
FFEBAD_MSG (FFEBAD_TYPELESS_OVERFLOW, FATAL,
"Typeless constant at %0 too large")
FFEBAD_MSG (FFEBAD_AMPERSAND, WARN,
"First-column ampersand continuation at %0")
FFEBAD_MSG (FFEBAD_FILEWIDE_ALREADY_SEEN, FATAL,
"Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_ALREADY_SEEN_W, WARN,
"Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_DISAGREEMENT, FATAL,
"Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_DISAGREEMENT_W, WARN,
"Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_TYPE_MISMATCH, FATAL,
"Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_TYPE_MISMATCH_W, WARN,
"Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_NARGS, FATAL,
"Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_NARGS_W, WARN,
"Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_ARG, FATAL,
"Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_FILEWIDE_ARG_W, WARN,
"Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]")
FFEBAD_MSG (FFEBAD_ARRAY_LARGE, FATAL,
"Array `%A' at %0 is too large to handle")
FFEBAD_MSG (FFEBAD_SFUNC_UNUSED, WARN,
"Statement function `%A' defined at %0 is not used")
FFEBAD_MSG (FFEBAD_INTRINSIC_Y2KBAD, WARN,
"Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]")
FFEBAD_MSG (FFEBAD_NOCANDO, DISASTER,
"Internal compiler error -- cannot perform operation")

#undef INFORM
#undef TRIVIAL
#undef WARN
#undef PECULIAR
#undef FATAL
#undef WEIRD
#undef SEVERE
#undef DISASTER
