diff options
author | obrien <obrien@FreeBSD.org> | 2002-05-09 20:02:13 +0000 |
---|---|---|
committer | obrien <obrien@FreeBSD.org> | 2002-05-09 20:02:13 +0000 |
commit | c8f5fc7032940ad6633f932ac40cade82ec4d0cc (patch) | |
tree | 29a0f0a6c79a69ecc64f612947a0fe5904311713 /contrib/gcc/f | |
parent | c9ab9ae440a8066b2c2b85b157b1fdadcf09916a (diff) | |
download | FreeBSD-src-c8f5fc7032940ad6633f932ac40cade82ec4d0cc.zip FreeBSD-src-c8f5fc7032940ad6633f932ac40cade82ec4d0cc.tar.gz |
Gcc 3.1.0 pre-release from the FSF anoncvs repo on 9-May-2002 15:57:15 EDT.
Diffstat (limited to 'contrib/gcc/f')
-rw-r--r-- | contrib/gcc/f/ChangeLog | 100 | ||||
-rw-r--r-- | contrib/gcc/f/Make-lang.in | 4 | ||||
-rw-r--r-- | contrib/gcc/f/bad.def | 390 | ||||
-rw-r--r-- | contrib/gcc/f/bugs.texi | 9 | ||||
-rw-r--r-- | contrib/gcc/f/com.c | 22 | ||||
-rw-r--r-- | contrib/gcc/f/data.c | 50 | ||||
-rw-r--r-- | contrib/gcc/f/expr.c | 11 | ||||
-rw-r--r-- | contrib/gcc/f/ffe.texi | 9 | ||||
-rw-r--r-- | contrib/gcc/f/g77.texi | 61 | ||||
-rw-r--r-- | contrib/gcc/f/implic.c | 3 | ||||
-rw-r--r-- | contrib/gcc/f/intdoc.c | 12 | ||||
-rw-r--r-- | contrib/gcc/f/intdoc.texi | 12 | ||||
-rw-r--r-- | contrib/gcc/f/intrin.c | 18 | ||||
-rw-r--r-- | contrib/gcc/f/intrin.def | 13 | ||||
-rw-r--r-- | contrib/gcc/f/invoke.texi | 133 | ||||
-rw-r--r-- | contrib/gcc/f/lex.c | 13 | ||||
-rw-r--r-- | contrib/gcc/f/news.texi | 38 | ||||
-rw-r--r-- | contrib/gcc/f/proj.h | 4 | ||||
-rw-r--r-- | contrib/gcc/f/root.texi | 3 | ||||
-rw-r--r-- | contrib/gcc/f/stb.c | 3 | ||||
-rw-r--r-- | contrib/gcc/f/ste.c | 3 | ||||
-rw-r--r-- | contrib/gcc/f/stu.c | 3 | ||||
-rw-r--r-- | contrib/gcc/f/target.c | 44 | ||||
-rw-r--r-- | contrib/gcc/f/target.h | 2 | ||||
-rw-r--r-- | contrib/gcc/f/version.c | 2 |
25 files changed, 793 insertions, 169 deletions
diff --git a/contrib/gcc/f/ChangeLog b/contrib/gcc/f/ChangeLog index 7cec89c..d3f8626 100644 --- a/contrib/gcc/f/ChangeLog +++ b/contrib/gcc/f/ChangeLog @@ -1,3 +1,103 @@ +2002-04-29 Joseph S. Myers <jsm28@cam.ac.uk> + + * invoke.texi: Use @gol at ends of lines inside @gccoptlist. + * g77.texi: Update last update date. + +2002-04-20 Toon Moene <toon@moene.indiv.nluug.nl> + + * root.texi: Remove variable version-g77. + * g77.texi: Remove the single use of that variable. + +Tue Apr 16 14:55:47 2002 Mark Mitchell <mark@codesourcery.com> + + * com.c (ffecom_expr_power_integer): Add has_scope argument to + call to expand_start_stmt_expr. + +Mon Apr 15 10:59:14 2002 Mark Mitchell <mark@codesourcery.com> + + * g77.texi: Remove Chill reference. + +2002-04-14 Hans-Peter Nilsson <hp@bitrange.com> + + * Make-lang.in (f/target.o): Depend on diagnostic.h. + * target.c: Include diagnostic.h. + (ffetarget_memcpy_): Call sorry if host and target endians are + not matching. + +2002-04-13 Toon Moene <toon@moene.indiv.nluug.nl> + + * news.texi: Deprecate frontend version number; + update list of fixed bugs. + +2002-04-01 Phil Edwards <pme@gcc.gnu.org> + + * version.c: Fix misplaced leading blanks on first line. + +2002-03-23 Toon Moene <toon@moene.indiv.nluug.nl> + + * com.c (ffecom_check_size_overflow_): Add a test + so that arrays too large for 32-bit byte-offset + addressing get caught. + * news.texi: Document the fixing of this problem. + +Mon Mar 18 18:43:22 CET 2002 Jan Hubicka <jh@suse.cz> + + * target.h (FFETARGET_32bit_longs): Undefine for x86-64. + +2002-02-13 Toon Moene <toon@moene.indiv.nluug.nl> + + * news.texi: List Problem Reports fixed in 3.1. + +2002-02-13 Toon Moene <toon@moene.indiv.nluug.nl> + + * data.c (ffedata_eval_offset_): Only convert index, + low and high bound in data statements to default integer + if they are constants. Use a copy of the data structure. + +2002-02-09 Toon Moene <toon@moene.indiv.nluug.nl> + + * data.c (ffedata_eval_offset_): Convert non-default integer + constants to default integer kind if necessary. + +2002-02-09 Toon Moene <toon@moene.indiv.nlug.nl> + + * invoke.texi: Add a short debugging session + as an example to the documentation of -g. + +2002-02-06 Toon Moene <toon@moene.indiv.nluug.nl> + + PR fortran/4730 fortran/5473 + * com.c (ffecom_expr_): Deal with %VAL constructs. + * intrin.c (ffeintrin_check_): Handle 'N' constraints for intrinsics, + to indicate "no larger than default kind" integers and logicals. + * intrin.def: Use 'N' constraints in table of intrinsics. + * intdoc.c: Document this constraint. + * intdoc.texi: Regenerated. + +2002-02-04 Philipp Thomas <pthomas@suse.de> + + * implic.c lex.c stb.c ste.c stu.c: Update copyright dates. + +2002-02-04 Philipp Thomas <pthomas@suse.de> + + * bad.def com.c expr.c implic.c lex.c stb.c ste.c stu.c: + Insert comments to mark messages as not being printf style + where appropriate. + +2002-02-03 Toon Moene <toon@moene.indiv.nluug.nl> + + * expr.c (ffeexpr_sym_impdoitem_): Allow other than + default INTEGER implied-do loop counts. + +2002-02-01 Toon Moene <toon@moene.indiv.nluug.nl> + + * bad.def: Remove non-historical reference to version 0.6. + * bugs.texi: Ditto. + * com.c: Ditto. + * ffe.texi: Ditto. + * proj.h: Ditto. + * g77.texi: Ditto. + 2002-01-31 Joseph S. Myers <jsm28@cam.ac.uk> * g77spec.c (lang_specific_driver): Follow GNU Coding Standards diff --git a/contrib/gcc/f/Make-lang.in b/contrib/gcc/f/Make-lang.in index f9744d7..d2daf34 100644 --- a/contrib/gcc/f/Make-lang.in +++ b/contrib/gcc/f/Make-lang.in @@ -1,5 +1,5 @@ # Top level makefile fragment for GNU Fortran. -*-makefile-*- -# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc. +# Copyright (C) 1995, 1996, 1997, 1998, 2000, 2001, 2002 Free Software Foundation, Inc. #This file is part of GNU Fortran. @@ -513,7 +513,7 @@ f/symbol.o: f/symbol.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/symbol.h \ f/global.h f/name.h f/src.h f/st.h f/target.o: f/target.c f/proj.h $(CONFIG_H) $(SYSTEM_H) glimits.h f/target.h \ $(TREE_H) f/bad.h f/bad.def f/where.h f/top.h f/malloc.h f/info.h \ - f/info-b.def f/info-k.def f/info-w.def f/type.h f/lex.h + f/info-b.def f/info-k.def f/info-w.def f/type.h f/lex.h diagnostic.h f/top.o: f/top.c f/proj.h $(CONFIG_H) $(SYSTEM_H) f/top.h f/malloc.h f/where.h \ glimits.h f/bad.h f/bad.def f/bit.h f/bld.h f/bld-op.def f/com.h \ f/com-rt.def $(TREE_H) f/info.h f/info-b.def f/info-k.def \ diff --git a/contrib/gcc/f/bad.def b/contrib/gcc/f/bad.def index 165a5a3..92d7e23 100644 --- a/contrib/gcc/f/bad.def +++ b/contrib/gcc/f/bad.def @@ -35,674 +35,1062 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define DISASTER FFEBAD_severityDISASTER FFEBAD_MSG (FFEBAD_MISSING_FIRST_BINARY_OPERAND, FATAL, +/* xgettext:no-c-format */ "Missing first operand for binary operator at %0") FFEBAD_MSG (FFEBAD_NULL_CHAR_CONST, WARN, +/* xgettext:no-c-format */ "Zero-length character constant at %0") FFEBAD_MSG (FFEBAD_INVALID_TOKEN_IN_EXPRESSION, FATAL, +/* xgettext:no-c-format */ "Invalid token at %0 in expression or subexpression at %1") FFEBAD_MSG (FFEBAD_MISSING_OPERAND_FOR_OPERATOR, FATAL, +/* xgettext:no-c-format */ "Missing operand for operator at %1 at end of expression at %0") FFEBAD_MSG (FFEBAD_LABEL_ALREADY_DEFINED, FATAL, +/* xgettext:no-c-format */ "Label %A already defined at %1 when redefined at %0") FFEBAD_MSG (FFEBAD_UNRECOGNIZED_CHARACTER, FATAL, +/* xgettext:no-c-format */ "Unrecognized character at %0 [info -f g77 M LEX]") FFEBAD_MSG (FFEBAD_LABEL_WITHOUT_STMT, WARN, +/* xgettext:no-c-format */ "Label definition %A at %0 on empty statement (as of %1)") FFEBAD_MSG (FFEBAD_EXTRA_LABEL_DEF, FATAL, +/* xgettext:no-c-format */ LONG("Extra label definition %A at %0 -- perhaps previous label definition %B at %1 should have CONTINUE statement?") +/* xgettext:no-c-format */ SHORT("Extra label definition %A at %0 following label definition %B at %1")) FFEBAD_MSG (FFEBAD_FIRST_CHAR_INVALID, FATAL, +/* xgettext:no-c-format */ "Invalid first character at %0 [info -f g77 M LEX]") FFEBAD_MSG (FFEBAD_LINE_TOO_LONG, FATAL, +/* xgettext:no-c-format */ "Line too long as of %0 [info -f g77 M LEX]") FFEBAD_MSG (FFEBAD_LABEL_FIELD_NOT_NUMERIC, FATAL, +/* xgettext:no-c-format */ "Non-numeric character at %0 in label field [info -f g77 M LEX]") FFEBAD_MSG (FFEBAD_LABEL_NUMBER_INVALID, FATAL, +/* xgettext:no-c-format */ "Label number at %0 not in range 1-99999") FFEBAD_MSG (FFEBAD_NON_ANSI_COMMENT, WARN, +/* xgettext:no-c-format */ "At %0, '!' and '/*' are not valid comment delimiters") FFEBAD_MSG (FFEBAD_NON_ANSI_CONTINUATION_COLUMN, WARN, +/* xgettext:no-c-format */ "Continuation indicator at %0 must appear in column 6 [info -f g77 M LEX]") FFEBAD_MSG (FFEBAD_LABEL_ON_CONTINUATION, FATAL, +/* xgettext:no-c-format */ "Label at %0 invalid with continuation line indicator at %1 [info -f g77 M LEX]") FFEBAD_MSG (FFEBAD_INVALID_CONTINUATION, FATAL, +/* xgettext:no-c-format */ LONG("Continuation indicator at %0 invalid on first non-comment line of file or following END or INCLUDE [info -f g77 M LEX]") +/* xgettext:no-c-format */ SHORT("Continuation indicator at %0 invalid here [info -f g77 M LEX]")) FFEBAD_MSG (FFEBAD_NO_CLOSING_APOSTROPHE, FATAL, +/* xgettext:no-c-format */ "Character constant at %0 has no closing apostrophe at %1") FFEBAD_MSG (FFEBAD_NOT_ENOUGH_HOLLERITH_CHARS, FATAL, +/* xgettext:no-c-format */ "Hollerith constant at %0 specified %A more characters than are present as of %1") FFEBAD_MSG (FFEBAD_MISSING_CLOSE_PAREN, FATAL, +/* xgettext:no-c-format */ "Missing close parenthese at %0 needed to match open parenthese at %1") FFEBAD_MSG (FFEBAD_INTEGER_TOO_LARGE, FATAL, +/* xgettext:no-c-format */ "Integer at %0 too large") FFEBAD_MSG (FFEBAD_BAD_MAGICAL, WARN, +/* xgettext:no-c-format */ LONG("Integer at %0 too large except as negative number (preceded by unary minus sign)") +/* xgettext:no-c-format */ SHORT("Non-negative integer at %0 too large")) FFEBAD_MSG (FFEBAD_BAD_MAGICAL_PRECEDENCE, WARN, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Integer at %0 too large (%2 has precedence over %1)")) FFEBAD_MSG (FFEBAD_BAD_MAGICAL_BINARY, WARN, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Integer at %0 too large (needs unary, not binary, minus at %1)")) FFEBAD_MSG (FFEBAD_BAD_MAGICAL_PRECEDENCE_BINARY, WARN, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ 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, +/* xgettext:no-c-format */ "Period at %0 not followed by digits for floating-point number or by `NOT.', `TRUE.', or `FALSE.'") FFEBAD_MSG (FFEBAD_INSERTING_PERIOD, FATAL, +/* xgettext:no-c-format */ "Missing close-period between `.%A' at %0 and %1") FFEBAD_MSG (FFEBAD_INVALID_EXPONENT, FATAL, +/* xgettext:no-c-format */ "Invalid exponent at %0 for real constant at %1; nondigit `%A' in exponent field") FFEBAD_MSG (FFEBAD_MISSING_EXPONENT_VALUE, FATAL, +/* xgettext:no-c-format */ "Missing value at %1 for real-number exponent at %0") FFEBAD_MSG (FFEBAD_MISSING_BINARY_OPERATOR, FATAL, +/* xgettext:no-c-format */ "Expected binary operator between expressions at %0 and at %1") FFEBAD_MSG (FFEBAD_INVALID_DOTDOT, FATAL, +/* xgettext:no-c-format */ LONG("Period at %0 not followed by valid keyword forming a valid binary operator; `.%A.' is not a valid binary operator") +/* xgettext:no-c-format */ SHORT("`.%A.' at %0 not a binary operator")) FFEBAD_MSG (FFEBAD_QUOTE_MISSES_DIGITS, FATAL, +/* xgettext:no-c-format */ LONG("Double-quote at %0 not followed by a string of valid octal digits at %1") +/* xgettext:no-c-format */ SHORT("Invalid octal constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_BINARY_DIGIT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid binary digit(s) found in string of digits at %0") +/* xgettext:no-c-format */ SHORT("Invalid binary constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_HEX_DIGIT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid hexadecimal digit(s) found in string of digits at %0") +/* xgettext:no-c-format */ SHORT("Invalid hexadecimal constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_OCTAL_DIGIT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid octal digit(s) found in string of digits at %0") +/* xgettext:no-c-format */ SHORT("Invalid octal constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_RADIX_SPECIFIER, FATAL, +/* xgettext:no-c-format */ LONG("Invalid radix specifier `%A' at %0 for typeless constant at %1") +/* xgettext:no-c-format */ SHORT("Invalid typeless constant at %1")) FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_BINARY_DIGIT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid binary digit(s) found in string of digits at %0") +/* xgettext:no-c-format */ SHORT("Invalid binary constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_OCTAL_DIGIT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid octal digit(s) found in string of digits at %0") +/* xgettext:no-c-format */ SHORT("Invalid octal constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_TYPELESS_HEX_DIGIT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid hexadecimal digit(s) found in string of digits at %0") +/* xgettext:no-c-format */ SHORT("Invalid hexadecimal constant at %0")) FFEBAD_MSG (FFEBAD_INVALID_COMPLEX_PART, FATAL, +/* xgettext:no-c-format */ LONG("%A part of complex constant at %0 must be a real or integer constant -- otherwise use CMPLX() or COMPLEX() in place of ()") +/* xgettext:no-c-format */ SHORT("%A part of complex constant at %0 not a real or integer constant")) FFEBAD_MSG (FFEBAD_INVALID_PERCENT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid keyword `%%%A' at %0 in this context") +/* xgettext:no-c-format */ SHORT("Invalid keyword `%%%A' at %0")) FFEBAD_MSG (FFEBAD_NULL_EXPRESSION, FATAL, +/* xgettext:no-c-format */ LONG("Null expression between %0 and %1 invalid in this context") +/* xgettext:no-c-format */ SHORT("Invalid null expression between %0 and %1")) FFEBAD_MSG (FFEBAD_CONCAT_ARGS_TYPE, FATAL, +/* xgettext:no-c-format */ LONG("Concatenation operator at %0 must operate on two subexpressions of character type, but neither subexpression at %1 or %2 is of character type") +/* xgettext:no-c-format */ SHORT("Invalid operands at %1 and %2 for concatenation operator at %0")) FFEBAD_MSG (FFEBAD_CONCAT_ARG_TYPE, FATAL, +/* xgettext:no-c-format */ LONG("Concatenation operator at %0 must operate on two subexpressions of character type, but the subexpression at %1 is not of character type") +/* xgettext:no-c-format */ SHORT("Invalid operand at %1 for concatenation operator at %0")) FFEBAD_MSG (FFEBAD_CONCAT_ARG_KIND, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand (is %A) at %1 for concatenation operator at %0")) FFEBAD_MSG (FFEBAD_MATH_ARGS_TYPE, FATAL, +/* xgettext:no-c-format */ LONG("Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but neither subexpression at %1 or %2 is of arithmetic type") +/* xgettext:no-c-format */ SHORT("Invalid operands at %1 and %2 for arithmetic operator at %0")) FFEBAD_MSG (FFEBAD_MATH_ARG_TYPE, FATAL, +/* xgettext:no-c-format */ LONG("Arithmetic operator at %0 must operate on two subexpressions of arithmetic type, but the subexpression at %1 is not of arithmetic type") +/* xgettext:no-c-format */ SHORT("Invalid operand at %1 for arithmetic operator at %0")) FFEBAD_MSG (FFEBAD_MATH_ARG_KIND, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand (is %A) at %1 for arithmetic operator at %0")) FFEBAD_MSG (FFEBAD_NO_CLOSING_QUOTE, FATAL, +/* xgettext:no-c-format */ LONG("Character constant at %0 has no closing quote at %1 [info -f g77 M LEX]") +/* xgettext:no-c-format */ SHORT("Unterminated character constant at %0 [info -f g77 M LEX]")) FFEBAD_MSG (FFEBAD_BAD_CHAR_CONTINUE, FATAL, +/* xgettext:no-c-format */ LONG("Continuation line at %0 must have initial `&' since it continues a character context [info -f g77 M LEX]") +/* xgettext:no-c-format */ SHORT("Missing initial `&' on continuation line at %0 [info -f g77 M LEX]")) FFEBAD_MSG (FFEBAD_BAD_LEXTOK_CONTINUE, FATAL, +/* xgettext:no-c-format */ LONG("Continuation line at %0 must have initial `&' since it continues a split lexical token [info -f g77 M LEX]") +/* xgettext:no-c-format */ SHORT("Missing initial `&' on continuation line at %0 [info -f g77 M LEX]")) FFEBAD_MSG (FFEBAD_BAD_FREE_CONTINUE, FATAL, +/* xgettext:no-c-format */ LONG("Continuation line at %0 invalid because it consists only of a single `&' as the only nonblank character") +/* xgettext:no-c-format */ SHORT("Invalid continuation line at %0")) FFEBAD_MSG (FFEBAD_STMT_BEGINS_BAD, FATAL, +/* xgettext:no-c-format */ LONG("Statement at %0 begins with invalid token [info -f g77 M LEX]") +/* xgettext:no-c-format */ SHORT("Invalid statement at %0 [info -f g77 M LEX]")) FFEBAD_MSG (FFEBAD_SEMICOLON, FATAL, +/* xgettext:no-c-format */ "Semicolon at %0 is an invalid token") FFEBAD_MSG (FFEBAD_UNREC_STMT, FATAL, +/* xgettext:no-c-format */ LONG("Unrecognized statement name at %0 and invalid form for assignment or statement-function definition at %1") +/* xgettext:no-c-format */ SHORT("Invalid statement at %0")) FFEBAD_MSG (FFEBAD_INVALID_STMT_FORM, FATAL, +/* xgettext:no-c-format */ LONG("Invalid form for %A statement at %0") +/* xgettext:no-c-format */ SHORT("Invalid %A statement at %0")) FFEBAD_MSG (FFEBAD_INVALID_HOLL_IN_STMT, FATAL, +/* xgettext:no-c-format */ LONG("Invalid use of hollerith constant in statement at %0 -- enclose the constant in parentheses (for example, change BACKSPACE 2HAB to BACKSPACE (2HAB))") +/* xgettext:no-c-format */ SHORT("Enclose hollerith constant in statement at %0 in parentheses")) FFEBAD_MSG (FFEBAD_FORMAT_EXTRA_COMMA, FATAL, +/* xgettext:no-c-format */ "Extraneous comma in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_MISSING_COMMA, WARN, +/* xgettext:no-c-format */ "Missing comma in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_SPURIOUS_SIGN, FATAL, +/* xgettext:no-c-format */ "Spurious sign in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_SPURIOUS_NUMBER, FATAL, +/* xgettext:no-c-format */ "Spurious number in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_TEXT_IN_NUMBER, FATAL, +/* xgettext:no-c-format */ "Spurious text trailing number in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_P_NOCOMMA, FATAL, +/* xgettext:no-c-format */ LONG("nP control edit descriptor not followed by comma but followed by edit descriptor at %0 other than D, E, EN, F, or G") +/* xgettext:no-c-format */ SHORT("Invalid edit descriptor at %0 following nP control edit descriptor")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_SPEC, FATAL, +/* xgettext:no-c-format */ "Unrecognized FORMAT specifier at %0") FFEBAD_MSG (FFEBAD_FORMAT_BAD_I_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid I specifier in FORMAT statement at %0 -- correct form: [r]Iw.[m]") +/* xgettext:no-c-format */ SHORT("Invalid I specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_B_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid B specifier in FORMAT statement at %0 -- correct form: [r]Bw.[m]") +/* xgettext:no-c-format */ SHORT("Invalid B specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_O_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid O specifier in FORMAT statement at %0 -- correct form: [r]Ow.[m]") +/* xgettext:no-c-format */ SHORT("Invalid O specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_Z_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid Z specifier in FORMAT statement at %0 -- correct form: [r]Zw.[m]") +/* xgettext:no-c-format */ SHORT("Invalid Z specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_F_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid F specifier in FORMAT statement at %0 -- correct form: [r]Fw.d") +/* xgettext:no-c-format */ SHORT("Invalid F specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_E_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid E specifier in FORMAT statement at %0 -- correct form: [r]Ew.d[Ee]") +/* xgettext:no-c-format */ SHORT("Invalid E specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_EN_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid EN specifier in FORMAT statement at %0 -- correct form: [r]ENw.d[Ee]") +/* xgettext:no-c-format */ SHORT("Invalid EN specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_G_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid G specifier in FORMAT statement at %0 -- correct form: [r]Gw.d[Ee]") +/* xgettext:no-c-format */ SHORT("Invalid G specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_L_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid L specifier in FORMAT statement at %0 -- correct form: [r]Lw") +/* xgettext:no-c-format */ SHORT("Invalid L specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_A_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid A specifier in FORMAT statement at %0 -- correct form: [r]A[w]") +/* xgettext:no-c-format */ SHORT("Invalid A specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_D_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid D specifier in FORMAT statement at %0 -- correct form: [r]Dw.d") +/* xgettext:no-c-format */ SHORT("Invalid D specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_Q_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid Q specifier in FORMAT statement at %0 -- correct form: Q") +/* xgettext:no-c-format */ SHORT("Invalid Q specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_DOLLAR_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid $ specifier in FORMAT statement at %0 -- correct form: $") +/* xgettext:no-c-format */ SHORT("Invalid $ specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_P_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid P specifier in FORMAT statement at %0 -- correct form: kP") +/* xgettext:no-c-format */ SHORT("Invalid P specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_T_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid T specifier in FORMAT statement at %0 -- correct form: Tn") +/* xgettext:no-c-format */ SHORT("Invalid T specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_TL_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid TL specifier in FORMAT statement at %0 -- correct form: TLn") +/* xgettext:no-c-format */ SHORT("Invalid TL specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_TR_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid TR specifier in FORMAT statement at %0 -- correct form: TRn") +/* xgettext:no-c-format */ SHORT("Invalid TR specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_X_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid X specifier in FORMAT statement at %0 -- correct form: nX") +/* xgettext:no-c-format */ SHORT("Invalid X specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_S_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid S specifier in FORMAT statement at %0 -- correct form: S") +/* xgettext:no-c-format */ SHORT("Invalid S specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_SP_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid SP specifier in FORMAT statement at %0 -- correct form: SP") +/* xgettext:no-c-format */ SHORT("Invalid SP specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_SS_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid SS specifier in FORMAT statement at %0 -- correct form: SS") +/* xgettext:no-c-format */ SHORT("Invalid SS specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_BN_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid BN specifier in FORMAT statement at %0 -- correct form: BN") +/* xgettext:no-c-format */ SHORT("Invalid BN specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_BZ_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid BZ specifier in FORMAT statement at %0 -- correct form: BZ") +/* xgettext:no-c-format */ SHORT("Invalid BZ specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_COLON_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Invalid : specifier in FORMAT statement at %0 -- correct form: :") +/* xgettext:no-c-format */ SHORT("Invalid : specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_BAD_H_SPEC, FATAL, +/* xgettext:no-c-format */ 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)") +/* xgettext:no-c-format */ SHORT("Invalid H specifier in FORMAT statement at %0")) FFEBAD_MSG (FFEBAD_FORMAT_MISSING_PAREN, FATAL, +/* xgettext:no-c-format */ "Missing close-parenthese(s) in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_MISSING_DOT, FATAL, +/* xgettext:no-c-format */ "Missing number following period in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_MISSING_EXP, FATAL, +/* xgettext:no-c-format */ "Missing number following `E' in FORMAT statement at %0") FFEBAD_MSG (FFEBAD_FORMAT_EXPR_TOKEN, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid token with FORMAT run-time expression at %0")) FFEBAD_MSG (FFEBAD_TRAILING_COMMA, WARN, +/* xgettext:no-c-format */ "Spurious trailing comma preceding terminator at %0") FFEBAD_MSG (FFEBAD_INTERFACE_ASSIGNMENT, WARN, +/* xgettext:no-c-format */ "At %0, specify OPERATOR instead of ASSIGNMENT for INTERFACE statement not specifying the assignment operator (=)") FFEBAD_MSG (FFEBAD_INTERFACE_OPERATOR, WARN, +/* xgettext:no-c-format */ "At %0, specify ASSIGNMENT instead of OPERATOR for INTERFACE statement specifying the assignment operator (=)") FFEBAD_MSG (FFEBAD_INTERFACE_NONLETTER, FATAL, +/* xgettext:no-c-format */ LONG("Defined operator at %0 contains a nonletter -- must contain only letters A-Z (or a-z)") +/* xgettext:no-c-format */ SHORT("Nonletter in defined operator at %0")) FFEBAD_MSG (FFEBAD_INVALID_TYPEDECL_ATTR, FATAL, +/* xgettext:no-c-format */ LONG("Invalid type-declaration attribute at %0 -- must be one of: DIMENSION(array-spec), EXTERNAL, INTRINSIC, PARAMETER, or SAVE") +/* xgettext:no-c-format */ SHORT("Invalid type-declaration attribute at %0")) FFEBAD_MSG (FFEBAD_INVALID_TYPEDECL_INIT, FATAL, +/* xgettext:no-c-format */ "Cannot specify =initialization-expr at %0 unless `::' appears before list of objects") FFEBAD_MSG (FFEBAD_LABEL_USE_DEF, FATAL, +/* xgettext:no-c-format */ "Reference to label at %1 inconsistent with its definition at %0") FFEBAD_MSG (FFEBAD_LABEL_USE_USE, FATAL, +/* xgettext:no-c-format */ "Reference to label at %1 inconsistent with earlier reference at %0") FFEBAD_MSG (FFEBAD_LABEL_DEF_DO, FATAL, +/* xgettext:no-c-format */ "DO-statement reference to label at %1 follows its definition at %0") FFEBAD_MSG (FFEBAD_LABEL_BLOCK, WARN, +/* xgettext:no-c-format */ "Reference to label at %1 is outside block containing definition at %0") FFEBAD_MSG (FFEBAD_LABEL_DO_BLOCK_DO, FATAL, +/* xgettext:no-c-format */ "DO-statement references to label at %0 and %2 separated by unterminated block starting at %1") FFEBAD_MSG (FFEBAD_LABEL_DO_BLOCK_END, FATAL, +/* xgettext:no-c-format */ "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, +/* xgettext:no-c-format */ "Label definition at %0 invalid on this kind of statement") FFEBAD_MSG (FFEBAD_ORDER_1, FATAL, +/* xgettext:no-c-format */ "Statement at %0 invalid in this context") FFEBAD_MSG (FFEBAD_ORDER_2, FATAL, +/* xgettext:no-c-format */ "Statement at %0 invalid in context established by statement at %1") FFEBAD_MSG (FFEBAD_CONSTRUCT_NAMED, FATAL, +/* xgettext:no-c-format */ "Statement at %0 must specify construct name specified at %1") FFEBAD_MSG (FFEBAD_CONSTRUCT_NOT_NAMED, FATAL, +/* xgettext:no-c-format */ "Construct name at %0 superfluous, no construct name specified at %1") FFEBAD_MSG (FFEBAD_CONSTRUCT_WRONG_NAME, FATAL, +/* xgettext:no-c-format */ "Construct name at %0 not the same as construct name at %1") FFEBAD_MSG (FFEBAD_CONSTRUCT_NO_DO_NAME, FATAL, +/* xgettext:no-c-format */ "Construct name at %0 does not match construct name for any containing DO constructs") FFEBAD_MSG (FFEBAD_DO_HAD_LABEL, FATAL, +/* xgettext:no-c-format */ "Label definition missing at %0 for DO construct specifying label at %1") FFEBAD_MSG (FFEBAD_AFTER_ELSE, FATAL, +/* xgettext:no-c-format */ "Statement at %0 follows ELSE block for IF construct at %1") FFEBAD_MSG (FFEBAD_FORMAT_NO_LABEL_DEF, FATAL, +/* xgettext:no-c-format */ "No label definition for FORMAT statement at %0") FFEBAD_MSG (FFEBAD_SECOND_ELSE_WHERE, FATAL, +/* xgettext:no-c-format */ "Second occurrence of ELSE WHERE at %0 within WHERE at %1") FFEBAD_MSG (FFEBAD_END_WO, WARN, +/* xgettext:no-c-format */ "END statement at %0 missing `%A' keyword required for internal or module procedure(s) bounded by %1") FFEBAD_MSG (FFEBAD_INVALID_MODULE_PROCEDURE, FATAL, +/* xgettext:no-c-format */ "MODULE PROCEDURE statement at %0 disallowed because INTERFACE at %1 specifies no generic name, operator, or assignment") FFEBAD_MSG (FFEBAD_BLOCKDATA_NOT_NAMED, FATAL, +/* xgettext:no-c-format */ "BLOCK DATA name at %0 superfluous, no name specified at %1") FFEBAD_MSG (FFEBAD_PROGRAM_NOT_NAMED, FATAL, +/* xgettext:no-c-format */ "Program name at %0 superfluous, no PROGRAM statement specified at %1") FFEBAD_MSG (FFEBAD_UNIT_WRONG_NAME, FATAL, +/* xgettext:no-c-format */ "Program unit name at %0 not the same as name at %1") FFEBAD_MSG (FFEBAD_TYPE_WRONG_NAME, FATAL, +/* xgettext:no-c-format */ "Type name at %0 not the same as name at %1") FFEBAD_MSG (FFEBAD_EOF_BEFORE_BLOCK_END, FATAL, +/* xgettext:no-c-format */ "End of source file before end of block started at %0") FFEBAD_MSG (FFEBAD_UNDEF_LABEL, FATAL, +/* xgettext:no-c-format */ "Undefined label, first referenced at %0") FFEBAD_MSG (FFEBAD_CONFLICTING_SAVES, WARN, +/* xgettext:no-c-format */ "SAVE statement or attribute at %1 cannot be specified along with SAVE statement or attribute at %0") FFEBAD_MSG (FFEBAD_CONFLICTING_ACCESSES, FATAL, +/* xgettext:no-c-format */ "PUBLIC or PRIVATE statement at %1 cannot be specified along with PUBLIC or PRIVATE statement at %0") FFEBAD_MSG (FFEBAD_RETURN_IN_MAIN, WARN, +/* xgettext:no-c-format */ "RETURN statement at %0 invalid within a main program unit") FFEBAD_MSG (FFEBAD_ALTRETURN_IN_PROGRAM, FATAL, +/* xgettext:no-c-format */ "Alternate return specifier at %0 invalid within a main program unit") FFEBAD_MSG (FFEBAD_ALTRETURN_IN_FUNCTION, FATAL, +/* xgettext:no-c-format */ "Alternate return specifier at %0 invalid within a function") FFEBAD_MSG (FFEBAD_DERIVTYP_ACCESS, FATAL, +/* xgettext:no-c-format */ "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, +/* xgettext:no-c-format */ "Access specifier at %0 must immediately follow derived-type statement at %1 with no intervening statements") FFEBAD_MSG (FFEBAD_DERIVTYP_NO_COMPONENTS, FATAL, +/* xgettext:no-c-format */ "No components specified as of %0 for derived-type definition beginning at %1") FFEBAD_MSG (FFEBAD_STRUCT_NO_COMPONENTS, FATAL, +/* xgettext:no-c-format */ "No components specified as of %0 for structure definition beginning at %1") FFEBAD_MSG (FFEBAD_STRUCT_MISSING_NAME, FATAL, +/* xgettext:no-c-format */ "Missing structure name for outer structure definition at %0") FFEBAD_MSG (FFEBAD_STRUCT_IGNORING_FIELD, FATAL, +/* xgettext:no-c-format */ "Field names at %0 for outer structure definition -- specify them in a subsequent RECORD statement instead") FFEBAD_MSG (FFEBAD_STRUCT_MISSING_FIELD, FATAL, +/* xgettext:no-c-format */ "Missing field name(s) for structure definition at %0 within structure definition at %1") FFEBAD_MSG (FFEBAD_MAP_NO_COMPONENTS, FATAL, +/* xgettext:no-c-format */ "No components specified as of %0 for map beginning at %1") FFEBAD_MSG (FFEBAD_UNION_NO_TWO_MAPS, FATAL, +/* xgettext:no-c-format */ "Zero or one maps specified as of %0 for union beginning at %1 -- at least two are required") FFEBAD_MSG (FFEBAD_MISSING_SPECIFIER, FATAL, +/* xgettext:no-c-format */ "Missing %A specifier in statement at %0") FFEBAD_MSG (FFEBAD_NAMELIST_ITEMS, FATAL, +/* xgettext:no-c-format */ "Items in I/O list starting at %0 invalid for namelist-directed I/O") FFEBAD_MSG (FFEBAD_CONFLICTING_SPECS, FATAL, +/* xgettext:no-c-format */ "Conflicting I/O control specifications at %0 and %1") FFEBAD_MSG (FFEBAD_NO_UNIT_SPEC, FATAL, +/* xgettext:no-c-format */ "No UNIT= specifier in I/O control list at %0") FFEBAD_MSG (FFEBAD_MISSING_ADVANCE_SPEC, FATAL, +/* xgettext:no-c-format */ "Specification at %0 requires ADVANCE=`NO' specification in same I/O control list") FFEBAD_MSG (FFEBAD_MISSING_FORMAT_SPEC, FATAL, +/* xgettext:no-c-format */ "Specification at %0 requires explicit FMT= specification in same I/O control list") FFEBAD_MSG (FFEBAD_SPEC_VALUE, FATAL, +/* xgettext:no-c-format */ LONG("Unrecognized value for character constant at %0 -- expecting %A") +/* xgettext:no-c-format */ SHORT("Unrecognized value for character constant at %0")) FFEBAD_MSG (FFEBAD_CASE_SECOND_DEFAULT, FATAL, +/* xgettext:no-c-format */ "Second occurrence of CASE DEFAULT at %0 within SELECT CASE at %1") FFEBAD_MSG (FFEBAD_CASE_DUPLICATE, FATAL, +/* xgettext:no-c-format */ "Duplicate or overlapping case values/ranges at %0 and %1") FFEBAD_MSG (FFEBAD_CASE_TYPE_DISAGREE, FATAL, +/* xgettext:no-c-format */ "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, +/* xgettext:no-c-format */ "Range specification at %0 invalid for CASE statement within logical-type SELECT CASE statement") FFEBAD_MSG (FFEBAD_CASE_BAD_RANGE, FATAL, +/* xgettext:no-c-format */ LONG("Range specification at %0 invalid -- at least one expression must be specified, or use CASE DEFAULT") +/* xgettext:no-c-format */ SHORT("Range specification at %0 invalid")) FFEBAD_MSG (FFEBAD_CASE_RANGE_USELESS, INFORM, +/* xgettext:no-c-format */ LONG("Range specification at %0 useless; first expression greater than second expression in range, so range can never be matched by any selection expression") +/* xgettext:no-c-format */ SHORT("Useless range at %0")) FFEBAD_MSG (FFEBAD_F90, FATAL, +/* xgettext:no-c-format */ "Fortran 90 feature at %0 unsupported") FFEBAD_MSG (FFEBAD_KINDTYPE, FATAL, +/* xgettext:no-c-format */ LONG("Invalid kind at %0 for type at %1 -- unsupported or not permitted") +/* xgettext:no-c-format */ SHORT("Invalid kind at %0 for type at %1")) FFEBAD_MSG (FFEBAD_BAD_IMPLICIT, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Cannot establish implicit type for initial letter `%A' at %0")) FFEBAD_MSG (FFEBAD_SYMERR, FATAL, +/* xgettext:no-c-format */ "Invalid declaration of or reference to symbol `%A' at %0 [initially seen at %1]") FFEBAD_MSG (FFEBAD_LABEL_WRONG_PLACE, FATAL, +/* xgettext:no-c-format */ LONG("Label definition %A (at %0) invalid -- must be in columns 1-5") +/* xgettext:no-c-format */ SHORT("Invalid label definition %A (at %0)")) FFEBAD_MSG (FFEBAD_NULL_ELEMENT, FATAL, +/* xgettext:no-c-format */ "Null element at %0 for array reference at %1") FFEBAD_MSG (FFEBAD_TOO_FEW_ELEMENTS, FATAL, +/* xgettext:no-c-format */ "Too few elements (%A missing) as of %0 for array reference at %1") FFEBAD_MSG (FFEBAD_TOO_MANY_ELEMENTS, FATAL, +/* xgettext:no-c-format */ "Too many elements as of %0 for array reference at %1") FFEBAD_MSG (FFEBAD_MISSING_COLON_IN_SUBSTR, FATAL, +/* xgettext:no-c-format */ "Missing colon as of %0 in substring reference for %1") FFEBAD_MSG (FFEBAD_BAD_SUBSTR, FATAL, +/* xgettext:no-c-format */ "Invalid use at %0 of substring operator on %1") FFEBAD_MSG (FFEBAD_RANGE_SUBSTR, WARN, +/* xgettext:no-c-format */ "Substring begin/end point at %0 out of defined range") FFEBAD_MSG (FFEBAD_RANGE_ARRAY, WARN, +/* xgettext:no-c-format */ "Array element value at %0 out of defined range") FFEBAD_MSG (FFEBAD_EXPR_WRONG, FATAL, +/* xgettext:no-c-format */ "Expression at %0 has incorrect data type or rank for its context") FFEBAD_MSG (FFEBAD_DIV_BY_ZERO, WARN, +/* xgettext:no-c-format */ "Division by 0 (zero) at %0 (IEEE not yet supported)") FFEBAD_MSG (FFEBAD_DO_STEP_ZERO, FATAL, +/* xgettext:no-c-format */ "%A step count known to be 0 (zero) at %0") FFEBAD_MSG (FFEBAD_DO_END_OVERFLOW, WARN, +/* xgettext:no-c-format */ "%A end value plus step count known to overflow at %0") FFEBAD_MSG (FFEBAD_DO_IMP_OVERFLOW, WARN, +/* xgettext:no-c-format */ "%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, +/* xgettext:no-c-format */ "%A begin, end, and step-count values known to result in no iterations at %0") FFEBAD_MSG (FFEBAD_BAD_TYPES, FATAL, +/* xgettext:no-c-format */ "Type disagreement between expressions at %0 and %1") FFEBAD_MSG (FFEBAD_FORMAT_EXPR_SPEC, FATAL, +/* xgettext:no-c-format */ LONG("Run-time expression at %0 in FORMAT statement that does not follow the first executable statement in the program unit -- move the statement") +/* xgettext:no-c-format */ SHORT("FORMAT at %0 with run-time expression must follow first executable statement")) FFEBAD_MSG (FFEBAD_BAD_IMPDO, FATAL, +/* xgettext:no-c-format */ LONG("Unexpected token at %0 in implied-DO construct at %1 -- form of implied-DO is `(item-list,do-var=start,end[,incr])'") +/* xgettext:no-c-format */ SHORT("Unexpected token at %0 in implied-DO construct at %1")) FFEBAD_MSG (FFEBAD_BAD_IMPDCL, FATAL, +/* xgettext:no-c-format */ "No specification for implied-DO iterator `%A' at %0") FFEBAD_MSG (FFEBAD_IMPDO_PAREN, WARN, +/* xgettext:no-c-format */ "Gratuitous parentheses surround implied-DO construct at %0") FFEBAD_MSG (FFEBAD_ZERO_SIZE, FATAL, +/* xgettext:no-c-format */ "Zero-size specification invalid at %0") FFEBAD_MSG (FFEBAD_ZERO_ARRAY, FATAL, +/* xgettext:no-c-format */ "Zero-size array at %0") FFEBAD_MSG (FFEBAD_BAD_COMPLEX, FATAL, +/* xgettext:no-c-format */ "Target machine does not support complex entity of kind specified at %0") FFEBAD_MSG (FFEBAD_BAD_DBLCMPLX, FATAL, +/* xgettext:no-c-format */ "Target machine does not support DOUBLE COMPLEX, specified at %0") FFEBAD_MSG (FFEBAD_BAD_POWER, WARN, +/* xgettext:no-c-format */ "Attempt to raise constant zero to a power at %0") FFEBAD_MSG (FFEBAD_BOOL_ARGS_TYPE, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operands at %1 and %2 for boolean operator at %0")) FFEBAD_MSG (FFEBAD_BOOL_ARG_TYPE, FATAL, +/* xgettext:no-c-format */ LONG("Boolean/logical operator at %0 must operate on two subexpressions of logical type, but the subexpression at %1 is not of logical type") +/* xgettext:no-c-format */ SHORT("Invalid operand at %1 for boolean operator at %0")) FFEBAD_MSG (FFEBAD_BOOL_ARG_KIND, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand (is %A) at %1 for boolean operator at %0")) FFEBAD_MSG (FFEBAD_NOT_ARG_TYPE, FATAL, +/* xgettext:no-c-format */ LONG(".NOT. operator at %0 must operate on subexpression of logical type, but the subexpression at %1 is not of logical type") +/* xgettext:no-c-format */ SHORT("Invalid operand at %1 for .NOT. operator at %0")) FFEBAD_MSG (FFEBAD_NOT_ARG_KIND, FATAL, +/* xgettext:no-c-format */ LONG(".NOT. operator at %0 must operate on scalar subexpressions -- but the subexpression at %1 is %A") +/* xgettext:no-c-format */ SHORT("Invalid operand (is %A) at %1 for .NOT. operator at %0")) FFEBAD_MSG (FFEBAD_EQOP_ARGS_TYPE, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operands at %1 and %2 for equality operator at %0")) FFEBAD_MSG (FFEBAD_EQOP_ARG_TYPE, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand at %1 for equality operator at %0")) FFEBAD_MSG (FFEBAD_EQOP_ARG_KIND, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand (is %A) at %1 for equality operator at %0")) FFEBAD_MSG (FFEBAD_RELOP_ARGS_TYPE, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operands at %1 and %2 for relational operator at %0")) FFEBAD_MSG (FFEBAD_RELOP_ARG_TYPE, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand at %1 for relational operator at %0")) FFEBAD_MSG (FFEBAD_RELOP_ARG_KIND, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid operand (is %A) at %1 for relational operator at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_REF, FATAL, +/* xgettext:no-c-format */ LONG("Reference to intrinsic `%A' at %0 invalid -- one or more arguments have incorrect type") +/* xgettext:no-c-format */ SHORT("Invalid reference to intrinsic `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_TOOFEW, FATAL, +/* xgettext:no-c-format */ LONG("Too few arguments passed to intrinsic `%A' at %0") +/* xgettext:no-c-format */ SHORT("Too few arguments for intrinsic `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_TOOMANY, FATAL, +/* xgettext:no-c-format */ LONG("Too many arguments passed to intrinsic `%A' at %0") +/* xgettext:no-c-format */ SHORT("Too many arguments for intrinsic `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_DISABLED, FATAL, +/* xgettext:no-c-format */ LONG("Reference to disabled intrinsic `%A' at %0") +/* xgettext:no-c-format */ SHORT("Disabled intrinsic `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_IS_SUBR, FATAL, +/* xgettext:no-c-format */ LONG("Reference to intrinsic subroutine `%A' as if it were a function at %0") +/* xgettext:no-c-format */ SHORT("Function reference to intrinsic subroutine `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_IS_FUNC, FATAL, +/* xgettext:no-c-format */ LONG("Reference to intrinsic function `%A' as if it were a subroutine at %0") +/* xgettext:no-c-format */ SHORT("Subroutine reference to intrinsic function `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_UNIMPL, FATAL, +/* xgettext:no-c-format */ LONG("Reference to unimplemented intrinsic `%A' at %0 -- use EXTERNAL to reference user-written procedure with this name") +/* xgettext:no-c-format */ SHORT("Unimplemented intrinsic `%A' at %0")) FFEBAD_MSG (FFEBAD_INTRINSIC_UNIMPLW, WARN, +/* xgettext:no-c-format */ LONG("Reference to unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)") +/* xgettext:no-c-format */ SHORT("Unimplemented intrinsic `%A' at %0 (assumed EXTERNAL)")) FFEBAD_MSG (FFEBAD_INTRINSIC_AMBIG, FATAL, +/* xgettext:no-c-format */ "Reference to generic intrinsic `%A' at %0 could be to form %B or %C") FFEBAD_MSG (FFEBAD_INTRINSIC_CMPAMBIG, FATAL, +/* xgettext:no-c-format */ "Ambiguous use of intrinsic `%A' at %0 [info -f g77 M CMPAMBIG]") FFEBAD_MSG (FFEBAD_INTRINSIC_EXPIMP, WARN, +/* xgettext:no-c-format */ "Intrinsic `%A' referenced %Bly at %0, %Cly at %1 [info -f g77 M EXPIMP]") FFEBAD_MSG (FFEBAD_INTRINSIC_GLOBAL, WARN, +/* xgettext:no-c-format */ "Same name `%A' used for %B at %0 and %C at %1 [info -f g77 M INTGLOB]") FFEBAD_MSG (FFEBAD_INTRINSIC_TYPE, WARN, +/* xgettext:no-c-format */ "Explicit type declaration for intrinsic `%A' disagrees with invocation at %0") FFEBAD_MSG (FFEBAD_OPEN_INCLUDE, FATAL, +/* xgettext:no-c-format */ "Unable to open INCLUDE file `%A' at %0") FFEBAD_MSG (FFEBAD_DOITER, FATAL, +/* xgettext:no-c-format */ LONG("Attempt to modify variable `%A' at %0 while it serves as DO-loop iterator at %1") +/* xgettext:no-c-format */ SHORT("Modification of DO-loop iterator `%A' at %0")) FFEBAD_MSG (FFEBAD_DOITER_IMPDO, FATAL, +/* xgettext:no-c-format */ LONG("Attempt to modify variable `%A' via item #%B in list at %0 while it serves as implied-DO iterator at %1") +/* xgettext:no-c-format */ SHORT("Modification of DO-loop iterator `%A' at %0")) FFEBAD_MSG (FFEBAD_TOO_MANY_DIMS, FATAL, +/* xgettext:no-c-format */ LONG("Array has too many dimensions, as of dimension specifier at %0") +/* xgettext:no-c-format */ SHORT("Too many dimensions at %0")) FFEBAD_MSG (FFEBAD_NULL_ARGUMENT, FATAL, +/* xgettext:no-c-format */ "Null argument at %0 for statement function reference at %1") FFEBAD_MSG (FFEBAD_NULL_ARGUMENT_W, WARN, +/* xgettext:no-c-format */ "Null argument at %0 for procedure invocation at %1") FFEBAD_MSG (FFEBAD_TOO_FEW_ARGUMENTS, FATAL, +/* xgettext:no-c-format */ "%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, +/* xgettext:no-c-format */ "%A too many arguments as of %0 for statement function reference at %1") FFEBAD_MSG (FFEBAD_ARRAY_AS_SFARG, FATAL, +/* xgettext:no-c-format */ "Array supplied at %1 for dummy argument `%A' in statement function reference at %0") FFEBAD_MSG (FFEBAD_FORMAT_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ "Unsupported FORMAT specifier at %0") FFEBAD_MSG (FFEBAD_FORMAT_VARIABLE, FATAL, +/* xgettext:no-c-format */ "Variable-expression FORMAT specifier at %0 -- unsupported") FFEBAD_MSG (FFEBAD_OPEN_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Unsupported OPEN control item at %0")) FFEBAD_MSG (FFEBAD_INQUIRE_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ LONG("Unsupported INQUIRE control item at %0 -- ACTION=, CARRIAGECONTROL=, DEFAULTFILE=, DELIM=, KEYED=, ORGANIZATION=, PAD=, POSITION=, READ=, READWRITE=, RECORDTYPE=, and WRITE= are not supported") +/* xgettext:no-c-format */ SHORT("Unsupported INQUIRE control item at %0")) FFEBAD_MSG (FFEBAD_READ_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ LONG("Unsupported READ control item at %0 -- ADVANCE=, EOR=, KEYEQ=, KEYGE=, KEYGT=, KEYID=, NULLS=, and SIZE= are not supported") +/* xgettext:no-c-format */ SHORT("Unsupported READ control item at %0")) FFEBAD_MSG (FFEBAD_WRITE_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ LONG("Unsupported WRITE control item at %0 -- ADVANCE= and EOR= are not supported") +/* xgettext:no-c-format */ SHORT("Unsupported WRITE control item at %0")) FFEBAD_MSG (FFEBAD_VXT_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ "Unsupported VXT statement at %0") FFEBAD_MSG (FFEBAD_DATA_REINIT, FATAL, +/* xgettext:no-c-format */ "Attempt to specify second initial value for `%A' at %0") FFEBAD_MSG (FFEBAD_DATA_TOOFEW, FATAL, +/* xgettext:no-c-format */ "Too few initial values in list of initializers for `%A' at %0") FFEBAD_MSG (FFEBAD_DATA_TOOMANY, FATAL, +/* xgettext:no-c-format */ "Too many initial values in list of initializers starting at %0") FFEBAD_MSG (FFEBAD_DATA_RANGE, FATAL, +/* xgettext:no-c-format */ "Array or substring specification for `%A' out of range in statement at %0") FFEBAD_MSG (FFEBAD_DATA_SUBSCRIPT, FATAL, +/* xgettext:no-c-format */ "Array subscript #%B out of range for initialization of `%A' in statement at %0") FFEBAD_MSG (FFEBAD_DATA_ZERO, FATAL, +/* xgettext:no-c-format */ "Implied do-loop step count of 0 (zero) for iteration variable `%A' in statement at %0") FFEBAD_MSG (FFEBAD_DATA_EMPTY, FATAL, +/* xgettext:no-c-format */ "Implied do-loop iteration count of 0 (zero) for iteration variable `%A' in statement at %0") FFEBAD_MSG (FFEBAD_DATA_EVAL, FATAL, +/* xgettext:no-c-format */ "Not an integer constant expression in implied do-loop in statement at %0") FFEBAD_MSG (FFEBAD_DATA_MULTIPLE, FATAL, +/* xgettext:no-c-format */ "Attempt to specify second initial value for element of `%A' at %0") FFEBAD_MSG (FFEBAD_EQUIV_COMMON, FATAL, +/* xgettext:no-c-format */ "Attempt to EQUIVALENCE common areas `%A' and `%B' at %0") FFEBAD_MSG (FFEBAD_EQUIV_ALIGN, FATAL, +/* xgettext:no-c-format */ "Can't place `%A' as directed by EQUIVALENCE due to alignment restrictions") FFEBAD_MSG (FFEBAD_EQUIV_MISMATCH, FATAL, +/* xgettext:no-c-format */ "Mismatched EQUIVALENCE requirements for placement of `%A' at both %C and %D bytes offset from `%B'") FFEBAD_MSG (FFEBAD_EQUIV_RANGE, FATAL, +/* xgettext:no-c-format */ "Array or substring specification for `%A' out of range in EQUIVALENCE statement") FFEBAD_MSG (FFEBAD_EQUIV_SUBSTR, FATAL, +/* xgettext:no-c-format */ "Substring of non-CHARACTER entity `%A' in EQUIVALENCE statement") FFEBAD_MSG (FFEBAD_EQUIV_ARRAY, FATAL, +/* xgettext:no-c-format */ "Array reference to scalar variable `%A' in EQUIVALENCE statement") FFEBAD_MSG (FFEBAD_EQUIV_SUBSCRIPT, WARN, +/* xgettext:no-c-format */ "Array subscript #%B out of range for EQUIVALENCE of `%A'") FFEBAD_MSG (FFEBAD_COMMON_PAD, WARN, +/* xgettext:no-c-format */ LONG("Padding of %A %D required before `%B' in common block `%C' at %0 -- consider reordering members, largest-type-size first") +/* xgettext:no-c-format */ SHORT("Padding of %A %D required before `%B' in common block `%C' at %0")) FFEBAD_MSG (FFEBAD_COMMON_NEG, FATAL, +/* xgettext:no-c-format */ "Attempt to extend COMMON area beyond its starting point via EQUIVALENCE of `%A'") FFEBAD_MSG (FFEBAD_EQUIV_FEW, FATAL, +/* xgettext:no-c-format */ "Too few elements in reference to array `%A' in EQUIVALENCE statement") FFEBAD_MSG (FFEBAD_EQUIV_MANY, FATAL, +/* xgettext:no-c-format */ "Too many elements in reference to array `%A' in EQUIVALENCE statement") FFEBAD_MSG (FFEBAD_MIXED_TYPES, WARN, +/* xgettext:no-c-format */ "Mixed CHARACTER and non-CHARACTER types via COMMON/EQUIVALENCE -- for example, `%A' and `%B'") FFEBAD_MSG (FFEBAD_IMPLICIT_ADJLEN, FATAL, +/* xgettext:no-c-format */ LONG("Invalid length specification at %0 for IMPLICIT statement -- must be integer constant expression") +/* xgettext:no-c-format */ SHORT("Invalid length specification at %0")) FFEBAD_MSG (FFEBAD_ENTRY_CONFLICTS, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Type of ENTRY point at %0 to function conflicts with type(s) of previous entrypoint(s)")) FFEBAD_MSG (FFEBAD_RETURN_VALUE_UNSET, WARN, +/* xgettext:no-c-format */ "Return value `%A' for FUNCTION at %0 not referenced in subprogram") FFEBAD_MSG (FFEBAD_COMMON_ALREADY_INIT, FATAL, +/* xgettext:no-c-format */ LONG("Common block `%A' initialized at %0 already initialized at %1 -- only one program unit may specify initial values for a particular common block") +/* xgettext:no-c-format */ SHORT("Common block `%A' initialized at %0 already initialized at %1")) FFEBAD_MSG (FFEBAD_COMMON_INIT_PAD, WARN, +/* xgettext:no-c-format */ LONG("Initial padding for common block `%A' is %B %C at %0 -- consider reordering members, largest-type-size first") +/* xgettext:no-c-format */ SHORT("Initial padding for common block `%A' is %B %C at %0")) FFEBAD_MSG (FFEBAD_COMMON_DIFF_PAD, FATAL, +/* xgettext:no-c-format */ LONG("Initial padding for common block `%A' is %B %D at %0 but %C %E at %1 -- consider reordering members, largest-type-size first") +/* xgettext:no-c-format */ SHORT("Initial padding for common block `%A' is %B %D at %0 but %C %E at %1")) FFEBAD_MSG (FFEBAD_COMMON_DIFF_SAVE, WARN, +/* xgettext:no-c-format */ "Common block `%A' is SAVEd, explicitly or implicitly, at %0 but not SAVEd at %1") FFEBAD_MSG (FFEBAD_COMMON_DIFF_SIZE, WARN, +/* xgettext:no-c-format */ "Common block `%A' is %B %D in length at %0 but %C %E at %1") FFEBAD_MSG (FFEBAD_COMMON_ENLARGED, FATAL, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ 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, +/* xgettext:no-c-format */ "Blank common initialized at %0") FFEBAD_MSG (FFEBAD_NEED_INTRINSIC, WARN, +/* xgettext:no-c-format */ "Intrinsic `%A' is passed as actual argument at %0 but not explicitly declared INTRINSIC") FFEBAD_MSG (FFEBAD_NEED_EXTERNAL, WARN, +/* xgettext:no-c-format */ "External procedure `%A' is passed as actual argument at %0 but not explicitly declared EXTERNAL") FFEBAD_MSG (FFEBAD_SYMBOL_UPPER_CASE, WARN, +/* xgettext:no-c-format */ "Character `%A' (for example) is upper-case in symbol name at %0") FFEBAD_MSG (FFEBAD_SYMBOL_LOWER_CASE, WARN, +/* xgettext:no-c-format */ "Character `%A' (for example) is lower-case in symbol name at %0") FFEBAD_MSG (FFEBAD_SYMBOL_NOLOWER_INITCAP, WARN, +/* xgettext:no-c-format */ "Character `%A' not followed at some point by lower-case character in symbol name at %0") FFEBAD_MSG (FFEBAD_SYMBOL_LOWER_INITCAP, WARN, +/* xgettext:no-c-format */ "Initial character `%A' is lower-case in symbol name at %0") FFEBAD_MSG (FFEBAD_DO_REAL, WARN, +/* xgettext:no-c-format */ LONG("DO-variable `%A' is type REAL or DOUBLE PRECISION at %0 -- unexpected behavior likely") +/* xgettext:no-c-format */ SHORT("DO-variable `%A' is type REAL or DOUBLE PRECISION at %0")) FFEBAD_MSG (FFEBAD_NAMELIST_CASE, WARN, +/* xgettext:no-c-format */ "NAMELIST not adequately supported by run-time library for source files with case preserved") FFEBAD_MSG (FFEBAD_NESTED_PERCENT, WARN, +/* xgettext:no-c-format */ "Nested %% construct (%%VAL, %%REF, or %%DESCR) at %0") FFEBAD_MSG (FFEBAD_ACTUALARG, WARN, +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ SHORT("Invalid actual argument at %0")) FFEBAD_MSG (FFEBAD_QUAD_UNSUPPORTED, FATAL, +/* xgettext:no-c-format */ LONG("Quadruple-precision floating-point unsupported -- treating constant at %0 as double-precision") +/* xgettext:no-c-format */ 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") +/* xgettext:no-c-format */ +LONG("Initialization of large (%B-unit) aggregate area `%A' at %0 slow and takes lots of memory during g77 compile") +/* xgettext:no-c-format */ SHORT("This could take a while (initializing `%A' at %0)...")) FFEBAD_MSG (FFEBAD_BLOCKDATA_STMT, FATAL, +/* xgettext:no-c-format */ "Statement at %0 invalid in BLOCK DATA program unit at %1") FFEBAD_MSG (FFEBAD_TRUNCATING_CHARACTER, FATAL, +/* xgettext:no-c-format */ "Truncating characters on right side of character constant at %0") FFEBAD_MSG (FFEBAD_TRUNCATING_HOLLERITH, FATAL, +/* xgettext:no-c-format */ "Truncating characters on right side of hollerith constant at %0") FFEBAD_MSG (FFEBAD_TRUNCATING_NUMERIC, FATAL, +/* xgettext:no-c-format */ "Truncating non-zero data on left side of numeric constant at %0") FFEBAD_MSG (FFEBAD_TRUNCATING_TYPELESS, FATAL, +/* xgettext:no-c-format */ "Truncating non-zero data on left side of typeless constant at %0") FFEBAD_MSG (FFEBAD_TYPELESS_OVERFLOW, FATAL, +/* xgettext:no-c-format */ "Typeless constant at %0 too large") FFEBAD_MSG (FFEBAD_AMPERSAND, WARN, +/* xgettext:no-c-format */ "First-column ampersand continuation at %0") FFEBAD_MSG (FFEBAD_FILEWIDE_ALREADY_SEEN, FATAL, +/* xgettext:no-c-format */ "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_ALREADY_SEEN_W, WARN, +/* xgettext:no-c-format */ "Global name `%A' defined at %0 already defined at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_DISAGREEMENT, FATAL, +/* xgettext:no-c-format */ "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_DISAGREEMENT_W, WARN, +/* xgettext:no-c-format */ "Global name `%A' is %B at %0 but is %C at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_TYPE_MISMATCH, FATAL, +/* xgettext:no-c-format */ "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_TYPE_MISMATCH_W, WARN, +/* xgettext:no-c-format */ "Global name `%A' at %0 has different type at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_NARGS, FATAL, +/* xgettext:no-c-format */ "Too %B arguments passed to `%A' at %0 versus definition at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_NARGS_W, WARN, +/* xgettext:no-c-format */ "Too %B arguments for `%A' at %0 versus invocation at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_FILEWIDE_ARG, FATAL, +/* xgettext:no-c-format */ "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, +/* xgettext:no-c-format */ "Argument #%B of `%A' is %C at %0 but is %D at %1 [info -f g77 M GLOBALS]") FFEBAD_MSG (FFEBAD_ARRAY_LARGE, FATAL, +/* xgettext:no-c-format */ "Array `%A' at %0 is too large to handle") FFEBAD_MSG (FFEBAD_SFUNC_UNUSED, WARN, +/* xgettext:no-c-format */ "Statement function `%A' defined at %0 is not used") FFEBAD_MSG (FFEBAD_INTRINSIC_Y2KBAD, WARN, +/* xgettext:no-c-format */ "Intrinsic `%A', invoked at %0, known to be non-Y2K-compliant [info -f g77 M Y2KBAD]") FFEBAD_MSG (FFEBAD_NOCANDO, DISASTER, +/* xgettext:no-c-format */ "Internal compiler error -- cannot perform operation") #undef INFORM diff --git a/contrib/gcc/f/bugs.texi b/contrib/gcc/f/bugs.texi index 382ed08..dd50190 100644 --- a/contrib/gcc/f/bugs.texi +++ b/contrib/gcc/f/bugs.texi @@ -7,9 +7,9 @@ @c Keep this the same as the dates above, since it's used @c in the standalone derivations of this file (e.g. BUGS). -@set copyrights-bugs 1995,1996,1997,1998,1999,2000,2001 +@set copyrights-bugs 1995,1996,1997,1998,1999,2000,2001,2002 -@set last-update-bugs 2001-06-10 +@set last-update-bugs 2002-02-01 @include root.texi @@ -120,8 +120,6 @@ configuration that it no longer makes regarding variables (types). Included with this item is the fact that @code{g77} doesn't recognize that, on IEEE-754/854-compliant systems, @samp{0./0.} should produce a NaN and no warning instead of the value @samp{0.} and a warning. -This is to be fixed in version 0.6, when @code{g77} will use the -@code{gcc} back end's constant-handling mechanisms to replace its own. @cindex compiler speed @cindex speed, of compiler @@ -138,7 +136,6 @@ areas having any initialized elements. For example, @samp{REAL A(1000000)} followed by @samp{DATA A(1)/1/} takes up way too much time and space, including the size of the generated assembler file. -This is to be mitigated somewhat in version 0.6. Version 0.5.18 improves cases like this---specifically, cases of @emph{sparse} initialization that leave large, contiguous @@ -232,8 +229,6 @@ working together properly sooner. such as the Digital Semiconductor (``DEC'') Alpha. This problem is largely resolved as of version 0.5.23. -Version 0.6 should solve most or all remaining problems -(such as cross-compiling involving 64-bit machines). @cindex padding @cindex structures diff --git a/contrib/gcc/f/com.c b/contrib/gcc/f/com.c index 979d735..a915139 100644 --- a/contrib/gcc/f/com.c +++ b/contrib/gcc/f/com.c @@ -1,5 +1,5 @@ /* com.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 + Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. @@ -2262,8 +2262,13 @@ ffecom_check_size_overflow_ (ffesymbol s, tree type, bool dummy) if (TREE_CODE (TYPE_SIZE (type)) != INTEGER_CST) return type; + /* An array is too large if size is negative or the type_size overflows + or its "upper half" is larger than 3 (which would make the signed + byte size and offset computations overflow). */ + if ((tree_int_cst_sgn (TYPE_SIZE (type)) < 0) - || (!dummy && TREE_OVERFLOW (TYPE_SIZE (type)))) + || (!dummy && (TREE_INT_CST_HIGH (TYPE_SIZE (type)) > 3 + || TREE_OVERFLOW (TYPE_SIZE (type))))) { ffebad_start (FFEBAD_ARRAY_LARGE); ffebad_string (ffesymbol_text (s)); @@ -3113,6 +3118,7 @@ ffecom_expr_ (ffebld expr, tree dest_tree, ffebld dest, if (ffesymbol_hook (s).assign_tree == NULL_TREE) { + /* xgettext:no-c-format */ ffebad_start_msg ("ASSIGN'ed label cannot fit into `%A' at %0 -- using wider sibling", FFEBAD_severityWARNING); ffebad_string (ffesymbol_text (s)); @@ -3729,6 +3735,10 @@ ffecom_expr_ (ffebld expr, tree dest_tree, ffebld dest, item = ffecom_arg_ptr_to_expr (ffebld_left (expr), &list); return convert (tree_type, item); + case FFEBLD_opPERCENT_VAL: + item = ffecom_arg_expr (ffebld_left (expr), &list); + return convert (tree_type, item); + case FFEBLD_opITEM: case FFEBLD_opSTAR: case FFEBLD_opBOUNDS: @@ -5585,7 +5595,7 @@ ffecom_expr_power_integer_ (ffebld expr) basetypeof_l_is_int = build_int_2 ((TREE_CODE (ltype) == INTEGER_TYPE), 0); - se = expand_start_stmt_expr (); + se = expand_start_stmt_expr (/*has_scope=*/1); ffecom_start_compstmt (); @@ -11823,8 +11833,7 @@ ffecom_init_0 () warning ("and pointers are %d bits wide, but g77 doesn't yet work", (int) TREE_INT_CST_LOW (TYPE_SIZE (TREE_TYPE (null_pointer_node)))); warning ("properly unless they all are 32 bits wide"); - warning ("Please keep this in mind before you report bugs. g77 should"); - warning ("support non-32-bit machines better as of version 0.6"); + warning ("Please keep this in mind before you report bugs."); } #endif @@ -15373,6 +15382,7 @@ print_containing_files (ffebadSeverity sev) else str2 = ""; + /* xgettext:no-c-format */ ffebad_start_msg ("%A from %B at %0%C", sev); ffebad_here (0, ip->line, ip->column); ffebad_string (str1); @@ -15692,6 +15702,7 @@ ffecom_open_include_ (char *name, ffewhereLine l, ffewhereColumn c) if (f == NULL && errno == EACCES) { print_containing_files (FFEBAD_severityWARNING); + /* xgettext:no-c-format */ ffebad_start_msg ("At %0, INCLUDE file %A exists, but is not readable", FFEBAD_severityWARNING); ffebad_string (fname); @@ -15726,6 +15737,7 @@ ffecom_open_include_ (char *name, ffewhereLine l, ffewhereColumn c) if (indepth >= (INPUT_STACK_MAX - 1)) { print_containing_files (FFEBAD_severityFATAL); + /* xgettext:no-c-format */ ffebad_start_msg ("At %0, INCLUDE nesting too deep", FFEBAD_severityFATAL); ffebad_string (fname); diff --git a/contrib/gcc/f/data.c b/contrib/gcc/f/data.c index 51eb2b7..3e1ae62 100644 --- a/contrib/gcc/f/data.c +++ b/contrib/gcc/f/data.c @@ -1,5 +1,5 @@ /* data.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -977,6 +977,9 @@ ffedata_eval_offset_ (ffebld subscripts, ffebld dims) while (subscripts != NULL) { + ffeinfoKindtype sub_kind, low_kind, hi_kind; + ffebld sub1, low1, hi1; + ++rank; assert (dims != NULL); @@ -984,8 +987,19 @@ ffedata_eval_offset_ (ffebld subscripts, ffebld dims) dim = ffebld_head (dims); assert (ffeinfo_basictype (ffebld_info (subscript)) == FFEINFO_basictypeINTEGER); - assert (ffeinfo_kindtype (ffebld_info (subscript)) == FFEINFO_kindtypeINTEGER1); - value = ffedata_eval_integer1_ (subscript); + if (ffebld_op (subscript) == FFEBLD_opCONTER) + { + /* Force to default - it's a constant expression ! */ + sub_kind = ffeinfo_kindtype (ffebld_info (subscript)); + sub1 = ffebld_new_conter_with_orig (ffebld_constant_new_integer1_val ( + sub_kind == FFEINFO_kindtypeINTEGER2 ? subscript->u.conter.expr->u.integer2 : + sub_kind == FFEINFO_kindtypeINTEGER3 ? subscript->u.conter.expr->u.integer3 : + sub_kind == FFEINFO_kindtypeINTEGER4 ? subscript->u.conter.expr->u.integer4 : + subscript->u.conter.expr->u.integer1), NULL); + value = ffedata_eval_integer1_ (sub1); + } + else + value = ffedata_eval_integer1_ (subscript); assert (ffebld_op (dim) == FFEBLD_opBOUNDS); low = ffebld_left (dim); @@ -996,13 +1010,35 @@ ffedata_eval_offset_ (ffebld subscripts, ffebld dims) else { assert (ffeinfo_basictype (ffebld_info (low)) == FFEINFO_basictypeINTEGER); - assert (ffeinfo_kindtype (ffebld_info (low)) == FFEINFO_kindtypeINTEGERDEFAULT); - lowbound = ffedata_eval_integer1_ (low); + if (ffebld_op (low) == FFEBLD_opCONTER) + { + /* Force to default - it's a constant expression ! */ + low_kind = ffeinfo_kindtype (ffebld_info (low)); + low1 = ffebld_new_conter_with_orig (ffebld_constant_new_integer1_val ( + low_kind == FFEINFO_kindtypeINTEGER2 ? low->u.conter.expr->u.integer2 : + low_kind == FFEINFO_kindtypeINTEGER3 ? low->u.conter.expr->u.integer3 : + low_kind == FFEINFO_kindtypeINTEGER4 ? low->u.conter.expr->u.integer4 : + low->u.conter.expr->u.integer1), NULL); + lowbound = ffedata_eval_integer1_ (low1); + } + else + lowbound = ffedata_eval_integer1_ (low); } assert (ffeinfo_basictype (ffebld_info (high)) == FFEINFO_basictypeINTEGER); - assert (ffeinfo_kindtype (ffebld_info (high)) == FFEINFO_kindtypeINTEGERDEFAULT); - highbound = ffedata_eval_integer1_ (high); + if (ffebld_op (high) == FFEBLD_opCONTER) + { + /* Force to default - it's a constant expression ! */ + hi_kind = ffeinfo_kindtype (ffebld_info (high)); + hi1 = ffebld_new_conter_with_orig (ffebld_constant_new_integer1_val ( + hi_kind == FFEINFO_kindtypeINTEGER2 ? high->u.conter.expr->u.integer2 : + hi_kind == FFEINFO_kindtypeINTEGER3 ? high->u.conter.expr->u.integer3 : + hi_kind == FFEINFO_kindtypeINTEGER4 ? high->u.conter.expr->u.integer4 : + high->u.conter.expr->u.integer1), NULL); + highbound = ffedata_eval_integer1_ (hi1); + } + else + highbound = ffedata_eval_integer1_ (high); if ((value < lowbound) || (value > highbound)) { diff --git a/contrib/gcc/f/expr.c b/contrib/gcc/f/expr.c index d873018..1772727 100644 --- a/contrib/gcc/f/expr.c +++ b/contrib/gcc/f/expr.c @@ -1,5 +1,6 @@ /* expr.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 + Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -9608,6 +9609,7 @@ ffeexpr_exprstack_push_unary_ (ffeexprExpr_ e) <= FFEEXPR_operatorprecedenceLOWARITH_) && (e->u.operator.prec <= FFEEXPR_operatorprecedenceLOWARITH_)) { + /* xgettext:no-c-format */ ffebad_start_msg ("Two arithmetic operators in a row at %0 and %1 -- use parentheses", ffe_is_pedantic () ? FFEBAD_severityPEDANTIC @@ -9657,6 +9659,7 @@ ffeexpr_exprstack_push_binary_ (ffeexprExpr_ e) && (e->u.operator.prec < ffeexpr_stack_->exprstack->previous->u.operator.prec)) { + /* xgettext:no-c-format */ ffebad_start_msg ("Operator at %0 has lower precedence than that at %1 -- use parentheses", FFEBAD_severityWARNING); ffebad_here (0, ffelex_token_where_line (ffeexpr_stack_->exprstack->previous->token), @@ -10517,6 +10520,7 @@ ffeexpr_reduced_eqop2_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, if ((lbt == FFEINFO_basictypeLOGICAL) && (rbt == FFEINFO_basictypeLOGICAL)) { + /* xgettext:no-c-format */ if (ffebad_start_msg ("Use .EQV./.NEQV. instead of .EQ./.NE. at %0 for LOGICAL operands at %1 and %2", FFEBAD_severityFATAL)) { @@ -10887,6 +10891,7 @@ ffeexpr_reduced_power_ (ffebld reduced, ffeexprExpr_ l, ffeexprExpr_ op, } if (rkt == FFEINFO_kindtypeINTEGER4) { + /* xgettext:no-c-format */ ffebad_start_msg ("Unsupported operand for ** at %1 -- converting to default INTEGER", FFEBAD_severityWARNING); ffebad_here (0, ffelex_token_where_line (r->token), ffelex_token_where_column (r->token)); @@ -16489,10 +16494,8 @@ ffeexpr_sym_impdoitem_ (ffesymbol sp, ffelexToken t) FFETARGET_charactersizeNONE)); ffesymbol_signal_unreported (s); - if (((ffesymbol_basictype (sp) != FFEINFO_basictypeINTEGER) + if ((ffesymbol_basictype (sp) != FFEINFO_basictypeINTEGER) && (ffesymbol_basictype (sp) != FFEINFO_basictypeANY)) - || ((ffesymbol_kindtype (sp) != FFEINFO_kindtypeINTEGERDEFAULT) - && (ffesymbol_kindtype (sp) != FFEINFO_kindtypeANY))) ffesymbol_error (s, t); return s; diff --git a/contrib/gcc/f/ffe.texi b/contrib/gcc/f/ffe.texi index 8e019fa..b6fbac9 100644 --- a/contrib/gcc/f/ffe.texi +++ b/contrib/gcc/f/ffe.texi @@ -11,10 +11,6 @@ This chapter describes some aspects of the design and implementation of the @code{g77} front end. -Much of the information below applies not to current -releases of @code{g77}, -but to the 0.6 rewrite being designed and implemented -as of late May, 1999. To find about things that are ``To Be Determined'' or ``To Be Done'', search for the string TBD. @@ -589,11 +585,6 @@ Preserving case seems necessary to provide more direct access to facilities outside of @code{g77}, such as to C or Pascal code. Names of intrinsics will probably be matchable in any case, -However, there probably won't be any option to require -a particular mixed-case appearance of intrinsics -(as there was for @code{g77} prior to version 0.6), -because that's painful to maintain, -and probably nobody uses it. (How @samp{external SiN; r = sin(x)} would be handled is TBD. I think old @code{g77} might already handle that pretty elegantly, diff --git a/contrib/gcc/f/g77.texi b/contrib/gcc/f/g77.texi index 38512cf..82c5574 100644 --- a/contrib/gcc/f/g77.texi +++ b/contrib/gcc/f/g77.texi @@ -2,8 +2,8 @@ @c %**start of header @setfilename g77.info -@set last-update 2001-11-20 -@set copyrights-g77 1995,1996,1997,1998,1999,2000,2001 +@set last-update 2002-04-29 +@set copyrights-g77 1995,1996,1997,1998,1999,2000,2001,2002 @include root.texi @@ -161,7 +161,7 @@ was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}). @sp 3 @center Last updated @value{last-update} @sp 1 -@center for version @value{version-g77} +@center for version @value{which-g77} @page @vskip 0pt plus 1filll Copyright @copyright{} @value{copyrights-g77} Free Software Foundation, Inc. @@ -359,8 +359,7 @@ for @code{INTEGER*1}, @code{INTEGER*2}, and @code{LOGICAL*1}. This inspired Craig to add further support, even though the resulting support -would still be incomplete, because version 0.6 is still -a ways off. +would still be incomplete. @item David Ronis (@email{ronis@@onsager.chem.mcgill.ca}) inspired @@ -425,10 +424,6 @@ Email @email{gnu@@gnu.org} for information on funding the FSF. Another important way to support work on GNU Fortran is to volunteer to help out. -Work is needed on documentation, testing, porting -to various machines, and in some cases, coding (although major -changes planned for version 0.6 make it difficult to add manpower to this -area). Email @email{@value{email-general}} to volunteer for this work. @@ -846,7 +841,7 @@ files and accepts Fortran-specific command-line options, plus some command-line options that are designed to cater to Fortran users but apply to other languages as well. -@xref{G++ and GCC,,Compile C; C++; Objective-C; Ada; CHILL; Fortran; +@xref{G++ and GCC,,Compile C; C++; Objective-C; Ada; Fortran; or Java,gcc,Using the GNU Compiler Collection (GCC)}, for information on the way different languages are handled by the GNU CC compiler (@command{gcc}). @@ -3561,10 +3556,7 @@ implementation choices made for the compiler, since those choices are explicitly left to the implementation by the published Fortran standards. GNU Fortran currently tries to be somewhat like a few popular compilers -(@command{f2c}, Digital (``DEC'') Fortran, and so on), though a cleaner default -definition along with more -flexibility offered by command-line options is likely to be offered -in version 0.6. +(@command{f2c}, Digital (``DEC'') Fortran, and so on). This section describes how @command{g77} interprets source lines. @@ -3605,20 +3597,6 @@ than (currently) noting whether a tab was found on a line and using this information to decide how to interpret the length of the line and continued constants. -Note that this default behavior probably will change for version 0.6, -when it will presumably be available via a command-line option. -The default as of version 0.6 is planned to be a ``pure visual'' -model, where tabs are immediately -converted to spaces and otherwise have no effect, so the way a typical -user sees source lines produces a consistent result no matter how the -spacing in those source lines is actually implemented via tabs, spaces, -and trailing tabs/spaces before newline. -Command-line options are likely to be added to specify whether all or -just-tabbed lines are to be extended to 132 or full input-line length, -and perhaps even an option will be added to specify the truncated-line -behavior to which some Digital compilers default (and which affects -the way continued character/Hollerith constants are interpreted). - @node Short Lines @subsection Short Lines @cindex short source lines @@ -8879,8 +8857,6 @@ to fund a comprehensive project to create GNU Fortran 95. @cindex statements, PARAMETER @command{g77} doesn't allow intrinsics in @code{PARAMETER} statements. -This feature is considered to be absolutely vital, even though it -is not standard-conforming, and is scheduled for version 0.6. Related to this, @command{g77} doesn't allow non-integral exponentiation in @code{PARAMETER} statements, such as @@ -8984,8 +8960,6 @@ alleviate this problem). @command{g77} doesn't fully support @code{INTEGER*2}, @code{LOGICAL*1}, and similar. -Version 0.6 will provide full support for this very -popular set of features. In the meantime, version 0.5.18 provides rudimentary support for them. @@ -9004,7 +8978,6 @@ support (using F90 syntax) as well, and, for most machines will result in automatic support of @code{INTEGER*1}, @code{INTEGER*2}, @code{INTEGER*8}, maybe even @code{REAL*16}, and so on. -This is scheduled for version 0.6. @node Array Bounds Expressions @subsection Array Bounds Expressions @@ -9615,8 +9588,6 @@ item pointed to won't be modified Probably the best solution for now, but not quite trivial to implement in the general case. -Worth considering after @command{g77} 0.6 is considered -pretty solid. @end itemize @node Gracefully Handle Sensible Bad Code @@ -10467,24 +10438,6 @@ useful warnings). @emph{Note:} Currently, the text of the line and a pointer to the column is printed in most @command{g77} diagnostics. -Probably, as of version 0.6, @command{g77} will -no longer print the text of the source line, instead printing -the column number following the file name and line number in -a form that GNU Emacs recognizes. -This change is expected to speed up and reduce the memory usage -of the @command{g77} compiler. -@c -@c Say this when it is true -- hopefully 0.6, maybe 0.7 or later. --burley -@c -@c GNU Fortran always tries to compile your program if possible; it never -@c gratuitously rejects a program whose meaning is clear merely because -@c (for instance) it fails to conform to a standard. In some cases, -@c however, the Fortran standard specifies that certain extensions are -@c forbidden, and a diagnostic @emph{must} be issued by a conforming -@c compiler. The @option{-pedantic} option tells GNU Fortran to issue warnings -@c in such cases; @option{-pedantic-errors} says to make them errors instead. -@c This does not mean that @emph{all} non-ANSI constructs get warnings -@c or errors. @xref{Warning Options,,Options to Request or Suppress Warnings}, for more detail on these and related command-line options. @@ -11551,8 +11504,6 @@ libraries are installed) after building. @section Internals Documentation Better info on how @command{g77} works and how to port it is needed. -Much of this should be done only after the redesign planned for -0.6 is complete. @xref{Front End}, which contains some information on @command{g77} internals. diff --git a/contrib/gcc/f/implic.c b/contrib/gcc/f/implic.c index 625742f..6fe4606 100644 --- a/contrib/gcc/f/implic.c +++ b/contrib/gcc/f/implic.c @@ -1,5 +1,5 @@ /* implic.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995 Free Software Foundation, Inc. + Copyright (C) 1995, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -199,6 +199,7 @@ ffeimplic_establish_symbol (ffesymbol s) if (ffe_is_warn_implicit ()) { + /* xgettext:no-c-format */ ffebad_start_msg ("Implicit declaration of `%A' at %0", FFEBAD_severityWARNING); ffebad_here (0, ffesymbol_where_line (s), diff --git a/contrib/gcc/f/intdoc.c b/contrib/gcc/f/intdoc.c index 84720a3..fb88e88 100644 --- a/contrib/gcc/f/intdoc.c +++ b/contrib/gcc/f/intdoc.c @@ -709,6 +709,10 @@ types of all the arguments.\n\n"); argument_name_string (imp, 0)); break; + case 'N': + printf ("@code{INTEGER} not wider than the default kind"); + break; + default: assert ("Ia" == NULL); break; @@ -732,6 +736,10 @@ types of all the arguments.\n\n"); argument_name_string (imp, 0)); break; + case 'N': + printf ("@code{LOGICAL} not wider than the default kind"); + break; + default: assert ("La" == NULL); break; @@ -779,6 +787,10 @@ types of all the arguments.\n\n"); argument_name_string (imp, 0)); break; + case 'N': + printf ("@code{INTEGER} or @code{LOGICAL} not wider than the default kind"); + break; + default: assert ("Ba" == NULL); break; diff --git a/contrib/gcc/f/intdoc.texi b/contrib/gcc/f/intdoc.texi index 6165e44..e829b35 100644 --- a/contrib/gcc/f/intdoc.texi +++ b/contrib/gcc/f/intdoc.texi @@ -1673,7 +1673,7 @@ BesJN(@var{N}, @var{X}) BesJN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}. @noindent -@var{N}: @code{INTEGER}; scalar; INTENT(IN). +@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN). @noindent @var{X}: @code{REAL}; scalar; INTENT(IN). @@ -1748,7 +1748,7 @@ BesYN(@var{N}, @var{X}) BesYN: @code{REAL} function, the @samp{KIND=} value of the type being that of argument @var{X}. @noindent -@var{N}: @code{INTEGER}; scalar; INTENT(IN). +@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN). @noindent @var{X}: @code{REAL}; scalar; INTENT(IN). @@ -3113,7 +3113,7 @@ DbesJN(@var{N}, @var{X}) DbesJN: @code{REAL(KIND=2)} function. @noindent -@var{N}: @code{INTEGER}; scalar; INTENT(IN). +@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN). @noindent @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN). @@ -3194,7 +3194,7 @@ DbesYN(@var{N}, @var{X}) DbesYN: @code{REAL(KIND=2)} function. @noindent -@var{N}: @code{INTEGER}; scalar; INTENT(IN). +@var{N}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN). @noindent @var{X}: @code{REAL(KIND=2)}; scalar; INTENT(IN). @@ -4385,7 +4385,7 @@ CALL Exit(@var{Status}) @end example @noindent -@var{Status}: @code{INTEGER}; OPTIONAL; scalar; INTENT(IN). +@var{Status}: @code{INTEGER} not wider than the default kind; OPTIONAL; scalar; INTENT(IN). @noindent Intrinsic groups: @code{unix}. @@ -5249,7 +5249,7 @@ CALL GetArg(@var{Pos}, @var{Value}) @end example @noindent -@var{Pos}: @code{INTEGER}; scalar; INTENT(IN). +@var{Pos}: @code{INTEGER} not wider than the default kind; scalar; INTENT(IN). @noindent @var{Value}: @code{CHARACTER}; scalar; INTENT(OUT). diff --git a/contrib/gcc/f/intrin.c b/contrib/gcc/f/intrin.c index 83a478c..1c6c00c 100644 --- a/contrib/gcc/f/intrin.c +++ b/contrib/gcc/f/intrin.c @@ -414,6 +414,24 @@ ffeintrin_check_ (ffeintrinImp imp, ffebldOp op, : firstarg_kt; break; + case 'N': + /* Accept integers and logicals not wider than the default integer/logical. */ + if (ffeinfo_basictype (i) == FFEINFO_basictypeINTEGER) + { + okay &= anynum || (ffeinfo_kindtype (i) == FFEINFO_kindtypeINTEGER1 + || ffeinfo_kindtype (i) == FFEINFO_kindtypeINTEGER2 + || ffeinfo_kindtype (i) == FFEINFO_kindtypeINTEGER3); + akt = FFEINFO_kindtypeINTEGER1; /* The default. */ + } + else if (ffeinfo_basictype (i) == FFEINFO_basictypeLOGICAL) + { + okay &= anynum || (ffeinfo_kindtype (i) == FFEINFO_kindtypeLOGICAL1 + || ffeinfo_kindtype (i) == FFEINFO_kindtypeLOGICAL2 + || ffeinfo_kindtype (i) == FFEINFO_kindtypeLOGICAL3); + akt = FFEINFO_kindtypeLOGICAL1; /* The default. */ + } + break; + case '*': default: break; diff --git a/contrib/gcc/f/intrin.def b/contrib/gcc/f/intrin.def index 9451a27..5d712ba 100644 --- a/contrib/gcc/f/intrin.def +++ b/contrib/gcc/f/intrin.def @@ -3102,6 +3102,7 @@ DEFSPEC (NONE, 4 (Twice the size of 2) 6 (Twice the size as 3) A Same as first argument + N Not wider than the default kind <arg-len> is: @@ -3218,10 +3219,10 @@ DEFIMP (ALARM, "ALARM", ALARM,,, "--:-:Seconds=I*,Handler=s*,Status=?I1w") DEFIMP (AND, "AND", ,,, "B=:*:I=B*,J=B*") DEFIMP (BESJ0, "BESJ0", L_BESJ0,,, "R=:0:X=R*") DEFIMP (BESJ1, "BESJ1", L_BESJ1,,, "R=:0:X=R*") -DEFIMP (BESJN, "BESJN", L_BESJN,,, "R=:1:N=I*,X=R*") +DEFIMP (BESJN, "BESJN", L_BESJN,,, "R=:1:N=IN,X=R*") DEFIMP (BESY0, "BESY0", L_BESY0,,, "R=:0:X=R*") DEFIMP (BESY1, "BESY1", L_BESY1,,, "R=:0:X=R*") -DEFIMP (BESYN, "BESYN", L_BESYN,,, "R=:1:N=I*,X=R*") +DEFIMP (BESYN, "BESYN", L_BESYN,,, "R=:1:N=IN,X=R*") DEFIMP (BIT_SIZE, "BIT_SIZE", ,,, "I=:0:I=I*i") DEFIMP (BTEST, "BTEST", ,,, "L1:*:I=I*,Pos=I*") DEFIMP (CDABS, "CDABS", ,CDABS,, "R2:-:A=C2") @@ -3242,10 +3243,10 @@ DEFIMPY (DATE, "DATE", DATE,,, "--:-:Date=A1w", TRUE) DEFIMP (DATE_AND_TIME, "DATE_AND_TIME", DATE_AND_TIME,,, "--:-:Date=A1w,Time=?A1w,Zone=?A1w,Values=?I1(8)w") DEFIMP (DBESJ0, "DBESJ0", L_BESJ0,,, "R2:-:X=R2") DEFIMP (DBESJ1, "DBESJ1", L_BESJ1,,, "R2:-:X=R2") -DEFIMP (DBESJN, "DBESJN", L_BESJN,,, "R2:-:N=I*,X=R2") +DEFIMP (DBESJN, "DBESJN", L_BESJN,,, "R2:-:N=IN,X=R2") DEFIMP (DBESY0, "DBESY0", L_BESY0,,, "R2:-:X=R2") DEFIMP (DBESY1, "DBESY1", L_BESY1,,, "R2:-:X=R2") -DEFIMP (DBESYN, "DBESYN", L_BESYN,,, "R2:-:N=I*,X=R2") +DEFIMP (DBESYN, "DBESYN", L_BESYN,,, "R2:-:N=IN,X=R2") DEFIMP (DCONJG, "DCONJG", ,DCONJG,, "C2:-:Z=C2") DEFIMP (DERF, "DERF", L_ERF,DERF,, "R2:-:X=R2") DEFIMP (DERFC, "DERFC", L_ERFC,DERFC,, "R2:-:X=R2") @@ -3258,7 +3259,7 @@ DEFIMP (ERF, "ERF", L_ERF,ERF,, "R=:0:X=R*") DEFIMP (ERFC, "ERFC", L_ERFC,ERFC,, "R=:0:X=R*") DEFIMP (ETIME_func, "ETIME_func", ETIME,,, "R1:-:TArray=R1(2)w") DEFIMP (ETIME_subr, "ETIME_subr", ETIME,,, "--:-:TArray=R1(2)w,Result=R1w") -DEFIMP (EXIT, "EXIT", EXIT,,, "--:-:Status=?I*") +DEFIMP (EXIT, "EXIT", EXIT,,, "--:-:Status=?IN") DEFIMP (FDATE_func, "FDATE_func", FDATE,,, "A1*:-:") DEFIMP (FDATE_subr, "FDATE_subr", FDATE,,, "--:-:Date=A1w") DEFIMP (FGET_func, "FGET_func", FGET,,, "I1:-:C=A1w") @@ -3277,7 +3278,7 @@ DEFIMP (FSTAT_subr, "FSTAT_subr", FSTAT,,, "--:-:Unit=I*,SArray=I1(13)w,Status=? DEFIMP (FTELL_func, "FTELL_func", FTELL,,, "I1:-:Unit=I*") DEFIMP (FTELL_subr, "FTELL_subr", FTELL,,, "--:-:Unit=I*,Offset=I1w") DEFIMP (GERROR, "GERROR", GERROR,,, "--:-:Message=A1w") -DEFIMP (GETARG, "GETARG", GETARG,,, "--:-:Pos=I*,Value=A1w") +DEFIMP (GETARG, "GETARG", GETARG,,, "--:-:Pos=IN,Value=A1w") DEFIMP (GETCWD_func, "GETCWD_func", GETCWD,,, "I1:-:Name=A1w") DEFIMP (GETCWD_subr, "GETCWD_subr", GETCWD,,, "--:-:Name=A1w,Status=?I1w") DEFIMP (GETGID, "GETGID", GETGID,,, "I1:-:") diff --git a/contrib/gcc/f/invoke.texi b/contrib/gcc/f/invoke.texi index ff2de1a..d2d1ed1 100644 --- a/contrib/gcc/f/invoke.texi +++ b/contrib/gcc/f/invoke.texi @@ -1,11 +1,11 @@ -@c Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001 +@c Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 @c Free Software Foundation, Inc. @c This is part of the G77 manual. @c For copying conditions, see the file g77.texi. @ignore @c man begin COPYRIGHT -Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001 +Copyright @copyright{} 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document @@ -132,43 +132,43 @@ by type. Explanations are in the following sections. @item Fortran Language Options @xref{Fortran Dialect Options,,Options Controlling Fortran Dialect}. @gccoptlist{ --ffree-form -fno-fixed-form -ff90 --fvxt -fdollar-ok -fno-backslash --fno-ugly-args -fno-ugly-assign -fno-ugly-assumed --fugly-comma -fugly-complex -fugly-init -fugly-logint --fonetrip -ftypeless-boz --fintrin-case-initcap -fintrin-case-upper --fintrin-case-lower -fintrin-case-any --fmatch-case-initcap -fmatch-case-upper --fmatch-case-lower -fmatch-case-any --fsource-case-upper -fsource-case-lower --fsource-case-preserve --fsymbol-case-initcap -fsymbol-case-upper --fsymbol-case-lower -fsymbol-case-any --fcase-strict-upper -fcase-strict-lower --fcase-initcap -fcase-upper -fcase-lower -fcase-preserve --ff2c-intrinsics-delete -ff2c-intrinsics-hide --ff2c-intrinsics-disable -ff2c-intrinsics-enable --fbadu77-intrinsics-delete -fbadu77-intrinsics-hide --fbadu77-intrinsics-disable -fbadu77-intrinsics-enable --ff90-intrinsics-delete -ff90-intrinsics-hide --ff90-intrinsics-disable -ff90-intrinsics-enable --fgnu-intrinsics-delete -fgnu-intrinsics-hide --fgnu-intrinsics-disable -fgnu-intrinsics-enable --fmil-intrinsics-delete -fmil-intrinsics-hide --fmil-intrinsics-disable -fmil-intrinsics-enable --funix-intrinsics-delete -funix-intrinsics-hide --funix-intrinsics-disable -funix-intrinsics-enable --fvxt-intrinsics-delete -fvxt-intrinsics-hide --fvxt-intrinsics-disable -fvxt-intrinsics-enable +-ffree-form -fno-fixed-form -ff90 @gol +-fvxt -fdollar-ok -fno-backslash @gol +-fno-ugly-args -fno-ugly-assign -fno-ugly-assumed @gol +-fugly-comma -fugly-complex -fugly-init -fugly-logint @gol +-fonetrip -ftypeless-boz @gol +-fintrin-case-initcap -fintrin-case-upper @gol +-fintrin-case-lower -fintrin-case-any @gol +-fmatch-case-initcap -fmatch-case-upper @gol +-fmatch-case-lower -fmatch-case-any @gol +-fsource-case-upper -fsource-case-lower @gol +-fsource-case-preserve @gol +-fsymbol-case-initcap -fsymbol-case-upper @gol +-fsymbol-case-lower -fsymbol-case-any @gol +-fcase-strict-upper -fcase-strict-lower @gol +-fcase-initcap -fcase-upper -fcase-lower -fcase-preserve @gol +-ff2c-intrinsics-delete -ff2c-intrinsics-hide @gol +-ff2c-intrinsics-disable -ff2c-intrinsics-enable @gol +-fbadu77-intrinsics-delete -fbadu77-intrinsics-hide @gol +-fbadu77-intrinsics-disable -fbadu77-intrinsics-enable @gol +-ff90-intrinsics-delete -ff90-intrinsics-hide @gol +-ff90-intrinsics-disable -ff90-intrinsics-enable @gol +-fgnu-intrinsics-delete -fgnu-intrinsics-hide @gol +-fgnu-intrinsics-disable -fgnu-intrinsics-enable @gol +-fmil-intrinsics-delete -fmil-intrinsics-hide @gol +-fmil-intrinsics-disable -fmil-intrinsics-enable @gol +-funix-intrinsics-delete -funix-intrinsics-hide @gol +-funix-intrinsics-disable -funix-intrinsics-enable @gol +-fvxt-intrinsics-delete -fvxt-intrinsics-hide @gol +-fvxt-intrinsics-disable -fvxt-intrinsics-enable @gol -ffixed-line-length-@var{n} -ffixed-line-length-none} @item Warning Options @xref{Warning Options,,Options to Request or Suppress Warnings}. @gccoptlist{ --fsyntax-only -pedantic -pedantic-errors -fpedantic --w -Wno-globals -Wimplicit -Wunused -Wuninitialized --Wall -Wsurprising +-fsyntax-only -pedantic -pedantic-errors -fpedantic @gol +-w -Wno-globals -Wimplicit -Wunused -Wuninitialized @gol +-Wall -Wsurprising @gol -Werror -W} @item Debugging Options @@ -179,14 +179,14 @@ by type. Explanations are in the following sections. @item Optimization Options @xref{Optimize Options,,Options that Control Optimization}. @gccoptlist{ --malign-double --ffloat-store -fforce-mem -fforce-addr -fno-inline --ffast-math -fstrength-reduce -frerun-cse-after-loop --funsafe-math-optimizations -fno-trapping-math --fexpensive-optimizations -fdelayed-branch --fschedule-insns -fschedule-insn2 -fcaller-saves --funroll-loops -funroll-all-loops --fno-move-all-movables -fno-reduce-all-givs +-malign-double @gol +-ffloat-store -fforce-mem -fforce-addr -fno-inline @gol +-ffast-math -fstrength-reduce -frerun-cse-after-loop @gol +-funsafe-math-optimizations -fno-trapping-math @gol +-fexpensive-optimizations -fdelayed-branch @gol +-fschedule-insns -fschedule-insn2 -fcaller-saves @gol +-funroll-loops -funroll-all-loops @gol +-fno-move-all-movables -fno-reduce-all-givs @gol -fno-rerun-loop-opt} @item Directory Options @@ -197,15 +197,15 @@ by type. Explanations are in the following sections. @item Code Generation Options @xref{Code Gen Options,,Options for Code Generation Conventions}. @gccoptlist{ --fno-automatic -finit-local-zero -fno-f2c --ff2c-library -fno-underscoring -fno-ident --fpcc-struct-return -freg-struct-return --fshort-double -fno-common -fpack-struct --fzeros -fno-second-underscore --femulate-complex --falias-check -fargument-alias --fargument-noalias -fno-argument-noalias-global --fno-globals -fflatten-arrays +-fno-automatic -finit-local-zero -fno-f2c @gol +-ff2c-library -fno-underscoring -fno-ident @gol +-fpcc-struct-return -freg-struct-return @gol +-fshort-double -fno-common -fpack-struct @gol +-fzeros -fno-second-underscore @gol +-femulate-complex @gol +-falias-check -fargument-alias @gol +-fargument-noalias -fno-argument-noalias-global @gol +-fno-globals -fflatten-arrays @gol -fbounds-check -ffortran-bounds-check} @end table @@ -1398,6 +1398,37 @@ either your program or @command{g77} Produce debugging information in the operating system's native format (stabs, COFF, XCOFF, or DWARF). GDB can work with this debugging information. + +A sample debugging session looks like this (note the use of the breakpoint): +@smallexample +$ cat gdb.f + PROGRAM PROG + DIMENSION A(10) + DATA A /1.,2.,3.,4.,5.,6.,7.,8.,9.,10./ + A(5) = 4. + PRINT*,A + END +$ g77 -g -O gdb.f +$ gdb a.out +... +(gdb) break MAIN__ +Breakpoint 1 at 0x8048e96: file gdb.f, line 4. +(gdb) run +Starting program: /home/toon/g77-bugs/./a.out +Breakpoint 1, MAIN__ () at gdb.f:4 +4 A(5) = 4. +Current language: auto; currently fortran +(gdb) print a(5) +$1 = 5 +(gdb) step +5 PRINT*,A +(gdb) print a(5) +$2 = 4 +... +@end smallexample +One could also add the setting of the breakpoint and the first run command +to the file @file{.gdbinit} in the current directory, to simplify the debugging +session. @end table @xref{Debugging Options,,Options for Debugging Your Program or GCC, diff --git a/contrib/gcc/f/lex.c b/contrib/gcc/f/lex.c index acbb4d3..d9f3bad 100644 --- a/contrib/gcc/f/lex.c +++ b/contrib/gcc/f/lex.c @@ -1,5 +1,6 @@ /* Implementation of Fortran lexer - Copyright (C) 1995, 1996, 1997, 1998, 2001 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2001, 2002 + Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -269,6 +270,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) case 'x': if (warn_traditional) { + /* xgettext:no-c-format */ ffebad_start_msg_lex ("The meaning of `\\x' (at %0) varies with -traditional", FFEBAD_severityWARNING); ffelex_bad_here_ (0, line, column); @@ -319,6 +321,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) case 'a': if (warn_traditional) { + /* xgettext:no-c-format */ ffebad_start_msg_lex ("The meaning of `\\a' (at %0) varies with -traditional", FFEBAD_severityWARNING); ffelex_bad_here_ (0, line, column); @@ -348,6 +351,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) m[0] = c; m[1] = '\0'; + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Non-ISO-C-standard escape sequence `\\%A' at %0", FFEBAD_severityPEDANTIC); ffelex_bad_here_ (0, line, column); @@ -366,6 +370,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) m[0] = c; m[1] = '\0'; + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Unknown escape sequence `\\%A' at %0", FFEBAD_severityPEDANTIC); ffelex_bad_here_ (0, line, column); @@ -374,6 +379,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) } else if (c == EOF) { + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Unterminated escape sequence `\\' at %0", FFEBAD_severityPEDANTIC); ffelex_bad_here_ (0, line, column); @@ -384,6 +390,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) char m[20]; sprintf (&m[0], "%x", c); + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Unknown escape sequence `\\' followed by char code 0x%A at %0", FFEBAD_severityPEDANTIC); ffelex_bad_here_ (0, line, column); @@ -411,6 +418,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) if (! nonnull) { + /* xgettext:no-c-format */ ffebad_start_msg_lex ("\\x used at %0 with no following hex digits", FFEBAD_severityFATAL); ffelex_bad_here_ (0, line, column); @@ -424,6 +432,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) && ((1 << (TYPE_PRECISION (integer_type_node) - (count - 1) * 4)) <= (int) firstdig))) { + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Hex escape at %0 out of range", FFEBAD_severityPEDANTIC); ffelex_bad_here_ (0, line, column); @@ -457,6 +466,7 @@ ffelex_backslash_ (int c, ffewhereColumnNumber col) && TYPE_PRECISION (char_type_node) < HOST_BITS_PER_INT && code >= (1 << TYPE_PRECISION (char_type_node))) { + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Escape sequence at %0 out of range for character", FFEBAD_severityFATAL); ffelex_bad_here_ (0, line, column); @@ -1462,6 +1472,7 @@ ffelex_image_char_ (int c, ffewhereColumnNumber column) ffelex_bad_line_ = TRUE; strcpy (&ffelex_card_image_[column], "[\\0]"); ffelex_card_length_ = column + 4; + /* xgettext:no-c-format */ ffebad_start_msg_lex ("Null character at %0 -- line ignored", FFEBAD_severityFATAL); ffelex_bad_here_ (0, ffelex_linecount_current_, column + 1); diff --git a/contrib/gcc/f/news.texi b/contrib/gcc/f/news.texi index 55341b3..beb5184 100644 --- a/contrib/gcc/f/news.texi +++ b/contrib/gcc/f/news.texi @@ -1,4 +1,5 @@ -@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc. +@c Copyright (C) 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 +@c Free Software Foundation, Inc. @c This is part of the G77 manual. @c For copying conditions, see the file g77.texi. @@ -7,9 +8,9 @@ @c Keep this the same as the dates above, since it's used @c in the standalone derivations of this file (e.g. NEWS). -@set copyrights-news 1995,1996,1997,1998,1999,2000,2001 +@set copyrights-news 1995,1996,1997,1998,1999,2000,2001,2002 -@set last-update-news 2001-11-20 +@set last-update-news 2002-04-13 @include root.texi @@ -152,9 +153,38 @@ is available at The following information was last updated on @value{last-update-news}: -@heading In development, 0.5.27, @code{GCC} 3.1 versus @code{GCC} 3.0: +@heading In @code{GCC} 3.1 (formerly known as g77-0.5.27) versus @code{GCC} 3.0: @itemize @bullet @item +Problem Reports fixed (in chronological order of submission): +@table @code +@item 947 +Data statement initialization with subscript of kind INTEGER*2 +@item 3743 +Reference to intrinsic `ISHFT' invalid +@item 3807 +Function BESJN(integer,double) problems +@item 3957 +g77 -pipe -xf77-cpp-input sends output to stdout +@item 4279 +g77 -h" gives bogus output +@item 4730 +ICE on valid input using CALL EXIT(%VAL(...)) +@item 4752 +g77 -v -c -xf77-version /dev/null -xnone causes ice +@item 4885 +BACKSPACE example that doesn't work as of gcc/g77-3.0.x +@item 5122 +g77 rejects accepted use of INTEGER*2 as type of DATA statement loop index +@item 5397 +ICE on compiling source with 540 000 000 REAL array +@item 5473 +ICE on BESJN(integer*8,real) +@item 5837 +bug in loop unrolling +@end table + +@item @command{g77} now has its man page generated from the texinfo documentation, to guarantee that it remains up to date. diff --git a/contrib/gcc/f/proj.h b/contrib/gcc/f/proj.h index fd4a65c..8cf54c9 100644 --- a/contrib/gcc/f/proj.h +++ b/contrib/gcc/f/proj.h @@ -1,5 +1,5 @@ /* proj.h file for Gnu Fortran - Copyright (C) 1995, 1996, 2000, 2001 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2000, 2001, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -32,7 +32,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "system.h" #if (GCC_VERSION < 2000) - #error "You have to use gcc 2.x to build g77 (might be fixed in g77-0.6)." + #error "You have to use gcc 2.x to build g77." #endif /* Include files everyone gets. <assert.h> is needed for assert(). */ diff --git a/contrib/gcc/f/root.texi b/contrib/gcc/f/root.texi index 2ea699e..bcc52cf 100644 --- a/contrib/gcc/f/root.texi +++ b/contrib/gcc/f/root.texi @@ -2,8 +2,7 @@ @c as compared to a release version. When making a release @c (e.g. a release branch in the CVS repository for gcc), @c clear this and set the version information correctly. -@set DEVELOPMENT -@set version-g77 0.5.27 +@clear DEVELOPMENT @set version-gcc 3.1 @set email-general gcc@@gcc.gnu.org diff --git a/contrib/gcc/f/stb.c b/contrib/gcc/f/stb.c index ef523c4..bf456a1 100644 --- a/contrib/gcc/f/stb.c +++ b/contrib/gcc/f/stb.c @@ -1,5 +1,5 @@ /* stb.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -12074,6 +12074,7 @@ ffestb_S3P41_ (ffelexToken ft, ffebld expr, ffelexToken t) && ((ffelex_token_type (t) == FFELEX_typeSEMICOLON) || ffesta_line_has_semicolons)) { + /* xgettext:no-c-format */ ffebad_start_msg ("INCLUDE at %0 not the only statement on the source line", FFEBAD_severityWARNING); ffebad_here (0, ffelex_token_where_line (ffesta_tokens[0]), ffelex_token_where_column (ffesta_tokens[0])); diff --git a/contrib/gcc/f/ste.c b/contrib/gcc/f/ste.c index 8bb9c2d..2959984 100644 --- a/contrib/gcc/f/ste.c +++ b/contrib/gcc/f/ste.c @@ -1,5 +1,5 @@ /* ste.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 2000 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 2000, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -2632,6 +2632,7 @@ ffeste_R809 (ffestw block, ffebld expr) { /* ~~~Someday handle CHARACTER*1, CHARACTER*N */ + /* xgettext:no-c-format */ ffebad_start_msg ("SELECT CASE on CHARACTER type (at %0) not supported -- sorry", FFEBAD_severityFATAL); ffebad_here (0, ffestw_line (block), ffestw_col (block)); diff --git a/contrib/gcc/f/stu.c b/contrib/gcc/f/stu.c index bd96ee7..1d58731 100644 --- a/contrib/gcc/f/stu.c +++ b/contrib/gcc/f/stu.c @@ -1,5 +1,5 @@ /* stu.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -301,6 +301,7 @@ ffestu_sym_end_transition (ffesymbol s) if (sa & FFESYMBOL_attrsADJUSTABLE) { /* Not actually in any dummy list! */ if (ffe_is_pedantic () + /* xgettext:no-c-format */ && ffebad_start_msg ("Local adjustable symbol `%A' at %0", FFEBAD_severityPEDANTIC)) { diff --git a/contrib/gcc/f/target.c b/contrib/gcc/f/target.c index 11fb0b1..f934a8f 100644 --- a/contrib/gcc/f/target.c +++ b/contrib/gcc/f/target.c @@ -1,5 +1,5 @@ /* target.c -- Implementation File (module.c template V1.0) - Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc. + Copyright (C) 1995, 1996, 1997, 1998, 2002 Free Software Foundation, Inc. Contributed by James Craig Burley. This file is part of GNU Fortran. @@ -71,6 +71,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "proj.h" #include "glimits.h" #include "target.h" +#include "diagnostic.h" #include "bad.h" #include "info.h" #include "lex.h" @@ -2519,6 +2520,47 @@ ffetarget_verify_character1 (mallocPool pool, ffetargetCharacter1 val) void * ffetarget_memcpy_ (void *dst, void *src, size_t len) { +#ifdef CROSS_COMPILE + int host_words_big_endian = +#ifndef HOST_WORDS_BIG_ENDIAN + 0 +#else + HOST_WORDS_BIG_ENDIAN +#endif + ; + + int host_bytes_big_endian = +#ifndef HOST_BYTES_BIG_ENDIAN + 0 +#else + HOST_BYTES_BIG_ENDIAN +#endif + ; + + int host_bits_big_endian = +#ifndef HOST_BITS_BIG_ENDIAN + 0 +#else + HOST_BITS_BIG_ENDIAN +#endif + ; + + /* This is just hands thrown up in the air over bits coming through this + function representing a number being memcpy:d as-is from host to + target. We can't generally adjust endianness here since we don't + know whether it's an integer or floating point number; they're passed + differently. Better to not emit code at all than to emit wrong code. + We will get some false hits because some data coming through here + seems to be just character vectors, but often enough it's numbers, + for instance in g77.f-torture/execute/980628-[4-6].f and alpha2.f. + Still, we compile *some* code. FIXME: Rewrite handling of numbers. */ + if (!WORDS_BIG_ENDIAN != !host_words_big_endian + || !BYTES_BIG_ENDIAN != !host_bytes_big_endian + || !BITS_BIG_ENDIAN != !host_bits_big_endian) + sorry ("data initializer on host with different endianness"); + +#endif /* CROSS_COMPILE */ + return (void *) memcpy (dst, src, len); } diff --git a/contrib/gcc/f/target.h b/contrib/gcc/f/target.h index 85b385d..09fbe5f 100644 --- a/contrib/gcc/f/target.h +++ b/contrib/gcc/f/target.h @@ -234,7 +234,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA #define FFETARGET_f2cTYLOGICAL2 13 #define FFETARGET_f2cTYQUAD 14 -#if !defined(__alpha__) && (!defined (_ARCH_PPC) || !defined (__64BIT__)) && (!defined(__sparc__) || (!defined(__sparcv9) && !defined(__arch64__))) && (!defined(__ia64__) || !defined(__LP64__)) && (!defined(__hppa__) || !defined(__LP64__)) && !defined(__s390x__) +#if !defined(__alpha__) && (!defined (_ARCH_PPC) || !defined (__64BIT__)) && (!defined(__sparc__) || (!defined(__sparcv9) && !defined(__arch64__))) && (!defined(__ia64__) || !defined(__LP64__)) && (!defined(__hppa__) || !defined(__LP64__)) && !defined(__s390x__) && !defined(__x86_64__) #define FFETARGET_32bit_longs #endif diff --git a/contrib/gcc/f/version.c b/contrib/gcc/f/version.c index 12c8e84..d447ab6 100644 --- a/contrib/gcc/f/version.c +++ b/contrib/gcc/f/version.c @@ -1,4 +1,4 @@ #include "ansidecl.h" #include "f/version.h" -const char *const ffe_version_string = "0.5.27 20020201 (experimental)"; +const char *const ffe_version_string = "3.1 20020509 (prerelease)"; |