Commit ddd28aec by Jeff Law

This commit was generated by cvs2svn to compensate for changes in r15440,

which included commits to RCS files with non-trunk default branches.

From-SVN: r15441
parent 981c1e24
...@@ -15,6 +15,25 @@ separating them out. ...@@ -15,6 +15,25 @@ separating them out.
For information on bugs that might afflict people who configure, For information on bugs that might afflict people who configure,
port, build, and install `g77', *Note Problems Installing::. 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 * Work is needed on the `SIGNAL()' intrinsic to ensure that pointers
and integers are properly handled on all targets, including 64-bit and integers are properly handled on all targets, including 64-bit
machines. machines.
......
...@@ -55,6 +55,10 @@ In 0.5.21: ...@@ -55,6 +55,10 @@ In 0.5.21:
`-fno-automatic' option is in effect. This avoids a compiler `-fno-automatic' option is in effect. This avoids a compiler
crash in some cases. 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 * New option `-Wno-globals' disables warnings about "suspicious" use
of a name both as a global name and as the implicit name of an of a name both as a global name and as the implicit name of an
intrinsic, and warnings about disagreements over the number or intrinsic, and warnings about disagreements over the number or
...@@ -82,6 +86,11 @@ In 0.5.21: ...@@ -82,6 +86,11 @@ In 0.5.21:
type of that procedure, or where disagreements about the number or type of that procedure, or where disagreements about the number or
nature of arguments exist. This avoids a compiler crash. 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 * Improve performance of the `gcc' back end so certain complicated
expressions involving `COMPLEX' arithmetic (especially expressions involving `COMPLEX' arithmetic (especially
multiplication) don't appear to take forever to compile. multiplication) don't appear to take forever to compile.
...@@ -89,11 +98,12 @@ In 0.5.21: ...@@ -89,11 +98,12 @@ In 0.5.21:
* Fix a couple of profiling-related bugs in `gcc' back end. * Fix a couple of profiling-related bugs in `gcc' back end.
* Integrate GNU Ada's (GNAT's) changes to the back end, which * 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 * Include some other `gcc' fixes that seem useful in `g77''s version
of `gcc'. (See `gcc/ChangeLog' for details--compare it to that 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 * Fix `libU77' routines that accept file and other names to strip
trailing blanks from them, for consistency with other trailing blanks from them, for consistency with other
...@@ -133,13 +143,22 @@ In 0.5.21: ...@@ -133,13 +143,22 @@ In 0.5.21:
diagnostics during the assembler or linker phase, a compiler diagnostics during the assembler or linker phase, a compiler
crash, or generation of incorrect code. crash, or generation of incorrect code.
* Improve alias analysis code to properly handle output registers * Make some fixes to alias analysis code.
(such as the `%o' registers on the SPARC).
* Add support for `restrict' keyword in `gcc' front end. * 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 * 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. * Add `INT2' and `INT8' intrinsics.
...@@ -160,9 +179,6 @@ In 0.5.21: ...@@ -160,9 +179,6 @@ In 0.5.21:
* Fix `libf2c' build procedure to re-archive library if previous * Fix `libf2c' build procedure to re-archive library if previous
attempt to archive was interrupted. 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 * Change `gcc' to unroll loops only during the last invocation (of
as many as two invocations) of loop optimization. as many as two invocations) of loop optimization.
...@@ -176,7 +192,7 @@ In 0.5.21: ...@@ -176,7 +192,7 @@ In 0.5.21:
properly handle the `-nostdlib', `-M', `-MM', `-nodefaultlibs', properly handle the `-nostdlib', `-M', `-MM', `-nodefaultlibs',
and `-Xlinker' options. 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 * Modify `libf2c' to consistently and clearly diagnose recursive I/O
(at run time). (at run time).
......
.\" Copyright (c) 1995, 1996 Free Software Foundation -*-Text-*- .\" Copyright (c) 1995-1997 Free Software Foundation -*-Text-*-
.\" See section COPYING for conditions for redistribution .\" See section COPYING for conditions for redistribution
.\" FIXME: no info here on predefines. Should there be? extra for F77... .\" 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 .de BP
.sp .sp
.ti \-.2i .ti \-.2i
\(** \(**
.. ..
.SH NAME .SH NAME
g77 \- GNU project F77 Compiler (v0.5.18) g77 \- GNU project Fortran Compiler (v0.5.21)
.SH SYNOPSIS .SH SYNOPSIS
.RB g77 " [" \c .RB g77 " [" \c
.IR option " | " "filename " ].\|.\|. .IR option " | " "filename " ].\|.\|.
.SH WARNING .SH WARNING
The information in this man page is an extract from the full The information in this man page is an extract from the full
documentation of the GNU Fortran compiler (version 0.5.18), documentation of the GNU Fortran compiler (version 0.5.21),
and is limited to the meaning of the options. and is limited to the meaning of some of the options.
.PP .PP
This man page is not up to date, since no volunteers want to 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 maintain it. If you find a discrepancy between the man page and the
software, please check the Info file, which is the authoritative software, please check the Info file, which is the authoritative
documentation. documentation.
.PP .\" .PP
The version of GNU Fortran documented by the Info file is 0.5.21, .\" The version of GNU Fortran documented by the Info file is 0.5.21,
which includes substantial improvements and changes since 0.5.18, .\" which includes substantial improvements and changes since 0.5.21,
the version documented in this man page. .\" the version documented in this man page.
.PP .PP
If we find that the things in this man page that are out of date cause 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 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 ...@@ -37,7 +37,7 @@ For complete and current documentation, refer to the Info file `\|\c
.B g77\c .B g77\c
\&\|' or the manual \&\|' or the manual
.I .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 \&. Both are made from the Texinfo source file
.BR g77.texi . .BR g77.texi .
.PP .PP
...@@ -69,27 +69,40 @@ of ...@@ -69,27 +69,40 @@ of
The C and F77 compilers are integrated; The C and F77 compilers are integrated;
.B g77 .B g77
is a program to call 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 .B gcc
processes input files processes input files
through one or more of four stages: preprocessing, compilation, through one or more of four stages: preprocessing, compilation,
assembly, and linking. This man page contains full descriptions for assembly, and linking. This man page contains full descriptions for
.I only .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 summaries of some general-purpose options. For a fuller explanation
of the compiler, see of the compiler, see
.BR gcc ( 1 ). .BR gcc ( 1 ).
For complete documentation on GNU Fortran, type For complete documentation on GNU Fortran, type `\|\c
.BR info g77 .B info g77\c
\&\|'.
F77 source files use the suffix `\|\c F77 source files use the suffix `\|\c
.B .f\c .B .f\c
\&\|' or `\|\c
.B .for\c
\&\|'; F77 files to be preprocessed by \&\|'; F77 files to be preprocessed by
.BR cpp ( 1 ) .BR cpp ( 1 )
use the suffix `\|\c use the suffix `\|\c
.B .F\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 .SH OPTIONS
There are many command-line options, including options to control There are many command-line options, including options to control
details of optimization, warnings, and code generation, which are details of optimization, warnings, and code generation, which are
...@@ -242,10 +255,8 @@ to disable actual invocation of ...@@ -242,10 +255,8 @@ to disable actual invocation of
.RB ` true ' .RB ` true '
is the name of a UNIX command that simply returns success status). is the name of a UNIX command that simply returns success status).
The command The command
.RB ` "gcc -v" ' .RB ` "g77 -v" '
is the appropriate one to determine the g77 and GCC version numbers; is the appropriate one to determine the g77 and GCC version numbers.
it will produce an irrelevant error message from
.RB ` ld '.
.TP .TP
.B \-Wall .B \-Wall
Issue warnings for conditions which pertain to usage that we recommend Issue warnings for conditions which pertain to usage that we recommend
...@@ -265,6 +276,8 @@ file.F preprocessed Fortran source file ...@@ -265,6 +276,8 @@ file.F preprocessed Fortran source file
.br .br
file.fpp preprocessed Fortran source file file.fpp preprocessed Fortran source file
.br .br
file.r Ratfor source file (ratfor not included)
.br
file.s assembly language file file.s assembly language file
.br .br
file.o object file file.o object file
...@@ -292,12 +305,14 @@ files ...@@ -292,12 +305,14 @@ files
.br .br
\fILIBDIR\fR/include standard gcc directory for \fILIBDIR\fR/include standard gcc directory for
.B #include .B #include
files .br
files.
.sp
.I LIBDIR .I LIBDIR
is usually is usually
.B /usr/local/lib/\c .B /usr/local/lib/\c
.IR machine / version . .IR machine / version .
.br .sp
.I TMPDIR .I TMPDIR
comes from the environment variable comes from the environment variable
.B TMPDIR .B TMPDIR
...@@ -309,16 +324,16 @@ if available, else ...@@ -309,16 +324,16 @@ if available, else
.SH "SEE ALSO" .SH "SEE ALSO"
gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1). gcc(1), cpp(1), as(1), ld(1), gdb(1), adb(1), dbx(1), sdb(1).
.br .br
.RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp \|', .RB "`\|" g77 "\|', `\|" gcc "\|', `\|" cpp "\|',"
.RB `\| as \|', `\| ld \|', .RB "`\|" as "\|', `\|" ld "\|',"
and and
.RB `\| gdb \|' .RB "`\|" gdb "\|'"
entries in entries in
.B info\c .B info\c
\&. \&.
.br .br
.I .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; , James Craig Burley;
.I .I
Using and Porting GNU CC (for version 2.0)\c Using and Porting GNU CC (for version 2.0)\c
...@@ -337,12 +352,12 @@ gld: the GNU linker\c ...@@ -337,12 +352,12 @@ gld: the GNU linker\c
, Steve Chamberlain and Roland Pesch. , Steve Chamberlain and Roland Pesch.
.SH BUGS .SH BUGS
For instructions on how to report bugs, see the file For instructions on how to report bugs, type `\|\c
.B DOC .B info g77 -n Bugs\c
in the g77 distribution. \&\|'.
.SH COPYING .SH COPYING
Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996 Free Software Foundation, Inc. Copyright (c) 1991-1997 Free Software Foundation, Inc.
.PP .PP
Permission is granted to make and distribute verbatim copies of Permission is granted to make and distribute verbatim copies of
this manual provided the copyright notice and this permission notice this manual provided the copyright notice and this permission notice
......
970811 970909
This directory contains .diff files for various GNU CC distributions This directory contains .diff files for various GNU CC distributions
supported by this version of GNU Fortran. supported by this version of GNU Fortran.
The name of a file includes which gcc version to which it applies. 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 command (where the current directory contains the gcc source distribution
after merging into it the g77 source distribution, which would be 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 However, note that applying any of these patches does _not_ update
the gcc.info* files that constitute the Info documentation for gcc. 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 ...@@ -30,7 +30,7 @@ writing), build, and install it, then try the above command (as
makeinfo is part of texinfo). makeinfo is part of texinfo).
This distribution of g77 is not supported for versions of gcc prior 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 If you are using a version of gcc more recent than the most
recent .diff file's version, try the most recent .diff ONLY recent .diff file's version, try the most recent .diff ONLY
......
/* global.h -- Public #include File (module.h template V1.0) /* 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). Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran. This file is part of GNU Fortran.
......
/* lang-specs.h file for Fortran /* 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). Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran. This file is part of GNU Fortran.
......
...@@ -3,7 +3,7 @@ static char junk[] = "\n@(#)LIBF77 VERSION 19970404\n"; ...@@ -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. 2.00 11 June 1980. File version.c added to library.
......
...@@ -73,7 +73,7 @@ f_exit(void) ...@@ -73,7 +73,7 @@ f_exit(void)
#endif #endif
{ int i; { int i;
static cllist xx; static cllist xx;
if (f__init & 1) if (! (f__init & 1))
return; /* Not initialized, so no open units. */ return; /* Not initialized, so no open units. */
if (!xx.cerr) { if (!xx.cerr) {
xx.cerr=1; xx.cerr=1;
......
static char junk[] = "\n@(#) LIBU77 VERSION 19970609\n"; 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> #include <stdio.h>
......
/* stu.c -- Implementation File (module.c template V1.0) /* 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). Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran. This file is part of GNU Fortran.
......
/* Implementation of Fortran symbol manager /* 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). Contributed by James Craig Burley (burley@gnu.ai.mit.edu).
This file is part of GNU Fortran. This file is part of GNU Fortran.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment