aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/f/BUGS19
-rw-r--r--gcc/f/NEWS34
-rw-r--r--gcc/f/g77.173
-rw-r--r--gcc/f/gbe/README14
-rw-r--r--gcc/f/global.h2
-rw-r--r--gcc/f/lang-specs.h2
-rw-r--r--gcc/f/runtime/libF77/Version.c2
-rw-r--r--gcc/f/runtime/libI77/close.c2
-rw-r--r--gcc/f/runtime/libU77/Version.c2
-rw-r--r--gcc/f/stu.c2
-rw-r--r--gcc/f/symbol.c2
11 files changed, 102 insertions, 52 deletions
diff --git a/gcc/f/BUGS b/gcc/f/BUGS
index ebeaedb..fcbf9b7 100644
--- a/gcc/f/BUGS
+++ b/gcc/f/BUGS
@@ -15,6 +15,25 @@ separating them out.
For information on bugs that might afflict people who configure,
port, build, and install `g77', *Note Problems Installing::.
+ * `g77''s version of `gcc', and probably `g77' itself, cannot be
+ reliably used with the `-O2' option (or higher) on Digital
+ Semiconductor Alpha AXP machines. The problem is most immediately
+ noticed in differences discovered by `make compare' following a
+ bootstrap build using `-O2'. It also manifests itself as a
+ failure to compile `DATA' statements such as `DATA R/7./'
+ correctly; in this case, `R' might be initialized to `4.0'.
+
+ Until this bug is fixed, use only `-O1' or no optimization.
+
+ * A code-generation bug afflicts Intel x86 targets when `-O2' is
+ specified compiling, for example, an old version of the `DNRM2'
+ routine. The x87 coprocessor stack is being somewhat mismanaged
+ in cases where assigned `GOTO' and `ASSIGN' are involved.
+
+ Version 0.5.21 of `g77' contains an initial effort to fix the
+ problem, but this effort is incomplete, and a more complete fix is
+ planned for the next release.
+
* Work is needed on the `SIGNAL()' intrinsic to ensure that pointers
and integers are properly handled on all targets, including 64-bit
machines.
diff --git a/gcc/f/NEWS b/gcc/f/NEWS
index 40fea330..8be9798 100644
--- a/gcc/f/NEWS
+++ b/gcc/f/NEWS
@@ -55,6 +55,10 @@ In 0.5.21:
`-fno-automatic' option is in effect. This avoids a compiler
crash in some cases.
+ * The `-malign-double' option now reliably aligns `DOUBLE PRECISION'
+ optimally on Pentium and Pentium Pro architectures (586 and 686 in
+ `gcc').
+
* New option `-Wno-globals' disables warnings about "suspicious" use
of a name both as a global name and as the implicit name of an
intrinsic, and warnings about disagreements over the number or
@@ -82,6 +86,11 @@ In 0.5.21:
type of that procedure, or where disagreements about the number or
nature of arguments exist. This avoids a compiler crash.
+ * Fix parsing bug whereby `g77' rejected a second initialization
+ specification immediately following the first's closing `/' without
+ an intervening comma in a `DATA' statement, and the second
+ specification was an implied-DO list.
+
* Improve performance of the `gcc' back end so certain complicated
expressions involving `COMPLEX' arithmetic (especially
multiplication) don't appear to take forever to compile.
@@ -89,11 +98,12 @@ In 0.5.21:
* Fix a couple of profiling-related bugs in `gcc' back end.
* Integrate GNU Ada's (GNAT's) changes to the back end, which
- consist almost entirely of bug fixes.
+ consist almost entirely of bug fixes. These fixes are circa
+ version 3.10p of GNAT.
* Include some other `gcc' fixes that seem useful in `g77''s version
of `gcc'. (See `gcc/ChangeLog' for details--compare it to that
- file in the vanilla `gcc-2.7.2.2.tar.gz' distribution.)
+ file in the vanilla `gcc-2.7.2.3.tar.gz' distribution.)
* Fix `libU77' routines that accept file and other names to strip
trailing blanks from them, for consistency with other
@@ -133,13 +143,22 @@ In 0.5.21:
diagnostics during the assembler or linker phase, a compiler
crash, or generation of incorrect code.
- * Improve alias analysis code to properly handle output registers
- (such as the `%o' registers on the SPARC).
+ * Make some fixes to alias analysis code.
* Add support for `restrict' keyword in `gcc' front end.
+ * Support `gcc' version 2.7.2.3 (modified by `g77' into version
+ 2.7.2.3.f.1), and remove support for prior versions of `gcc'.
+
+ * Incorporate GNAT's patches to the `gcc' back end into `g77''s, so
+ GNAT users do not need to apply GNAT's patches to build both GNAT
+ and `g77' from the same source tree.
+
* Modify `make' rules and related code so that generation of Info
- documentation doesn't require compilation using `gcc'.
+ documentation doesn't require compilation using `gcc'. Now, any
+ ANSI C compiler should be adequate to produce the `g77'
+ documentation (in particular, the tables of intrinsics) from
+ scratch.
* Add `INT2' and `INT8' intrinsics.
@@ -160,9 +179,6 @@ In 0.5.21:
* Fix `libf2c' build procedure to re-archive library if previous
attempt to archive was interrupted.
- * Fix `gcc' to more easily support configuring on Pentium Pro (686)
- systems.
-
* Change `gcc' to unroll loops only during the last invocation (of
as many as two invocations) of loop optimization.
@@ -176,7 +192,7 @@ In 0.5.21:
properly handle the `-nostdlib', `-M', `-MM', `-nodefaultlibs',
and `-Xlinker' options.
- * Upgrade to `libf2c' as of 1997-08-06.
+ * Upgrade to `libf2c' as of 1997-08-16.
* Modify `libf2c' to consistently and clearly diagnose recursive I/O
(at run time).
diff --git a/gcc/f/g77.1 b/gcc/f/g77.1
index fe8b897..fdb83a6 100644
--- a/gcc/f/g77.1
+++ b/gcc/f/g77.1
@@ -1,30 +1,30 @@
-.\" Copyright (c) 1995, 1996 Free Software Foundation -*-Text-*-
+.\" Copyright (c) 1995-1997 Free Software Foundation -*-Text-*-
.\" See section COPYING for conditions for redistribution
.\" FIXME: no info here on predefines. Should there be? extra for F77...
-.TH G77 1 "1997-06-20" "GNU Tools" "GNU Tools"
+.TH G77 1 "1997-09-09" "GNU Tools" "GNU Tools"
.de BP
.sp
.ti \-.2i
\(**
..
.SH NAME
-g77 \- GNU project F77 Compiler (v0.5.18)
+g77 \- GNU project Fortran Compiler (v0.5.21)
.SH SYNOPSIS
.RB g77 " [" \c
.IR option " | " "filename " ].\|.\|.
.SH WARNING
The information in this man page is an extract from the full
-documentation of the GNU Fortran compiler (version 0.5.18),
-and is limited to the meaning of the options.
+documentation of the GNU Fortran compiler (version 0.5.21),
+and is limited to the meaning of some of the options.
.PP
This man page is not up to date, since no volunteers want to
maintain it. If you find a discrepancy between the man page and the
software, please check the Info file, which is the authoritative
documentation.
-.PP
-The version of GNU Fortran documented by the Info file is 0.5.21,
-which includes substantial improvements and changes since 0.5.18,
-the version documented in this man page.
+.\" .PP
+.\" The version of GNU Fortran documented by the Info file is 0.5.21,
+.\" which includes substantial improvements and changes since 0.5.21,
+.\" the version documented in this man page.
.PP
If we find that the things in this man page that are out of date cause
significant confusion or complaints, we will stop distributing the man
@@ -37,7 +37,7 @@ For complete and current documentation, refer to the Info file `\|\c
.B g77\c
\&\|' or the manual
.I
-Using and Porting GNU Fortran (for version 0.5.18)\c
+Using and Porting GNU Fortran (for version 0.5.21)\c
\&. Both are made from the Texinfo source file
.BR g77.texi .
.PP
@@ -69,27 +69,40 @@ of
The C and F77 compilers are integrated;
.B g77
is a program to call
-.B gcc with options to recognize F77.
+.B gcc
+with options to recognize programs written in Fortran (ANSI FORTRAN 77,
+also called F77).
.B gcc
processes input files
through one or more of four stages: preprocessing, compilation,
assembly, and linking. This man page contains full descriptions for
.I only
-F77 specific aspects of the compiler, though it also contains
+F77-specific aspects of the compiler, though it also contains
summaries of some general-purpose options. For a fuller explanation
of the compiler, see
.BR gcc ( 1 ).
-For complete documentation on GNU Fortran, type
-.BR info g77
+For complete documentation on GNU Fortran, type `\|\c
+.B info g77\c
+\&\|'.
F77 source files use the suffix `\|\c
.B .f\c
+\&\|' or `\|\c
+.B .for\c
\&\|'; F77 files to be preprocessed by
.BR cpp ( 1 )
use the suffix `\|\c
.B .F\c
-\&\|'.
+\&\|' or `\|\c
+.B .fpp\c
+\&\|'; Ratfor source files use the suffix `\|\c
+.B .r\c
+\&\|' (though
+.B ratfor
+itself is not supplied as part of
+.B g77\c
+\&).
.SH OPTIONS
There are many command-line options, including options to control
details of optimization, warnings, and code generation, which are
@@ -242,10 +255,8 @@ to disable actual invocation of
.RB ` true '
is the name of a UNIX command that simply returns success status).
The command
-.RB ` "gcc -v" '
-is the appropriate one to determine the g77 and GCC version numbers;
-it will produce an irrelevant error message from
-.RB ` ld '.
+.RB ` "g77 -v" '
+is the appropriate one to determine the g77 and GCC version numbers.
.TP
.B \-Wall
Issue warnings for conditions which pertain to usage that we recommend
@@ -265,6 +276,8 @@ file.F preprocessed Fortran source file
.br
file.fpp preprocessed Fortran source file
.br
+file.r Ratfor source file (ratfor not included)
+.br
file.s assembly language file
.br
file.o object file
@@ -292,12 +305,14 @@ files
.br
\fILIBDIR\fR/include standard gcc directory for
.B #include
-files
+.br
+ files.
+.sp
.I LIBDIR
is usually
.B /usr/local/lib/\c
.IR machine / version .
-.br
+.sp
.I TMPDIR
comes from the environment variable
.B TMPDIR
@@ -309,16 +324,16 @@ if available, else
.SH "SEE ALSO"
gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
.br
-.RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp \|',
-.RB `\| as \|', `\| ld \|',
+.RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp "\|',"
+.RB "`\|" as "\|', `\|" ld "\|',"
and
-.RB `\| gdb \|'
+.RB "`\|" gdb "\|'"
entries in
.B info\c
\&.
.br
.I
-Using and Porting GNU Fortran (for version 0.5.18)\c
+Using and Porting GNU Fortran (for version 0.5.21)\c
, James Craig Burley;
.I
Using and Porting GNU CC (for version 2.0)\c
@@ -337,12 +352,12 @@ gld: the GNU linker\c
, Steve Chamberlain and Roland Pesch.
.SH BUGS
-For instructions on how to report bugs, see the file
-.B DOC
-in the g77 distribution.
+For instructions on how to report bugs, type `\|\c
+.B info g77 -n Bugs\c
+\&\|'.
.SH COPYING
-Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
+Copyright (c) 1991-1997 Free Software Foundation, Inc.
.PP
Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice
diff --git a/gcc/f/gbe/README b/gcc/f/gbe/README
index f030690..c30f5d7 100644
--- a/gcc/f/gbe/README
+++ b/gcc/f/gbe/README
@@ -1,20 +1,20 @@
-970811
+970909
This directory contains .diff files for various GNU CC distributions
supported by this version of GNU Fortran.
The name of a file includes which gcc version to which it applies.
-For example, 2.7.2.2.diff is the patch file for gcc version 2.7.2.2.
+For example, 2.7.2.3.diff is the patch file for gcc version 2.7.2.3.
-To apply a .diff file to, say, gcc 2.7.2.2, one might use the following
+To apply a .diff file to, say, gcc 2.7.2.3, one might use the following
command (where the current directory contains the gcc source distribution
after merging into it the g77 source distribution, which would be
-named gcc-2.7.2.2 in this example):
+named gcc-2.7.2.3 in this example):
- patch -p1 -d gcc-2.7.2.2 < gcc-2.7.2.2/f/gbe/2.7.2.2.diff
+ patch -p1 -d gcc-2.7.2.3 < gcc-2.7.2.3/f/gbe/2.7.2.3.diff
-This version of g77 is best combined with gcc versions 2.7.2.2.
+This version of g77 is best combined with gcc versions 2.7.2.3.
However, note that applying any of these patches does _not_ update
the gcc.info* files that constitute the Info documentation for gcc.
@@ -30,7 +30,7 @@ writing), build, and install it, then try the above command (as
makeinfo is part of texinfo).
This distribution of g77 is not supported for versions of gcc prior
-to 2.7.2.2.
+to 2.7.2.3.
If you are using a version of gcc more recent than the most
recent .diff file's version, try the most recent .diff ONLY
diff --git a/gcc/f/global.h b/gcc/f/global.h
index fe0be03..ee4a41b 100644
--- a/gcc/f/global.h
+++ b/gcc/f/global.h
@@ -1,5 +1,5 @@
/* global.h -- Public #include File (module.h template V1.0)
- Copyright (C) 1995 Free Software Foundation, Inc.
+ Copyright (C) 1995, 1997 Free Software Foundation, Inc.
Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran.
diff --git a/gcc/f/lang-specs.h b/gcc/f/lang-specs.h
index 1e07aaf..016f59c 100644
--- a/gcc/f/lang-specs.h
+++ b/gcc/f/lang-specs.h
@@ -1,5 +1,5 @@
/* lang-specs.h file for Fortran
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997 Free Software Foundation, Inc.
Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran.
diff --git a/gcc/f/runtime/libF77/Version.c b/gcc/f/runtime/libF77/Version.c
index 5d14f2a..8644f3f 100644
--- a/gcc/f/runtime/libF77/Version.c
+++ b/gcc/f/runtime/libF77/Version.c
@@ -3,7 +3,7 @@ static char junk[] = "\n@(#)LIBF77 VERSION 19970404\n";
/*
*/
-char __G77_LIBF77_VERSION__[] = "0.5.21-19970811";
+char __G77_LIBF77_VERSION__[] = "0.5.21";
/*
2.00 11 June 1980. File version.c added to library.
diff --git a/gcc/f/runtime/libI77/close.c b/gcc/f/runtime/libI77/close.c
index 40e15c1..691f931 100644
--- a/gcc/f/runtime/libI77/close.c
+++ b/gcc/f/runtime/libI77/close.c
@@ -73,7 +73,7 @@ f_exit(void)
#endif
{ int i;
static cllist xx;
- if (f__init & 1)
+ if (! (f__init & 1))
return; /* Not initialized, so no open units. */
if (!xx.cerr) {
xx.cerr=1;
diff --git a/gcc/f/runtime/libU77/Version.c b/gcc/f/runtime/libU77/Version.c
index 3251491..88a2907 100644
--- a/gcc/f/runtime/libU77/Version.c
+++ b/gcc/f/runtime/libU77/Version.c
@@ -1,6 +1,6 @@
static char junk[] = "\n@(#) LIBU77 VERSION 19970609\n";
-char __G77_LIBU77_VERSION__[] = "0.5.21-19970811";
+char __G77_LIBU77_VERSION__[] = "0.5.21";
#include <stdio.h>
diff --git a/gcc/f/stu.c b/gcc/f/stu.c
index 138a070..239456c 100644
--- a/gcc/f/stu.c
+++ b/gcc/f/stu.c
@@ -1,5 +1,5 @@
/* stu.c -- Implementation File (module.c template V1.0)
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997 Free Software Foundation, Inc.
Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran.
diff --git a/gcc/f/symbol.c b/gcc/f/symbol.c
index 7199cdb..0ce998b 100644
--- a/gcc/f/symbol.c
+++ b/gcc/f/symbol.c
@@ -1,5 +1,5 @@
/* Implementation of Fortran symbol manager
- Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+ Copyright (C) 1995-1997 Free Software Foundation, Inc.
Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran.