/* bad.def -- Public #include File (module.h template V1.0)
   Copyright (C) 1995 Free Software Foundation, Inc.
   Contributed by James Craig Burley (burley@gnu.ai.mit.edu).

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, 675 Mass Ave, Cambridge, MA 02139, 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_MSGS (FFEBAD_MISSING_FIRST_BINARY_OPERAND, FATAL, "Missing first operand for binary operator at %0 -- operator ignored", "Missing first operand for binary operator at %0")
FFEBAD_MSGS (FFEBAD_NULL_CHAR_CONST, FATAL, "Null (empty) character constants invalid in Fortran 77 -- substituting a single blank at %0", "Null (empty) character constants invalid in Fortran 77 (at %0)")
FFEBAD_MSGS (FFEBAD_INVALID_TOKEN_IN_EXPRESSION, FATAL, "Invalid token at %0 in expression or subexpression at %1 -- token ignored", "Invalid token at %0 in expression or subexpression at %1")
FFEBAD_MSGS (FFEBAD_MISSING_OPERAND_FOR_OPERATOR, FATAL, "Missing operand for operator at %1 at end of expression at %0", "Missing operand for operator at %1 at end of expression at %0")
FFEBAD_MSGS (FFEBAD_LABEL_ALREADY_DEFINED, FATAL, "Label %A already defined at %1 -- subsequent definitions such as %0 ignored", "Label %A already defined at %1 -- subsequent definitions such as %0 ignored")
FFEBAD_MSGS (FFEBAD_UNRECOGNIZED_CHARACTER, FATAL, "Unrecognized character at %0 -- rest of statement ignored", "Unrecognized character at %0")
FFEBAD_MSGS (FFEBAD_LABEL_WITHOUT_STMT, WARN, "Label definition %A %0 on empty statement (as of %1)", "Label definition %A %0 on empty statement (as of %1)")
FFEBAD_MSGS (FFEBAD_EXTRA_LABEL_DEF, FATAL, "Extra label definition %A %0 ignored -- perhaps previous label definition %B %1 should have CONTINUE statement?", "Extra label definition %A %0 ignored -- perhaps previous label definition %B %1 should have CONTINUE statement?")
FFEBAD_MSGS (FFEBAD_FIRST_CHAR_INVALID, FATAL, "Invalid character at %0 -- line ignored", "Invalid character at %0 -- line ignored")
FFEBAD_MSGS (FFEBAD_LINE_TOO_LONG, FATAL, "Line too long as of %0 -- entire line ignored", "Line too long as of %0 -- entire line ignored")
FFEBAD_MSGS (FFEBAD_LABEL_FIELD_NOT_NUMERIC, FATAL, "Non-numeric character at %0 in label field -- line ignored", "Non-numeric character at %0 in label field -- line ignored")
FFEBAD_MSGS (FFEBAD_LABEL_NUMBER_INVALID, FATAL, "Label number at %0 not in range 1-99999 -- label ignored", "Label number at %0 must not be zero -- label ignored")
FFEBAD_MSGS (FFEBAD_NON_ANSI_COMMENT, WARN, "ANSI: at %0, '!' and '/*' are not valid comment delimiters", "ANSI: at %0, '!' and '/*' are not valid comment delimiters")
FFEBAD_MSGS (FFEBAD_NON_ANSI_CONTINUATION_COLUMN, WARN, "ANSI: at %0, continuation indicator must appear in column 6", "ANSI: at %0, continuation indicator must appear in column 6")
FFEBAD_MSGS (FFEBAD_LABEL_ON_CONTINUATION, FATAL, "Label at %0 invalid with continuation line indicator at %1 -- label ignored", "Label at %0 invalid with continuation line indicator at %1")
FFEBAD_MSGS (FFEBAD_INVALID_CONTINUATION, FATAL, "Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE -- line ignored", "Continuation indicator at %0 invalid on first non-comment line of file")
FFEBAD_MSGS (FFEBAD_NO_CLOSING_APOSTROPHE, FATAL, "Character constant at %0 has no closing apostrophe at %1", "Character constant at %0 has no closing apostrophe at %1")
FFEBAD_MSGS (FFEBAD_NOT_ENOUGH_HOLLERITH_CHARS, FATAL, "Hollerith constant at %0 specified %A more characters than are present as of %1", "Hollerith constant at %0 specified %A more characters than are present as of %1")
FFEBAD_MSGS (FFEBAD_MISSING_CLOSE_PAREN, FATAL, "Missing close parenthese assumed just before %0 to match open parenthese at %1", "Missing close parenthese assumed just before %0 to match open parenthese at %1")
FFEBAD_MSGS (FFEBAD_INTEGER_TOO_LARGE, FATAL, "Integer at %0 too large", "Integer at %0 too large")
FFEBAD_MSGS (FFEBAD_BAD_MAGICAL, WARN, "Integer at %0 too large except as negative number (preceded by unary minus sign)", "Integer at %0 too large")
FFEBAD_MSGS (FFEBAD_BAD_MAGICAL_PRECEDENCE, WARN, "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", "Integer at %0 too large")
FFEBAD_MSGS (FFEBAD_BAD_MAGICAL_BINARY, WARN, "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", "Integer at %0 too large")
FFEBAD_MSGS (FFEBAD_BAD_MAGICAL_PRECEDENCE_BINARY, WARN, "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", "Integer at %0 too large")
FFEBAD_MSGS (FFEBAD_IGNORING_PERIOD, FATAL, "Period at %0 not followed by digits for floating-point number or by \"NOT.\", \"TRUE.\", or \"FALSE.\" -- ignoring the period, which might well result in further related messages", "Period at %0 not followed by digits for floating-point number or by \"NOT.\", \"TRUE.\", or \"FALSE.\"")
FFEBAD_MSGS (FFEBAD_INSERTING_PERIOD, FATAL, "Missing close-period assumed between \".%A\" at %0 and %1", "Missing close-period assumed between \".%A\" at %0 and %1")
FFEBAD_MSGS (FFEBAD_INVALID_EXPONENT, FATAL, "Invalid exponent at %0 for real constant at %1; nondigit \"%A\" in exponent field -- exponent ignored", "Invalid exponent at %0 for real constant at %1; nondigit \"%A\" in exponent field")
FFEBAD_MSGS (FFEBAD_MISSING_EXPONENT_VALUE, FATAL, "Missing value for real-number exponent at %0 detected at %1 -- assuming an exponent value of 0", "Missing value for real-number exponent at %0 detected at %1")
FFEBAD_MSGS (FFEBAD_MISSING_BINARY_OPERATOR, FATAL, "Expected some kind of binary operator between operand or operator at %0 and operand or unary operator at %1 -- ignoring operand/operator at %1", "Expected some kind of binary operator between operand or operator at %0 and operand or unary operator at %1")
FFEBAD_MSGS (FFEBAD_INVALID_DOTDOT, FATAL, "Period at %0 not followed by valid keyword forming a valid binary operator such as .AND. or .EQ.; \".%A.\" is not a valid binary operator -- assuming .EQ. was intended, as a wild guess", "Period at %0 not followed by valid keyword forming a valid binary operator such as .AND. or .EQ.; \".%A.\" is not a valid binary operator")
FFEBAD_MSGS (FFEBAD_QUOTE_MISSES_DIGITS, FATAL, "Double-quote at %0 not followed by a string of valid octal digits at %1 -- double-quote ignored", "Double-quote at %0 not followed by a string of valid octal digits at %1")
FFEBAD_MSGS (FFEBAD_INVALID_OCTAL_DIGIT, FATAL, "Invalid octal digit(s) found in string of digits at %0 -- treated as higher-value digits (10 for 8, 11 for 9)", "Invalid octal digit(s) found in string of digits at %0")
FFEBAD_MSGS (FFEBAD_INVALID_RADIX_SPECIFIER, FATAL, "Invalid radix specifier \"%A\" at %0 for typeless constant at %1", "Invalid radix specifier \"%A\" at %0 for typeless constant at %1")
FFEBAD_MSGS (FFEBAD_INVALID_TYPELESS_BINARY_DIGIT, FATAL, "Invalid binary digit(s) found in string of digits at %0 -- treated as if they all had the value 0", "Invalid binary digit(s) found in string of digits at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TYPELESS_OCTAL_DIGIT, FATAL, "Invalid octal digit(s) found in string of digits at %0 -- treated as if they all had the value 0", "Invalid octal digit(s) found in string of digits at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TYPELESS_HEX_DIGIT, FATAL, "Invalid hexadecimal digit(s) found in string of digits at %0 --  treated as if they all had the value 0", "Invalid hexadecimal digit(s) found in string of digits at %0")
FFEBAD_MSGS (FFEBAD_INVALID_COMPLEX_REAL_VALUE, FATAL, "Invalid expression at %0 -- must be a constant integer or real expression to form the real part of a complex constant", "Invalid expression for the real part of a complex constant at %0")
FFEBAD_MSGS (FFEBAD_INVALID_COMPLEX_IMAGINARY_VALUE, FATAL, "Invalid expression at %0 -- must be a constant integer or real expression to form the imaginary part of a complex constant", "Invalid expression following comma at %0 for the imaginary part of a complex constant at %1")
FFEBAD_MSGS (FFEBAD_INVALID_PERCENT, FATAL, "Invalid percent token \"%%%A\" at %0 in this context -- substituting \"%%LOC\"", "Invalid percent token \"%%%A\" at %0 in this context")
FFEBAD_MSGS (FFEBAD_NULL_EXPRESSION, FATAL, "Null expression between %0 and %1 invalid in this context -- substituting integer constant 0 (zero)", "Null expression between %0 and %1 invalid in this context")
FFEBAD_MSGS (FFEBAD_CONCAT_ARGS_TYPE, FATAL, "Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type", "Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type")
FFEBAD_MSGS (FFEBAD_CONCAT_ARG_TYPE, FATAL, "Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type", "Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type")
FFEBAD_MSGS (FFEBAD_CONCAT_ARG_KIND, FATAL, "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", "Concatenation operator at %0 -- the subexpression at %1 is %A")
FFEBAD_MSGS (FFEBAD_MATH_ARGS_TYPE, FATAL, "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type", "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type")
FFEBAD_MSGS (FFEBAD_MATH_ARG_TYPE, FATAL, "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type", "Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type")
FFEBAD_MSGS (FFEBAD_MATH_ARG_KIND, FATAL, "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", "Arithmetic operator at %0 -- the subexpression at %1 is %A")
FFEBAD_MSGS (FFEBAD_NO_CLOSING_QUOTE, FATAL, "Character constant at %0 has no closing quote at %1", "Character constant at %0 has no closing quote at %1")
FFEBAD_MSGS (FFEBAD_BAD_CHAR_CONTINUE, FATAL, "Continuation line at %0 must have initial \"&\" since it continues a character context", "Continuation line at %0 must have initial \"&\"")
FFEBAD_MSGS (FFEBAD_BAD_LEXTOK_CONTINUE, FATAL, "Continuation line at %0 must have initial \"&\" since it continues a split lexical token", "Continuation line at %0 must have initial \"&\"")
FFEBAD_MSGS (FFEBAD_BAD_FREE_CONTINUE, FATAL, "Continuation line at %0 invalid because it consists only of a single \"&\" as the only nonblank character", "Continuation line at %0 invalid")
FFEBAD_MSGS (FFEBAD_STMT_BEGINS_BAD, FATAL, "Statement at %0 begins with invalid token, statement ignored", "Statement at %0 begins with invalid token")
FFEBAD_MSGS (FFEBAD_SEMICOLON, FATAL, "Semicolon at %0 is an invalid token", "Semicolon at %0 is an invalid token")
FFEBAD_MSGS (FFEBAD_UNREC_STMT, FATAL, "Unrecognized statement name at %0 and invalid form for assignment or statement-function definition at %1 -- statement ignored", "Unrecognized statement name at %0 and invalid assignment or statement-function definition at %1")
FFEBAD_MSGS (FFEBAD_UNIMPL_STMT, FATAL, "Unimplemented or invalid form of statement at %0 -- statement ignored (this is a catchall diagnostic that currently applies to a wide variety of errors, including things like invalid ordering of statements)", "Unimplemented or invalid statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_END_STMT, FATAL, "Invalid form for END statement at %0 -- correct forms:\nEND  !Ends a program unit, subroutine, function, module, or block data\nEND [unit-kind [name]]  !Ends unit-kind of PROGRAM, SUBROUTINE, FUNCTION,\n                        !MODULE, or BLOCK DATA, where name is its name\nEND construct [name]  !Ends construct of DO, IF, SELECT, or WHERE, where name\n                      !is the name of the construct, as in name: IF (...) THEN,\n                      !but name may not be specified for END WHERE\nEND TYPE [name]  !where name is the name of the derived type being defined\nEND INTERFACE\nEND STRUCTURE\nEND UNION\nEND MAP\nENDFILE(...)", "Invalid END statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TYPEDECL_STMT, FATAL, "Invalid form for TYPEDECL statement at %0 -- correct form:\n[typename] [[,attribute-list] ::] varname[(array-spec)][*length][=initval]", "Invalid TYPEDECL statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_SAVE_STMT, FATAL, "Invalid form for SAVE statement at %0 -- correct form:\nSAVE [[::] item-list]  !An item is either \"name\" or \"/name/\"", "Invalid SAVE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DIMENSION_STMT, FATAL, "Invalid form for DIMENSION statement at %0 -- correct form:\nDIMENSION array-name(array-spec)[,array-name(array-spec)]...", "Invalid DIMENSION statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DATA_STMT, FATAL, "Invalid form for DATA statement at %0 -- correct form:\nDATA object-list/value-list/[[,]object-list/value-list/,...]\nwhere objects are variables (scalars, arrays, or subobjects) and values are [repeat-count*]constant, with repeat-count being an integer constant and constant being any valid constant (not expression) except for an array constructor", "Invalid DATA statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_PARAMETER_STMT, FATAL, "Invalid form for PARAMETER statement at %0 -- correct form:\nPARAMETER (name=initial-expr,name=initial-expr,...)", "Invalid PARAMETER statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_IMPLICIT_STMT, FATAL, "Invalid form for IMPLICIT statement at %0 -- correct forms:\nIMPLICIT NONE\nIMPLICIT type-spec(letter[-letter],letter[-letter],...),...", "Invalid IMPLICIT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_NAMELIST_STMT, FATAL, "Invalid form for NAMELIST statement at %0 -- correct form:\nNAMELIST /namelist-group-name/variable-name,...\n[[,]/namelist-group-name/variable-name,...]", "Invalid NAMELIST statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_EQUIVALENCE_STMT, FATAL, "Invalid form for EQUIVALENCE statement at %0 -- correct form:\nEQUIVALENCE (equiv-obj,equiv-obj,...),...", "Invalid EQUIVALENCE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_COMMON_STMT, FATAL, "Invalid form for COMMON statement at %0 -- correct form:\nCOMMON [/[common-block-name]/]variable-name[(dimensions)],...\n[[,]/[common-block-name]/variable-name[(dimensions)],...]", "Invalid COMMON statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ASSIGNMENT_STMT, FATAL, "Invalid form for assignment statement at %0 -- correct forms:\ndestination-expr = source-expr  !Normal assignment\ndestination-ptr => source-expr  !Pointer assignment", "Invalid assignment statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_IFTHEN_STMT, FATAL, "Invalid form for IF-THEN statement at %0 -- correct form:\n[if-construct-name:] IF (expr) THEN", "Invalid IF-THEN statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ELSEIF_STMT, FATAL, "Invalid form for ELSE IF statement at %0 -- correct form:\nELSE IF (expr) THEN [if-construct-name]", "Invalid ELSE IF statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ELSE_STMT, FATAL, "Invalid form for ELSE statement at %0 -- correct form:\nELSE [if-construct-name]", "Invalid ELSE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDIF_STMT, FATAL, "Invalid form for END IF statement at %0 -- correct form:\nEND IF [if-construct-name]", "Invalid END IF statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_IF_STMT, FATAL, "Invalid form for IF statement at %0 -- correct forms:\nIF (expr) statement  !Executes statement if expr is .TRUE.\nIF (expr) THEN  !Executes to matching ELSE, ELSE IF, or END IF\nIF (expr) label,label,label  !Goes to label if expr is <0, ==0, >0", "Invalid IF statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DO_STMT, FATAL, "Invalid form for DO statement at %0 -- correct forms:\n[do-construct-name:] DO [label] [,] var=start,end[,incr]\n[do-construct-name:] DO [label] [,] WHILE(logical-expr)", "Invalid DO statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDDO_STMT, FATAL, "Invalid form for END DO statement at %0 -- correct form:\nEND DO [do-construct-name]", "Invalid END DO statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_GOTO_STMT, FATAL, "Invalid form for GOTO statement at %0 -- correct forms:\nGO TO <label>  !Simple GOTO\nGO TO (<label>,<label>,...), <scalar-expression>  !Computed GOTO\nGO TO <scalar-variable> [, (<label>,<label>,...)]  !Assigned GOTO", "Invalid GOTO statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_COMPUTEDGOTO_STMT, FATAL, "Invalid form for Computed GOTO statement at %0 -- correct form:\nGO TO (<label>,<label>,...), <scalar-expression>  !Computed GOTO", "Invalid Computed GOTO statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ASSIGN_STMT, FATAL, "Invalid form for ASSIGN statement at %0 -- correct form:\nASSIGN <label> TO <integer-variable>", "Invalid ASSIGN statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ASSIGNEDGOTO_STMT, FATAL, "Invalid form for Assigned GOTO statement at %0 -- correct form:\nGO TO <scalar-variable> [, (<label>,<label>,...)]  !Assigned GOTO", "Invalid Assigned GOTO statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ARITHMETICIF_STMT, FATAL, "Invalid form for Arithmetic IF statement at %0 -- correct form:\nIF (arith-expr) neg-label,zero-label,pos-label  !arith-expr type cannot be\n                                                !complex", "Invalid Arithmetic IF statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CONTINUE_STMT, FATAL, "Invalid form for CONTINUE statement at %0 -- correct form:\nCONTINUE", "Invalid CONTINUE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_STOP_STMT, FATAL, "Invalid form for STOP statement at %0 -- correct form:\nSTOP [stop-code]  !stop-code is a char constant or decimal number", "Invalid STOP statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_PAUSE_STMT, FATAL, "Invalid form for PAUSE statement at %0 -- correct form:\nPAUSE [stop-code]  !stop-code is a char constant or decimal number", "Invalid PAUSE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_OPEN_STMT, FATAL, "Invalid form for OPEN statement at %0 -- correct form:\nOPEN([UNIT=]external-file-unit[,specifier=value]...)", "Invalid OPEN statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CLOSE_STMT, FATAL, "Invalid form for CLOSE statement at %0 -- correct form:\nCLOSE([UNIT=]external-file-unit[,STATUS=status][,ERR=label][,IOSTAT=var])", "Invalid CLOSE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_READ_STMT, FATAL, "Invalid form for READ statement at %0 -- correct forms:\nREAD([UNIT=]io-unit[,[FMT=]format][,specifier=value]...) [iolist]\nREAD([UNIT=]io-unit,[NML=]namelist[,specifier=value]...) [iolist]\nREAD format[,iolist]\nREAD namelist", "Invalid READ statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_WRITE_STMT, FATAL, "Invalid form for WRITE statement at %0 -- correct forms:\nWRITE([UNIT=]io-unit[,[FMT=]format][,specifier=value]...) [iolist]\nWRITE([UNIT=]io-unit,[NML=]namelist[,specifier=value]...) [iolist]", "Invalid WRITE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_PRINT_STMT, FATAL, "Invalid form for PRINT statement at %0 -- correct form:\nPRINT format[,iolist]", "Invalid PRINT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_BACKSPACE_STMT, FATAL, "Invalid form for BACKSPACE statement at %0 -- correct forms:\nBACKSPACE([UNIT=]external-file-unit[,ERR=label][,IOSTAT=var])\nBACKSPACE external-file-unit", "Invalid BACKSPACE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDFILE_STMT, FATAL, "Invalid form for ENDFILE statement at %0 -- correct forms:\nENDFILE([UNIT=]external-file-unit[,ERR=label][,IOSTAT=var])\nENDFILE external-file-unit", "Invalid ENDFILE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_REWIND_STMT, FATAL, "Invalid form for REWIND statement at %0 -- correct forms:\nREWIND([UNIT=]external-file-unit[,ERR=label][,IOSTAT=var])\nREWIND external-file-unit", "Invalid REWIND statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_INQUIRE_STMT, FATAL, "Invalid form for INQUIRE statement at %0 -- correct form:\nINQUIRE([UNIT=]external-file-unit[,specifier=value]...)\nINQUIRE(FILE=file-name-expr[,specifier=value]...)\nINQUIRE(IOLENGTH=scalar-int-variable) output-item-list", "Invalid INQUIRE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_FORMAT_STMT, FATAL, "Invalid form for FORMAT statement at %0 -- correct form:\nFORMAT([format-item-list])", "Invalid FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_PROGRAM_STMT, FATAL, "Invalid form for PROGRAM statement at %0 -- correct form:\nPROGRAM name", "Invalid PROGRAM statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDPROGRAM_STMT, FATAL, "Invalid form for END PROGRAM statement at %0 -- correct form:\nEND PROGRAM [program-name]", "Invalid END PROGRAM statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_BLOCKDATA_STMT, FATAL, "Invalid form for BLOCK DATA statement at %0 -- correct form:\nBLOCK DATA [name]", "Invalid BLOCK DATA statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDBLOCKDATA_STMT, FATAL, "Invalid form for END BLOCK DATA statement at %0 -- correct form:\nEND BLOCK DATA [block-data-name]", "Invalid END BLOCK DATA statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_EXTERNAL_STMT, FATAL, "Invalid form for EXTERNAL statement at %0 -- correct form:\nEXTERNAL name-list", "Invalid EXTERNAL statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_INTRINSIC_STMT, FATAL, "Invalid form for INTRINSIC statement at %0 -- correct form:\nINTRINSIC name-list", "Invalid INTRINSIC statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CALL_STMT, FATAL, "Invalid form for CALL statement at %0 -- correct form:\nCALL subr-name[([arg-list])]\nwhere each arg in arg-list has the form:\n[keyword-name=]actual-arg\nand actual-arg is an expression, a procedure name, or \"*label\" for alternate return", "Invalid CALL statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_FUNCTION_STMT, FATAL, "Invalid form for FUNCTION statement at %0 -- correct form:\n[RECURSIVE] FUNCTION name([dummy-arg-name-list]) [RESULT(result-var-name)]\nNote that parentheses are required", "Invalid FUNCTION statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TYPEFUNC_STMT, FATAL, "Invalid form for FUNCTION statement at %0 -- correct form:\n[RECURSIVE] type-spec FUNCTION name([dummy-arg-name-list]) -\n    [RESULT(result-var-name)]\nNote that parentheses are required", "Invalid FUNCTION statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDFUNCTION_STMT, FATAL, "Invalid form for END FUNCTION statement at %0 -- correct form:\nEND FUNCTION [function-name]", "Invalid END FUNCTION statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_SUBROUTINE_STMT, FATAL, "Invalid form for SUBROUTINE statement at %0 -- correct form:\nSUBROUTINE name[([dummy-arg-list])]  !\"*\" for alternate return", "Invalid SUBROUTINE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDSUBROUTINE_STMT, FATAL, "Invalid form for END SUBROUTINE statement at %0 -- correct form:\nEND SUBROUTINE [subroutine-name]", "Invalid END SUBROUTINE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENTRY_STMT, FATAL, "Invalid form for ENTRY statement at %0 -- correct form:\nENTRY name[([dummy-arg-list])]  !\"*\" for alternate return (invalid in\n                                !FUNCTION subprograms)", "Invalid ENTRY statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_RETURN_STMT, FATAL, "Invalid form for RETURN statement at %0 -- correct form:\nRETURN [alternate-return-expr]", "Invalid RETURN statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_STMTFUNCTION_STMT, FATAL, "Invalid form for statement-function statement at %0 -- correct form:\nfunction-name([dummy-arg-name-list]) = scalar-expression", "Invalid statement-function statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_INCLUDE_STMT, FATAL, "Invalid form for INCLUDE statement at %0 -- correct form:\nINCLUDE filename-constant  !Must be entirely alone on a line; example:\nINCLUDE 'COMMON_INFO'      !filename-constant must be a character constant", "Invalid INCLUDE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_PRIVATE_STMT, FATAL, "Invalid form for PRIVATE statement at %0 -- correct form:\nPRIVATE", "Invalid PRIVATE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_SEQUENCE_STMT, FATAL, "Invalid form for SEQUENCE statement at %0 -- correct form:\nSEQUENCE", "Invalid SEQUENCE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DERIVEDTYPE_STMT, FATAL, "Invalid form for a derived-type-def statement at %0 -- correct form:\nTYPE [,access-spec[::]] type-name  !where access-spec is PUBLIC or PRIVATE", "Invalid a derived-type-def statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDTYPE_STMT, FATAL, "Invalid form for END TYPE statement at %0 -- correct form:\nEND TYPE [derived-type-name]", "Invalid END TYPE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_INTENT_STMT, FATAL, "Invalid form for INTENT statement at %0 -- correct form:\nINTENT(intent-spec) [::] name-list\nwhere intent-spec is IN, OUT, or INOUT", "Invalid INTENT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_OPTIONAL_STMT, FATAL, "Invalid form for OPTIONAL statement at %0 -- correct form:\nOPTIONAL [::] name-list", "Invalid OPTIONAL statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ACCESS_STMT, FATAL, "Invalid form for access specification statement at %0 -- correct form:\naccess-spec [[::] use-name,...]  !where access-spec is PUBLIC or PRIVATE", "Invalid access specification statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ALLOCATABLE_STMT, FATAL, "Invalid form for ALLOCATABLE statement at %0 -- correct form:\nALLOCATABLE [::] array-name[(array-spec)][,array-name[(array-spec)]]...", "Invalid ALLOCATABLE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_POINTER_STMT, FATAL, "Invalid form for POINTER statement at %0 -- correct form:\nPOINTER [::] object-name[(array-spec)][,object-name[(array-spec)]]...", "Invalid POINTER statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TARGET_STMT, FATAL, "Invalid form for TARGET statement at %0 -- correct form:\nTARGET [::] object-name[(array-spec)][,object-name[(array-spec)]]...", "Invalid TARGET statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ALLOCATE_STMT, FATAL, "Invalid form for ALLOCATE statement at %0 -- correct form:\nALLOCATE(allocation-object[(explicit-shape-spec-list)][,STAT=status-var]", "Invalid ALLOCATE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_NULLIFY_STMT, FATAL, "Invalid form for NULLIFY statement at %0 -- correct form:\nNULLIFY(pointer-name[,pointer-name]...)", "Invalid NULLIFY statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DEALLOCATE_STMT, FATAL, "Invalid form for DEALLOCATE statement at %0 -- correct form:\nDEALLOCATE(allocation-object[(explicit-shape-spec-list)][,STAT=status-var]", "Invalid DEALLOCATE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_POINTERASSIGNMENT_STMT, FATAL, "Invalid form for POINTERASSIGNMENT statement at %0 -- correct form:\ndestination-ptr => source-expr", "Invalid POINTERASSIGNMENT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_WHERE_STMT, FATAL, "Invalid form for WHERE statement at %0 -- correct form:\nWHERE(logical-array-expr) array-assignment-stmt", "Invalid WHERE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_WHERECONSTRUCT_STMT, FATAL, "Invalid form for WHERE construct statement at %0 -- correct form:\nWHERE(logical-array-expr)", "Invalid WHERE construct statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ELSEWHERE_STMT, FATAL, "Invalid form for ELSE WHERE statement at %0 -- correct form:\nELSE WHERE", "Invalid ELSE WHERE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDWHERE_STMT, FATAL, "Invalid form for END WHERE statement at %0 -- correct form:\nEND WHERE", "Invalid END WHERE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_SELECTCASE_STMT, FATAL, "Invalid form for SELECT CASE statement at %0 -- correct form:\n[case-construct-name:] SELECT CASE (expr)", "Invalid SELECT CASE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CASE_STMT, FATAL, "Invalid form for CASE statement at %0 -- correct forms:\nCASE DEFAULT [case-construct-name]  !or\nCASE (match-list) [case-construct-name]\nwhere match may be expr, expr:expr, :expr, or expr:", "Invalid CASE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDSELECT_STMT, FATAL, "Invalid form for END SELECT statement at %0 -- correct form:\nEND SELECT [case-construct-name]", "Invalid END SELECT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CYCLE_STMT, FATAL, "Invalid form for CYCLE statement at %0 -- correct form:\nCYCLE [do-construct-name]", "Invalid CYCLE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_EXIT_STMT, FATAL, "Invalid form for EXIT statement at %0 -- correct form:\nEXIT [do-construct-name]", "Invalid EXIT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_MODULE_STMT, FATAL, "Invalid form for MODULE statement at %0 -- correct form:\nMODULE module-name", "Invalid MODULE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDMODULE_STMT, FATAL, "Invalid form for END MODULE statement at %0 -- correct form:\nEND MODULE [module-name]", "Invalid END MODULE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_USE_STMT, FATAL, "Invalid form for USE statement at %0 -- correct forms:\nUSE module-name[,rename-list]  !where rename is local-name=>use-name\nUSE module-name,ONLY:[only-list]  !where only is [local-name=>]use-name", "Invalid USE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_INTERFACE_STMT, FATAL, "Invalid form for INTERFACE statement at %0 -- correct forms:\nINTERFACE generic-name\nINTERFACE OPERATOR(operator)  !such as **, *, /, .LE. (or <=), or .NAME.\nINTERFACE ASSIGNMENT(=)", "Invalid INTERFACE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDINTERFACE_STMT, FATAL, "Invalid form for END INTERFACE statement at %0 -- correct form:\nEND INTERFACE", "Invalid END INTERFACE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_MODULEPROCEDURE_STMT, FATAL, "Invalid form for MODULE PROCEDURE statement at %0 -- correct form:\nMODULE PROCEDURE name[,name]...", "Invalid MODULE PROCEDURE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CONTAINS_STMT, FATAL, "Invalid form for CONTAINS statement at %0 -- correct form:\nCONTAINS", "Invalid CONTAINS statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_HOLL_IN_STMT, FATAL, "Invalid use of hollerith constant in statement at %0 -- enclose the\nconstant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))", "Invalid use of hollerith constant in statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TYPE_STMT, FATAL, "Invalid form for a TYPE statement at %0 -- correct forms:\nTYPE(derived-type-name)...  !use like an intrinsic type name such as REAL\nTYPE [,access-spec[::]] type-name  !where access-spec is PUBLIC or PRIVATE", "Invalid a TYPE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_CONSTRUCT_STMT, FATAL, "Invalid statement at %1 following \"construct-name:\" at %0 -- construct names are valid only for DO, IF-THEN, and SELECT CASE statements", "Invalid statement at %1 following \"construct-name:\" at %0")
FFEBAD_MSGS (FFEBAD_INVALID_STRUCTURE_STMT, FATAL, "Invalid form for STRUCTURE statement at %0 -- correct form:\nSTRUCTURE [/structure-name/][field-name-list]", "Invalid STRUCTURE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDSTRUCTURE_STMT, FATAL, "Invalid form for END STRUCTURE statement at %0 -- correct form:\nEND STRUCTURE", "Invalid END STRUCTURE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_UNION_STMT, FATAL, "Invalid form for UNION statement at %0 -- correct form:\nUNION", "Invalid UNION statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDUNION_STMT, FATAL, "Invalid form for END UNION statement at %0 -- correct form:\nEND UNION", "Invalid END UNION statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_MAP_STMT, FATAL, "Invalid form for MAP statement at %0 -- correct form:\nMAP", "Invalid MAP statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENDMAP_STMT, FATAL, "Invalid form for END MAP statement at %0 -- correct form:\nEND MAP", "Invalid END MAP statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_VOLATILE_STMT, FATAL, "Invalid form for VOLATILE statement at %0 -- correct form:\nVOLATILE [::] item-list  !An item is either \"name\" or \"/name/\"", "Invalid VOLATILE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_RECORD_STMT, FATAL, "Invalid form for RECORD statement at %0 -- correct form:\nRECORD /structure-name/record-name-list[,/structure-name/record-name-list]...", "Invalid RECORD statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_REWRITE_STMT, FATAL, "Invalid form for REWRITE statement at %0 -- correct form:\nREWRITE([UNIT=]io-unit[,[FMT=]format][,IOSTAT=var][,ERR=label]) [iolist]", "Invalid REWRITE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ACCEPT_STMT, FATAL, "Invalid form for ACCEPT statement at %0 -- correct form:\nACCEPT format[,iolist]", "Invalid ACCEPT statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_VXTTYPE_STMT, FATAL, "Invalid form for V-extension TYPE statement at %0 -- correct form:\nTYPE format[,iolist]\nHowever, if format is a variable (character or integer) and iolist is omitted, enclose format in parentheses; on the other hand, if format is a variable and iolist is present, format must not be enclosed in a single pair of parentheses (so no parens or two or more pairs are ok); this is to prevent the statement from being treated as the Fortran-90 type-declaration-stmt and derived-type-def statements", "Invalid V-extension TYPE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DELETE_STMT, FATAL, "Invalid form for DELETE statement at %0 -- correct form:\nDELETE([UNIT=]external-file-unit[,REC=recno][,ERR=label][,IOSTAT=var])", "Invalid DELETE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_UNLOCK_STMT, FATAL, "Invalid form for UNLOCK statement at %0 -- correct form:\nUNLOCK([UNIT=]external-file-unit[,ERR=label][,IOSTAT=var])\nUNLOCK external-file-unit", "Invalid UNLOCK statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_ENCODE_STMT, FATAL, "Invalid form for ENCODE statement at %0 -- correct form:\nENCODE(num-chars,format,num-with-chars[,IOSTAT=var][,ERR=label]) [iolist]", "Invalid ENCODE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DECODE_STMT, FATAL, "Invalid form for DECODE statement at %0 -- correct form:\nDECODE(num-chars,format,num-with-chars[,IOSTAT=var][,ERR=label]) [iolist]", "Invalid DECODE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_DEFINEFILE_STMT, FATAL, "Invalid form for DEFINE FILE statement at %0 -- correct form:\nDEFINE FILE unit(numrecs,reclen,U,associatevar)", "Invalid DEFINE FILE statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_FIND_STMT, FATAL, "Invalid form for FIND statement at %0 -- correct form:\nFIND([UNIT=]external-file-unit,REC=recno[,ERR=label][,IOSTAT=var])", "Invalid FIND statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_VXTPARAMETER_STMT, FATAL, "Invalid form for V-extension PARAMETER statement at %0 -- correct form:\nPARAMETER name=expr[,name=expr]...", "Invalid V-extension PARAMETER statement at %0")
FFEBAD_MSGS (FFEBAD_INVALID_VIRTUAL_STMT, FATAL, "Invalid form for VIRTUAL statement at %0 -- correct form:\nVIRTUAL array-name(array-spec)[,array-name(array-spec)]...", "Invalid VIRTUAL statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_EXTRA_COMMA, FATAL, "Extraneous comma in FORMAT statement at %0 -- ignored", "Extraneous comma in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_MISSING_COMMA, WARN, "Missing comma in FORMAT statement at %0 -- assumed", "Missing comma in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_SPURIOUS_SIGN, FATAL, "Spurious sign in FORMAT statement at %0 -- ignored", "Spurious sign in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_SPURIOUS_NUMBER, FATAL, "Spurious number in FORMAT statement at %0 -- ignored", "Spurious number in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_TEXT_IN_NUMBER, FATAL, "Spurious text trailing number in FORMAT statement at %0 -- ignored", "Spurious text trailing number in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_P_NOCOMMA, FATAL, "nP control edit descriptor not followed by comma but followed by edit descriptor other than D, E, EN, F, or G", "nP control edit descriptor not followed by comma")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_SPEC, FATAL, "Unrecognized FORMAT specifier at %0 -- ignored", "Unrecognized FORMAT specifier at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_I_SPEC, FATAL, "Invalid I specifier in FORMAT statement at %0 -- correct form:\n[r]Iw.[m]", "Invalid I spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_B_SPEC, FATAL, "Invalid B specifier in FORMAT statement at %0 -- correct form:\n[r]Bw.[m]", "Invalid B spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_O_SPEC, FATAL, "Invalid O specifier in FORMAT statement at %0 -- correct form:\n[r]Ow.[m]", "Invalid O spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_Z_SPEC, FATAL, "Invalid Z specifier in FORMAT statement at %0 -- correct form:\n[r]Zw.[m]", "Invalid Z spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_F_SPEC, FATAL, "Invalid F specifier in FORMAT statement at %0 -- correct form:\n[r]Fw.d", "Invalid F spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_E_SPEC, FATAL, "Invalid E specifier in FORMAT statement at %0 -- correct form:\n[r]Ew.d[Ee]", "Invalid E spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_EN_SPEC, FATAL, "Invalid EN specifier in FORMAT statement at %0 -- correct form:\n[r]ENw.d[Ee]", "Invalid EN spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_G_SPEC, FATAL, "Invalid G specifier in FORMAT statement at %0 -- correct form:\n[r]Gw.d[Ee]", "Invalid G spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_L_SPEC, FATAL, "Invalid L specifier in FORMAT statement at %0 -- correct form:\n[r]Lw", "Invalid L spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_A_SPEC, FATAL, "Invalid A specifier in FORMAT statement at %0 -- correct form:\n[r]A[w]", "Invalid A spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_D_SPEC, FATAL, "Invalid D specifier in FORMAT statement at %0 -- correct form:\n[r]Dw.d", "Invalid D spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_Q_SPEC, FATAL, "Invalid Q specifier in FORMAT statement at %0 -- correct form:\nQ", "Invalid Q spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_DOLLAR_SPEC, FATAL, "Invalid $ specifier in FORMAT statement at %0 -- correct form:\n$", "Invalid $ spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_P_SPEC, FATAL, "Invalid P specifier in FORMAT statement at %0 -- correct form:\nkP", "Invalid P spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_T_SPEC, FATAL, "Invalid T specifier in FORMAT statement at %0 -- correct form:\nTn", "Invalid T spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_TL_SPEC, FATAL, "Invalid TL specifier in FORMAT statement at %0 -- correct form:\nTLn", "Invalid TL spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_TR_SPEC, FATAL, "Invalid TR specifier in FORMAT statement at %0 -- correct form:\nTRn", "Invalid TR spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_X_SPEC, FATAL, "Invalid X specifier in FORMAT statement at %0 -- correct form:\nnX", "Invalid X spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_S_SPEC, FATAL, "Invalid S specifier in FORMAT statement at %0 -- correct form:\nS", "Invalid S spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_SP_SPEC, FATAL, "Invalid SP specifier in FORMAT statement at %0 -- correct form:\nSP", "Invalid SP spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_SS_SPEC, FATAL, "Invalid SS specifier in FORMAT statement at %0 -- correct form:\nSS", "Invalid SS spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_BN_SPEC, FATAL, "Invalid BN specifier in FORMAT statement at %0 -- correct form:\nBN", "Invalid BN spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_BZ_SPEC, FATAL, "Invalid BZ specifier in FORMAT statement at %0 -- correct form:\nBZ", "Invalid BZ spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_COLON_SPEC, FATAL, "Invalid : specifier in FORMAT statement at %0 -- correct form:\n:", "Invalid : spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_BAD_H_SPEC, FATAL, "Invalid H specifier in FORMAT statement at %0 -- correct form:\nnHcharacters  !where n is an unsigned decimal constant, and characters\n              !contains exactly n characters (including spaces)", "Invalid H spec in FORMAT at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_MISSING_PAREN, FATAL, "Missing close-parenthese(s) in FORMAT statement at %0", "Missing close-parenthese(s) in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_MISSING_DOT, FATAL, "Missing number following period in FORMAT statement at %0", "Missing number following period in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_MISSING_EXP, FATAL, "Missing number following \"E\" in FORMAT statement at %0", "Missing number following \"E\" in FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_EXPR_TOKEN, FATAL, "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", "Invalid token with FORMAT run-time expression at %0")
FFEBAD_MSGS (FFEBAD_TRAILING_COMMA, WARN, "Spurious trailing comma preceding terminator at %0 -- ignored", "Spurious trailing comma preceding terminator at %0")
FFEBAD_MSGS (FFEBAD_INTERFACE_ASSIGNMENT, WARN, "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)", "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)")
FFEBAD_MSGS (FFEBAD_INTERFACE_OPERATOR, WARN, "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)", "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)")
FFEBAD_MSGS (FFEBAD_INTERFACE_NONLETTER, FATAL, "Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)", "Defined operator at %0 contains a nonletter")
FFEBAD_MSGS (FFEBAD_INVALID_TYPEDECL_ATTR, FATAL, "Invalid type-declaration attribute at %0 -- must be one of:\nDIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE", "Invalid type-declaration attribute at %0")
FFEBAD_MSGS (FFEBAD_INVALID_TYPEDECL_INIT, FATAL, "Cannot specify =initialization-expr at %0 unless \"::\" appears before list of objects", "Cannot specify =initialization-expr at %0 unless \"::\" appears before list of objects")
FFEBAD_MSGS (FFEBAD_LABEL_USE_DEF, FATAL, "Reference to label at %1 inconsistent with its definition at %0", "Reference to label at %1 inconsistent with its definition at %0")
FFEBAD_MSGS (FFEBAD_LABEL_USE_USE, FATAL, "Reference to label at %1 inconsistent with earlier reference at %0", "Reference to label at %1 inconsistent with earlier reference at %0")
FFEBAD_MSGS (FFEBAD_LABEL_DEF_DO, FATAL, "DO-statement reference to label at %1 follows its definition at %0", "DO-statement reference to label at %1 follows its definition at %0")
FFEBAD_MSGS (FFEBAD_LABEL_BLOCK, WARN, "Reference to label at %1 is outside block containing definition at %0", "Reference to label at %1 is outside block containing definition at %0")
FFEBAD_MSGS (FFEBAD_LABEL_DO_BLOCK_DO, FATAL, "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1", "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1")
FFEBAD_MSGS (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", "DO-statement reference to label at %0 and label definition at %2 separated by unterminated block starting at %1")
FFEBAD_MSGS (FFEBAD_INVALID_LABEL_DEF, FATAL, "Label definition at %0 invalid on this kind of statement", "Label definition at %0 invalid on this kind of statement")
FFEBAD_MSGS (FFEBAD_ORDER_1, FATAL, "Statement at %0 invalid in this context", "Statement at %0 invalid in this context")
FFEBAD_MSGS (FFEBAD_ORDER_2, FATAL, "Statement at %0 invalid in context established by statement at %1", "Statement at %0 invalid in context established by statement at %1")
FFEBAD_MSGS (FFEBAD_CONSTRUCT_NAMED, FATAL, "Statement at %0 must specify construct name specified at %1", "Statement at %0 must specify construct name specified at %1")
FFEBAD_MSGS (FFEBAD_CONSTRUCT_NOT_NAMED, FATAL, "Construct name at %0 superfluous, no construct name specified at %1", "Construct name at %0 superfluous, no construct name specified at %1")
FFEBAD_MSGS (FFEBAD_CONSTRUCT_WRONG_NAME, FATAL, "Construct name at %0 not the same as construct name at %1", "Construct name at %0 not the same as construct name at %1")
FFEBAD_MSGS (FFEBAD_CONSTRUCT_NO_DO_NAME, FATAL, "Construct name at %0 does not match construct name for any containing DO constructs", "Construct name at %0 does not match construct name for any containing DO constructs")
FFEBAD_MSGS (FFEBAD_DO_HAD_LABEL, FATAL, "Label definition missing at %0 for DO construct specifying label at %1", "Label definition missing at %0 for DO construct specifying label at %1")
FFEBAD_MSGS (FFEBAD_AFTER_ELSE, FATAL, "Statement at %0 follows ELSE block for IF construct at %1", "Statement at %0 follows ELSE block for IF construct at %1")
FFEBAD_MSGS (FFEBAD_FORMAT_NO_LABEL_DEF, FATAL, "No label definition for FORMAT statement at %0", "No label definition for FORMAT statement at %0")
FFEBAD_MSGS (FFEBAD_SECOND_ELSE_WHERE, FATAL, "Second occurrence of ELSE WHERE at %0 within WHERE at %1", "Second occurrence of ELSE WHERE at %0 within WHERE at %1")
FFEBAD_MSGS (FFEBAD_END_WO_FUNCTION, WARN, "END statement at %0 missing \"FUNCTION\" keyword required for internal or module function(s) bounded by %1", "END statement at %0 missing \"FUNCTION\" keyword required for internal or module function(s) bounded by %1")
FFEBAD_MSGS (FFEBAD_END_WO_SUBROUTINE, WARN, "END statement at %0 missing \"SUBROUTINE\" keyword required for internal or module subroutine(s) bounded by %1", "END statement at %0 missing \"SUBROUTINE\" keyword required for internal or module subroutine(s) bounded by %1")
FFEBAD_MSGS (FFEBAD_INVALID_MODULE_PROCEDURE, FATAL, "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment", "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment")
FFEBAD_MSGS (FFEBAD_BLOCKDATA_NOT_NAMED, FATAL, "BLOCK DATA name at %0 superfluous, no name specified at %1", "BLOCK DATA name at %0 superfluous, no name specified at %1")
FFEBAD_MSGS (FFEBAD_PROGRAM_NOT_NAMED, FATAL, "Program name at %0 superfluous, no PROGRAM statement specified at %1", "Program name at %0 superfluous, no PROGRAM statement specified at %1")
FFEBAD_MSGS (FFEBAD_UNIT_WRONG_NAME, FATAL, "Program unit name at %0 not the same as name at %1", "Program unit name at %0 not the same as name at %1")
FFEBAD_MSGS (FFEBAD_TYPE_WRONG_NAME, FATAL, "Type name at %0 not the same as name at %1", "Type name at %0 not the same as name at %1")
FFEBAD_MSGS (FFEBAD_EOF_BEFORE_BLOCK_END, FATAL, "End of source file before end of block started at %0", "End of source file before end of block started at %0")
FFEBAD_MSGS (FFEBAD_UNDEF_LABEL, FATAL, "Undefined label, first referenced at %0", "Undefined label, first referenced at %0")
FFEBAD_MSGS (FFEBAD_CONFLICTING_SAVES, FATAL, "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0", "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0")
FFEBAD_MSGS (FFEBAD_CONFLICTING_ACCESSES, FATAL, "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0", "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0")
FFEBAD_MSGS (FFEBAD_RETURN_IN_MAIN, FATAL, "RETURN statement at %0 invalid within a main program unit", "RETURN statement at %0 invalid within a main program unit")
FFEBAD_MSGS (FFEBAD_ALTRETURN_IN_FUNCTION, FATAL, "Alternate return specifier at %0 invalid within a function", "Alternate return specifier at %0 invalid within a function")
FFEBAD_MSGS (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", "Access specifier or PRIVATE statement at %0 invalid for derived-type definition within other than the specification part of a module")
FFEBAD_MSGS (FFEBAD_DERIVTYP_ACCESS_FIRST, FATAL, "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements", "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements")
FFEBAD_MSGS (FFEBAD_DERIVTYP_NO_COMPONENTS, FATAL, "No components specified as of %0 for derived-type definition beginning at %1", "No components specified as of %0 for derived-type definition beginning at %1")
FFEBAD_MSGS (FFEBAD_STRUCT_NO_COMPONENTS, FATAL, "No components specified as of %0 for structure definition beginning at %1", "No components specified as of %0 for structure definition beginning at %1")
FFEBAD_MSGS (FFEBAD_STRUCT_MISSING_NAME, FATAL, "Missing structure name for outer structure definition at %0", "Missing structure name for outer structure definition at %0")
FFEBAD_MSGS (FFEBAD_STRUCT_IGNORING_FIELD, FATAL, "Field names at %0 ignored for outer structure definition -- specify them in a subsequent RECORD statement instead", "Field names at %0 ignored for outer structure definition -- specify them in a subsequent RECORD statement instead")
FFEBAD_MSGS (FFEBAD_STRUCT_MISSING_FIELD, FATAL, "Missing field name(s) for structure definition at %0 within structure definition at %1", "Missing field name(s) for structure definition at %0 within structure definition at %1")
FFEBAD_MSGS (FFEBAD_MAP_NO_COMPONENTS, FATAL, "No components specified as of %0 for map beginning at %1", "No components specified as of %0 for map beginning at %1")
FFEBAD_MSGS (FFEBAD_UNION_NO_TWO_MAPS, FATAL, "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required", "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required")
FFEBAD_MSGS (FFEBAD_MISSING_SPECIFIER, FATAL, "Missing %A specifier in statement at %0", "Missing %A specifier in statement at %0")
FFEBAD_MSGS (FFEBAD_NAMELIST_ITEMS, FATAL, "Items in I/O list starting at %0 ignored for namelist-directed I/O", "Items in I/O list starting at %0 ignored for namelist-directed I/O")
FFEBAD_MSGS (FFEBAD_CONFLICTING_SPECS, FATAL, "Conflicting I/O control specifications at %0 and %1", "Conflicting I/O control specifications at %0 and %1")
FFEBAD_MSGS (FFEBAD_NO_UNIT_SPEC, FATAL, "No UNIT= specifier in I/O control list at %0", "No UNIT= specifier in I/O control list at %0")
FFEBAD_MSGS (FFEBAD_MISSING_ADVANCE_SPEC, FATAL, "Specification at %0 requires ADVANCE=\"NO\" specification in same I/O control list", "Specification at %0 requires ADVANCE=\"NO\" specification in same I/O control list")
FFEBAD_MSGS (FFEBAD_MISSING_FORMAT_SPEC, FATAL, "Specification at %0 requires explicit FMT= specification in same I/O control list", "Specification at %0 requires explicit FMT= specification in same I/O control list")
FFEBAD_MSGS (FFEBAD_SPEC_VALUE, FATAL, "Unrecognized value for character constant at %0 -- expecting %A", "Unrecognized value for character constant at %0 -- expecting %A")
FFEBAD_MSGS (FFEBAD_CASE_SECOND_DEFAULT, FATAL, "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1", "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1")
FFEBAD_MSGS (FFEBAD_CASE_DUPLICATE, FATAL, "Duplicate or overlapping case values/ranges at %0 and %1", "Duplicate or overlapping case values/ranges at %0 and %1")
FFEBAD_MSGS (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", "Type and/or kind-type parameter disagreement between CASE value or value within range at %0 and SELECT CASE at %1")
FFEBAD_MSGS (FFEBAD_CASE_LOGICAL_RANGE, FATAL, "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement", "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement")
FFEBAD_MSGS (FFEBAD_CASE_BAD_RANGE, FATAL, "Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT", "Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT")
FFEBAD_MSGS (FFEBAD_CASE_RANGE_USELESS, INFORM, "Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression -- range ignored", "Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression -- range ignored")
FFEBAD_MSGS (FFEBAD_F90, FATAL, "Fortran 90 feature at %0 unsupported", "Fortran 90 feature at %0 unsupported")
FFEBAD_MSGS (FFEBAD_KINDTYPE, FATAL, "Invalid kind type parameter at %0 for type at %1 -- unsupported or not permitted", "Invalid kind type parameter at %0 for type at %1 -- unsupported or not permitted")
FFEBAD_MSGS (FFEBAD_BAD_IMPLICIT, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_SYMERR, FATAL, "Invalid declaration of or reference to symbol \"%A\" at %0 [vs. %1?]", "Invalid declaration of or reference to symbol \"%A\" at %0 [vs. %1?]")
FFEBAD_MSGS (FFEBAD_LABEL_WRONG_PLACE, FATAL, "Label definition %A (at %0) invalid -- must be in columns 1-5", "Label definition %A (at %0) invalid -- must be in columns 1-5")
FFEBAD_MSGS (FFEBAD_NULL_ELEMENT, FATAL, "Null element at %0 for array reference at %1 -- substituting value 1 (one)", "Null element at %0 for array reference at %1 -- substituting value 1 (one)")
FFEBAD_MSGS (FFEBAD_TOO_FEW_ELEMENTS, FATAL, "Too few elements (%A missing) as of %0 for array reference at %1 -- appending %A element(s) with the value 1 (one)", "Too few elements (%A missing) as of %0 for array reference at %1 -- appending %A element(s) with the value 1 (one)")
FFEBAD_MSGS (FFEBAD_TOO_MANY_ELEMENTS, FATAL, "Too many elements as of %0 for array reference at %1 -- ignoring %A element(s)", "Too many elements as of %0 for array reference at %1 -- ignoring %A element(s)")
FFEBAD_MSGS (FFEBAD_MISSING_COLON_IN_SUBSTR, FATAL, "Missing colon as of %0 in substring reference for %1 -- pretending as though \":\" preceded the expression", "Missing colon as of %0 in substring reference for %1 -- pretending as though \":\" preceded the expression")
FFEBAD_MSGS (FFEBAD_BAD_SUBSTR, FATAL, "Invalid use of at %0 of substring operator on %1", "Invalid use of at %0 of substring operator on %1")
FFEBAD_MSGS (FFEBAD_RANGE_SUBSTR, WARN, "Substring begin/end point at %0 out of defined range", "Substring begin/end point at %0 out of defined range")
FFEBAD_MSGS (FFEBAD_RANGE_ARRAY, WARN, "Array element value at %0 out of defined range", "Array element value at %0 out of defined range")
FFEBAD_MSGS (FFEBAD_EXPR_WRONG, FATAL, "Expression at %0 has incorrect data type or rank for its context", "Expression at %0 has incorrect data type or rank for its context")
FFEBAD_MSGS (FFEBAD_DIV_BY_ZERO, WARN, "Division by 0 (zero) at %0", "Division by 0 (zero) at %0")
FFEBAD_MSGS (FFEBAD_DO_STEP_ZERO, FATAL, "%A step count known to be 0 (zero) at %0", "%A step count known to be 0 (zero) at %0")
FFEBAD_MSGS (FFEBAD_DO_END_OVERFLOW, WARN, "%A end value plus step count known to overflow at %0", "%A end value plus step count known to overflow at %0")
FFEBAD_MSGS (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", "%A intermediate calculations known to overflow some implementations at %0")
FFEBAD_MSGS (FFEBAD_DO_NULL, WARN, "%A begin, end, and step-count values known to result in no iterations at %0", "%A known to never iterate at %0")
FFEBAD_MSGS (FFEBAD_BAD_TYPES, FATAL, "Type disagreement between expressions at %0 and %1", "Type disagreement between expressions at %0 and %1")
FFEBAD_MSGS (FFEBAD_FORMAT_EXPR_SPEC, FATAL, "Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement", "Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement")
FFEBAD_MSGS (FFEBAD_BAD_IMPDO, FATAL, "Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is \"(item-list,do-var=start,end[,incr])\"", "Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is \"(item-list,do-var=start,end[,incr])\"")
FFEBAD_MSGS (FFEBAD_BAD_IMPDCL, FATAL, "No specification for implied-DO iterator \"%A\" at %0", "No specification for implied-DO iterator \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_ZERO_SIZE, FATAL, "Zero-size specification invalid at %0 -- substituting length of 1", "Zero-size specification invalid at %0 -- substituting length of 1")
FFEBAD_MSGS (FFEBAD_ZERO_ARRAY, FATAL, "Zero-size array at %0", "Zero-size array at %0")
FFEBAD_MSGS (FFEBAD_BAD_COMPLEX, FATAL, "Target machine does not support complex entity of kind type specified at %0", "Target machine does not support complex entity of kind type specified at %0")
FFEBAD_MSGS (FFEBAD_BAD_DBLCMPLX, FATAL, "Target machine does not support DOUBLE COMPLEX, specified at %0", "DOUBLE COMPLEX at %0 not supported")
FFEBAD_MSGS (FFEBAD_BAD_POWER, FATAL, "Attempt to raise constant zero to a power at %0", "Attempt to raise constant zero to a power at %0")
FFEBAD_MSGS (FFEBAD_BOOL_ARGS_TYPE, FATAL, "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type", "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but neither subexpression at %1 or %2 is of logical type")
FFEBAD_MSGS (FFEBAD_BOOL_ARG_TYPE, FATAL, "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type", "Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type")
FFEBAD_MSGS (FFEBAD_BOOL_ARG_KIND, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_EQOP_ARGS_TYPE, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_EQOP_ARG_TYPE, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_EQOP_ARG_KIND, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_RELOP_ARGS_TYPE, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_RELOP_ARG_TYPE, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_RELOP_ARG_KIND, FATAL, "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", "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")
FFEBAD_MSGS (FFEBAD_INTRINSIC_REF, FATAL, "Reference to intrinsic function or subroutine \"%A\" at %0 invalid -- number or nature of arguments incorrect", "Reference to intrinsic procedure \"%A\"at %0 invalid -- number or nature of arguments incorrect")
FFEBAD_MSGS (FFEBAD_INTRINSIC_TOOFEW, FATAL, "Too few arguments passed to intrinsic function or subroutine \"%A\" at %0", "Too few args for intrinsic \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_INTRINSIC_TOOMANY, FATAL, "Too many arguments passed to intrinsic function or subroutine \"%A\" at %0", "Too many args for intrinsic \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_INTRINSIC_DISABLED, FATAL, "Reference to disabled intrinsic function or subroutine \"%A\" at %0", "Disabled intrinsic \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_INTRINSIC_IS_SUBR, FATAL, "Reference to intrinsic subroutine \"%A\" as if it were a function at %0", "Intrinsic \"%A\" at %0 is a subroutine")
FFEBAD_MSGS (FFEBAD_INTRINSIC_IS_FUNC, FATAL, "Reference to intrinsic function \"%A\" as if it were a subroutine at %0", "Intrinsic \"%A\" at %0 is a function")
FFEBAD_MSGS (FFEBAD_INTRINSIC_UNIMPL, FATAL, "Reference to unimplemented intrinsic procedure \"%A\" at %0", "Unimplemented intrinsic \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_INTRINSIC_AMBIG, FATAL, "Reference to generic intrinsic procedure \"%A\" at %0 could be for specific intrinsic procedure \"%B\" or \"%C\"", "Generic intrinsic \"%A\" at %0 could mean specific intrinsic \"%B\" or \"%C\"")
FFEBAD_MSGS (FFEBAD_OPEN_INCLUDE, SEVERE, "Unable to open INCLUDE file \"%A\" at %0", "Unable to open INCLUDE file \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DOITER, FATAL, "Attempt to modify variable \"%A\" at %0 while it serves as DO-loop iterator at %1", "Attempt to modify variable \"%A\" at %0 while it serves as DO-loop iterator at %1")
FFEBAD_MSGS (FFEBAD_DOITER_IMPDO, FATAL, "Attempt to modify variable \"%A\" via item #%B in list at %0 while it serves as implied-DO iterator at %1", "Attempt to modify variable \"%A\" via item #%B at %0 while implied-DO-loop iterator at %1")
FFEBAD_MSGS (FFEBAD_TOO_MANY_DIMS, FATAL, "Array has too many dimensions, as of dimension specifier at %0", "Array has too many dimensions, as of dimension specifier at %0")
FFEBAD_MSGS (FFEBAD_NULL_ARGUMENT, FATAL, "Null argument at %0 for statement function reference at %1", "Null argument at %0 for sfunc reference at %1")
FFEBAD_MSGS (FFEBAD_TOO_FEW_ARGUMENTS, FATAL, "Too few arguments (%A missing starting with dummy argument \"%B\") as of %0 for statement function reference at %1", "Too few arguments (%A missing at dummy \"%B\") as of %0 for sfunc reference at %1")
FFEBAD_MSGS (FFEBAD_TOO_MANY_ARGUMENTS, FATAL, "Too many arguments as of %0 for statement function reference at %1 -- ignoring %A argument(s)", "Too many arguments as of %0 for sfunc reference at %1 -- ignoring %A argument(s)")
FFEBAD_MSGS (FFEBAD_ARRAY_AS_SFARG, FATAL, "Array supplied at %1 for dummy argument \"%A\" in statement function reference at %0", "Array at %1 for arg \"%A\" of sfunc reference at %0")
FFEBAD_MSGS (FFEBAD_FORMAT_UNSUPPORTED, FATAL, "Unsupported FORMAT specifier at %0", "Unsupported FORMAT specifier at %0")
FFEBAD_MSGS (FFEBAD_OPEN_UNSUPPORTED, WARN, "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", "Unsupported OPEN control item at %0")
FFEBAD_MSGS (FFEBAD_INQUIRE_UNSUPPORTED, WARN, "Unsupported INQUIRE control item at %0 -- ACTION=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, KEYED=, ORGANIZATION=, PAD=, POSITION=, READ=, READWRITE=, RECORDTYPE=, and WRITE= are not supported", "Unsupported INQUIRE control item at %0")
FFEBAD_MSGS (FFEBAD_READ_UNSUPPORTED, WARN, "Unsupported READ control item at %0 -- ADVANCE=, EOR=, KEYEQ=, KEYGE=, KEYGT=, KEYID=, NULLS=, and SIZE= are not supported", "Unsupported READ control item at %0")
FFEBAD_MSGS (FFEBAD_WRITE_UNSUPPORTED, WARN, "Unsupported WRITE control item at %0 -- ADVANCE= and EOR= are not supported", "Unsupported WRITE control item at %0")
FFEBAD_MSGS (FFEBAD_VXT_UNSUPPORTED, FATAL, "Unsupported VXT statement at %0", "Unsupported VXT statement at %0")
FFEBAD_MSGS (FFEBAD_DATA_REINIT, FATAL, "Attempt to specify second initial value for \"%A\" in statement at %0", "Second initialization of \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DATA_TOOFEW, FATAL, "Too few initial values for list of initializers at %0 (target symbol \"%A\")", "Ran out of values for \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DATA_TOOMANY, FATAL, "Too many initial values starting at %0 for list of initializers", "Excess values at %0")
FFEBAD_MSGS (FFEBAD_DATA_RANGE, FATAL, "Array or substring specification for \"%A\" out of range in statement at %0", "Out of range for \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DATA_SUBSCRIPT, FATAL, "Array subscript #%B out of range for initialization of \"%A\" in statement at %0", "Subscript #%B out of range for \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DATA_ZERO, FATAL, "Implied do-loop step count of 0 (zero) for iteration variable \"%A\" in statement at %0", "Implied-do step count of 0 (zero) for \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DATA_EMPTY, FATAL, "Implied do-loop iteration count of 0 (zero) for iteration variable \"%A\" in statement at %0", "Implied-do iteration count of 0 (zero) for \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_DATA_EVAL, FATAL, "Not an integer constant expression in implied do-loop in statement at %0", "Not integer constant expression at %0")
FFEBAD_MSGS (FFEBAD_DATA_MULTIPLE, FATAL, "Attempt to specify second initial value for element of \"%A\" at %0", "Second initialization for element of \"%A\" at %0")
FFEBAD_MSGS (FFEBAD_EQUIV_COMMON, FATAL, "Attempt to EQUIVALENCE common areas \"%A\" and \"%B\" at %0", "Attempt to EQUIVALENCE common areas \"%A\" and \"%B\" at %0")
FFEBAD_MSGS (FFEBAD_EQUIV_ALIGN, FATAL, "Can't place \"%A\" as directed by EQUIVALENCE due to alignment restrictions", "Alignment violation for EQUIVALENCE for \"%A\"")
FFEBAD_MSGS (FFEBAD_EQUIV_MISMATCH, FATAL, "Mismatched EQUIVALENCE requirements for placement of \"%A\"", "Mismatched EQUIVALENCE requirements for placement of \"%A\"")
FFEBAD_MSGS (FFEBAD_EQUIV_RANGE, FATAL, "Array or substring specification for \"%A\" out of range in EQUIVALENCE statement", "Out of range for \"%A\" in EQUIVALENCE")
FFEBAD_MSGS (FFEBAD_EQUIV_SUBSTR, FATAL, "Substring of non-CHARACTER entity \"%A\" in EQUIVALENCE statement", "Substring of non-CHARACTER entity \"%A\" in EQUIVALENCE statement")
FFEBAD_MSGS (FFEBAD_EQUIV_ARRAY, FATAL, "Array reference to scalar variable \"%A\" in EQUIVALENCE statement", "Array reference to scalar variable \"%A\" in EQUIVALENCE statement")
FFEBAD_MSGS (FFEBAD_EQUIV_SUBSCRIPT, WARN, "Array subscript #%B out of range for EQUIVALENCE of \"%A\"", "Subscript #%B out of range for \"%A\" in EQUIVALENCE")
FFEBAD_MSGS (FFEBAD_COMMON_PAD, WARN, "Padding of %A %D required before \"%B\" in common block \"%C\" at %0", "Padding of %A %D required before \"%B\" in common block \"%C\" at %0")
FFEBAD_MSGS (FFEBAD_COMMON_NEG, FATAL, "Attempt to extend COMMON/EQUIVALENCE area beyond its starting point via EQUIVALENCE of \"%A\"", "Negative offset for COMMON/EQUIVALENCE via \"%A\"")
FFEBAD_MSGS (FFEBAD_EQUIV_FEW, FATAL, "Too few elements in reference to array \"%A\" in EQUIVALENCE statement", "Too few elements in reference to array \"%A\" in EQUIVALENCE statement")
FFEBAD_MSGS (FFEBAD_EQUIV_MANY, FATAL, "Too many elements in reference to array \"%A\" in EQUIVALENCE statement", "Too many elements in reference to array \"%A\" in EQUIVALENCE statement")
FFEBAD_MSGS (FFEBAD_MIXED_TYPES, WARN, "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, \"%A\" and \"%B\"", "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, \"%A\" and \"%B\"")
FFEBAD_MSGS (FFEBAD_IMPLICIT_ADJLEN, FATAL, "Invalid length specification for IMPLICIT statement -- must be integer constant expression", "Invalid length specification for IMPLICIT statement")
FFEBAD_MSGS (FFEBAD_ENTRY_CONFLICTS, FATAL, "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", "Conflicting type for ENTRY point at %0")
FFEBAD_MSGS (FFEBAD_RETURN_VALUE_UNSET, WARN, "Return value \"%A\" for FUNCTION at %0 not referenced in subprogram", "No reference to return value \"%A\" for FUNCTION at %0")
FFEBAD_MSGS (FFEBAD_FILEWIDE_ALREADY_SEEN, FATAL, "Global name \"%A\" defined at %0 already defined at %1", "Global name \"%A\" defined at %0 already defined at %1")
FFEBAD_MSGS (FFEBAD_COMMON_ALREADY_INIT, FATAL, "Common block \"%A\" initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block", "Common block \"%A\" initialized at %0 already initialized at %1")
FFEBAD_MSGS (FFEBAD_COMMON_INIT_PAD, WARN, "Initial padding for common block \"%A\" is %B %C at %0", "Initial padding for common block \"%A\" is %B %C at %0")
FFEBAD_MSGS (FFEBAD_COMMON_DIFF_PAD, FATAL, "Initial padding for common block \"%A\" is %B %D at %0 but %C %E at %1 -- misalignment is likely", "Initial padding for common block \"%A\" is %B %D at %0 but %C %E at %1")
FFEBAD_MSGS (FFEBAD_COMMON_DIFF_SAVE, WARN, "Common block \"%A\" is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1", "Common block \"%A\" is SAVEd at %0 but not at %1")
FFEBAD_MSGS (FFEBAD_COMMON_DIFF_SIZE, WARN, "Common block \"%A\" is %B %D in length at %0 but %C %E at %1", "Common block \"%A\" is %B %D at %0 but %C %E at %1")
FFEBAD_MSGS (FFEBAD_NEED_INTRINSIC, WARN, "Intrinsic procedure \"%A\" is passed as actual argument at %0 but not explicitly declared INTRINSIC", "Need INTRINSIC %A before passing it as arg at %0")
FFEBAD_MSGS (FFEBAD_NEED_EXTERNAL, WARN, "External procedure \"%A\" is passed as actual argument at %0 but not explicitly declared EXTERNAL", "Need EXTERNAL %A before passing it as arg at %0")
FFEBAD_MSGS (FFEBAD_SYMBOL_UPPER_CASE, WARN, "Character `%A' (for example) is upper-case in symbol name at %0", "Symbol at %0 has upper-case character `%A'")
FFEBAD_MSGS (FFEBAD_SYMBOL_LOWER_CASE, WARN, "Character `%A' (for example) is lower-case in symbol name at %0", "Symbol at %0 has lower-case character `%A'")
FFEBAD_MSGS (FFEBAD_SYMBOL_NOLOWER_INITCAP, WARN, "Character `%A' not followed at some point by lower-case character in symbol name at %0", "Symbol at %0 has no lower-case character following `%A'")
FFEBAD_MSGS (FFEBAD_SYMBOL_LOWER_INITCAP, WARN, "Initial character `%A' is lower-case in symbol name at %0", "Symbol at %0 has lower-case initial character `%A'")
FFEBAD_MSGS (FFEBAD_DO_REAL, WARN, "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely", "DO-variable `%A' is type REAL or DOUBLE PRECISION at %0")
FFEBAD_MSGS (FFEBAD_NAMELIST_CASE, WARN, "NAMELIST not adequately supported by run-time library for source files with case preserved", "NAMELIST unsupported by library for case-preserved sources")
FFEBAD_MSGS (FFEBAD_NESTED_PERCENT, WARN, "Nested %% construct (%%VAL, %%REF, or %%DESCR) ignored at %0", "Nested %% ignored at %0")
FFEBAD_MSGS (FFEBAD_ACTUALARG, WARN, "Invalid actual argument at %0 -- hollerith and typeless constants not permitted in this context", "Invalid actual argument at %0")
#if 0
FFEBAD_MSGS (FFEBAD_MISSING_ADJARRAY_UNSUPPORTED, FATAL, "Omission of dummy adjustable array %A (first mentioned at %0) in any entry point temporarily unsupported -- calling that entry point would probably crash at run time", "Unsupported omission of dummy array %A (e.g. possibly at %0)")
#endif
FFEBAD_MSGS (FFEBAD_QUAD_UNSUPPORTED, WARN, "Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision", "Quad-precision unsupported -- treated constant at %0 as double-precision")
FFEBAD_MSGS (FFEBAD_TOO_BIG_INIT, WARN, "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", "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")

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