summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/f
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2002-05-09 20:02:13 +0000
committerobrien <obrien@FreeBSD.org>2002-05-09 20:02:13 +0000
commitc8f5fc7032940ad6633f932ac40cade82ec4d0cc (patch)
tree29a0f0a6c79a69ecc64f612947a0fe5904311713 /contrib/gcc/f
parentc9ab9ae440a8066b2c2b85b157b1fdadcf09916a (diff)
downloadFreeBSD-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/ChangeLog100
-rw-r--r--contrib/gcc/f/Make-lang.in4
-rw-r--r--contrib/gcc/f/bad.def390
-rw-r--r--contrib/gcc/f/bugs.texi9
-rw-r--r--contrib/gcc/f/com.c22
-rw-r--r--contrib/gcc/f/data.c50
-rw-r--r--contrib/gcc/f/expr.c11
-rw-r--r--contrib/gcc/f/ffe.texi9
-rw-r--r--contrib/gcc/f/g77.texi61
-rw-r--r--contrib/gcc/f/implic.c3
-rw-r--r--contrib/gcc/f/intdoc.c12
-rw-r--r--contrib/gcc/f/intdoc.texi12
-rw-r--r--contrib/gcc/f/intrin.c18
-rw-r--r--contrib/gcc/f/intrin.def13
-rw-r--r--contrib/gcc/f/invoke.texi133
-rw-r--r--contrib/gcc/f/lex.c13
-rw-r--r--contrib/gcc/f/news.texi38
-rw-r--r--contrib/gcc/f/proj.h4
-rw-r--r--contrib/gcc/f/root.texi3
-rw-r--r--contrib/gcc/f/stb.c3
-rw-r--r--contrib/gcc/f/ste.c3
-rw-r--r--contrib/gcc/f/stu.c3
-rw-r--r--contrib/gcc/f/target.c44
-rw-r--r--contrib/gcc/f/target.h2
-rw-r--r--contrib/gcc/f/version.c2
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)";
OpenPOWER on IntegriCloud