Commit 34b8e428 by Jeff Law

Update to official g77-0.5.21.

From-SVN: r15443
parent ddd28aec
Tue Sep 9 01:59:35 1997 Craig Burley <burley@gnu.ai.mit.edu>
* Version 0.5.21 released.
Tue Sep 9 00:31:01 1997 Craig Burley <burley@gnu.ai.mit.edu>
* intdoc.c (dumpem): Put appropriate commentary in
output file, so readers know it isn't source.
Wed Aug 27 08:08:25 1997 Craig Burley <burley@gnu.ai.mit.edu>
* proj.h: Always #include "config.j" first, to pick up
gcc's configuration.
* com.c: Change bcopy() and bzero() calls to memcpy()
and memset() calls, to make more of g77 ANSI C.
1997-08-26 Dave Love <d.love@dl.ac.uk>
* Make-lang.in ($(srcdir)/f/runtime/configure,
$(srcdir)/f/runtime/libU77/configure): Fix for when srcdir isn't
relative.
Tue Aug 26 05:59:21 1997 Craig Burley <burley@gnu.ai.mit.edu> Tue Aug 26 05:59:21 1997 Craig Burley <burley@gnu.ai.mit.edu>
* ansify.c (main): Make sure readers of stdout know * ansify.c (main): Make sure readers of stdout know
......
...@@ -37,6 +37,7 @@ ...@@ -37,6 +37,7 @@
# - define the names for selecting the language in LANGUAGES. # - define the names for selecting the language in LANGUAGES.
# #
# $(srcdir) must be set to the gcc/ source directory (not gcc/f/). # $(srcdir) must be set to the gcc/ source directory (not gcc/f/).
#
# Extra flags to pass to recursive makes (and to sub-configure). # Extra flags to pass to recursive makes (and to sub-configure).
# Use different quoting rules compared with FLAGS_TO_PASS so we can use # Use different quoting rules compared with FLAGS_TO_PASS so we can use
# this to set environment variables as well # this to set environment variables as well
...@@ -92,6 +93,7 @@ G77_INSTALL_NAME = `t='$(program_transform_name)'; echo g77 | sed $$t` ...@@ -92,6 +93,7 @@ G77_INSTALL_NAME = `t='$(program_transform_name)'; echo g77 | sed $$t`
# Actual names to use when installing a cross-compiler. # Actual names to use when installing a cross-compiler.
F77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo f77 | sed $$t` F77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo f77 | sed $$t`
G77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g77 | sed $$t` G77_CROSS_NAME = `t='$(program_transform_cross_name)'; echo g77 | sed $$t`
#
# Define the names for selecting f77 in LANGUAGES. # Define the names for selecting f77 in LANGUAGES.
# Note that it would be nice to move the dependency on g77 # Note that it would be nice to move the dependency on g77
# into the F77 rule, but that needs a little bit of work # into the F77 rule, but that needs a little bit of work
...@@ -309,6 +311,7 @@ f/runtime/libU77/Makefile: stmp-f2c.h ...@@ -309,6 +311,7 @@ f/runtime/libU77/Makefile: stmp-f2c.h
# $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file) # $(srcdir)/config/$(xmake_file) $(srcdir)/config/$(tmake_file)
# top=`pwd`; cd f/f2c; \ # top=`pwd`; cd f/f2c; \
# $${top}/f/f2c/configure --srcdir=$${top}/f/f2c # $${top}/f/f2c/configure --srcdir=$${top}/f/f2c
#
# Build hooks: # Build hooks:
# I'm not sure there's a way of getting f2c into here conditionally on # I'm not sure there's a way of getting f2c into here conditionally on
...@@ -373,15 +376,10 @@ $(srcdir)/f/NEWS: f/news0.texi f/news.texi ...@@ -373,15 +376,10 @@ $(srcdir)/f/NEWS: f/news0.texi f/news.texi
--no-validate news0.texi -o NEWS --no-validate news0.texi -o NEWS
$(srcdir)/f/runtime/configure: $(srcdir)/f/runtime/configure.in $(srcdir)/f/runtime/configure: $(srcdir)/f/runtime/configure.in
case $(srcdir) in \ cd $(srcdir)/f/runtime && $(MAKE) srcdir=. -f Makefile.in rebuilt
/*) cd f/runtime && $(MAKE) srcdir=$(srcdir)/f/runtime -f $(srcdir)/f/runtime/Makefile.in rebuilt;; \
*) cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt;; \
esac
$(srcdir)/f/runtime/libU77/configure: $(srcdir)/f/runtime/libU77/configure.in $(srcdir)/f/runtime/libU77/configure: $(srcdir)/f/runtime/libU77/configure.in
case $(srcdir) in \ cd $(srcdir)/f/runtime && $(MAKE) srcdir=. -f Makefile.in rebuilt
/*) cd f/runtime && $(MAKE) srcdir=$(srcdir)/f/runtime -f $(srcdir)/f/runtime/Makefile.in rebuilt;; \
*) cd f/runtime && $(MAKE) srcdir=../../$(srcdir)/f/runtime -f ../../$(srcdir)/f/runtime/Makefile.in rebuilt;; \
esac
f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \ f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \
$(srcdir)/f/NEWS $(srcdir)/f/runtime/configure \ $(srcdir)/f/NEWS $(srcdir)/f/runtime/configure \
$(srcdir)/f/runtime/libU77/configure $(srcdir)/f/runtime/libU77/configure
...@@ -389,6 +387,7 @@ f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \ ...@@ -389,6 +387,7 @@ f77.rebuilt: $(srcdir)/f/g77.info $(srcdir)/f/BUGS $(srcdir)/f/INSTALL \
maybe-f2c: maybe-f2c:
#For now, omit f2c stuff. -- burley #For now, omit f2c stuff. -- burley
# case "$(STAGESTUFF)" in *f2c*) $(MAKE) f2c;; esac # case "$(STAGESTUFF)" in *f2c*) $(MAKE) f2c;; esac
#
# Install hooks: # Install hooks:
# f771 is installed elsewhere as part of $(COMPILERS). # f771 is installed elsewhere as part of $(COMPILERS).
...@@ -511,6 +510,7 @@ f77.uninstall: ...@@ -511,6 +510,7 @@ f77.uninstall:
rm -rf include/f2c.h ; \ rm -rf include/f2c.h ; \
rm -rf $(libdir)/libf2c.a ; \ rm -rf $(libdir)/libf2c.a ; \
fi fi
#
# Clean hooks: # Clean hooks:
# A lot of the ancillary files are deleted by the main makefile. # A lot of the ancillary files are deleted by the main makefile.
# We just have to delete files specific to us. # We just have to delete files specific to us.
...@@ -518,19 +518,12 @@ f77.uninstall: ...@@ -518,19 +518,12 @@ f77.uninstall:
f77.mostlyclean: f77.mostlyclean:
-rm -f f/*$(objext) -rm -f f/*$(objext)
-rm -f f/fini f/f771 f/stamp-str f/str-*.h f/str-*.j f/intdoc f/ansify f/intdoc.h0 -rm -f f/fini f/f771 f/stamp-str f/str-*.h f/str-*.j f/intdoc f/ansify f/intdoc.h0
-case $(srcdir) in \ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in mostlyclean
/*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in mostlyclean;; \
*) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in mostlyclean;; \
esac
f77.clean: f77.clean:
-case $(srcdir) in \ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in clean;; \
/*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in clean;; \
*) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in clean;; \
esac esac
f77.distclean: f77.distclean:
-case $(srcdir) in \ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in distclean;; \
/*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in distclean;; \
*) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in distclean;; \
esac esac
-rm -f f/Makefile -rm -f f/Makefile
# like gcc's extraclean, which does clean f/ for us, but not f/gbe, # like gcc's extraclean, which does clean f/ for us, but not f/gbe,
...@@ -549,11 +542,10 @@ f77.extraclean: f77.distclean ...@@ -549,11 +542,10 @@ f77.extraclean: f77.distclean
-rm -f f/*/*/*lose f/*/*/*.s f/*/*/*.s[0-9] f/*/*/*.i -rm -f f/*/*/*lose f/*/*/*.s f/*/*/*.s[0-9] f/*/*/*.i
# realclean is the pre-2.7.0 name for maintainer-clean # realclean is the pre-2.7.0 name for maintainer-clean
f77.maintainer-clean f77.realclean: f77.distclean f77.maintainer-clean f77.realclean: f77.distclean
-case $(srcdir) in \ -cd $(srcdir)/f/runtime; $(MAKE) -f Makefile.in maintainer-clean;; \
/*) cd f/runtime; $(MAKE) -f $(srcdir)/f/runtime/Makefile.in maintainer-clean;; \
*) cd f/runtime; $(MAKE) -f ../../$(srcdir)/f/runtime/Makefile.in maintainer-clean;; \
esac esac
-rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/INSTALL f/NEWS f/intdoc.texi -rm -f f/g77.info* f/g77.*aux f/TAGS f/BUGS f/INSTALL f/NEWS f/intdoc.texi
#
# Stage hooks: # Stage hooks:
# The main makefile has already created stage?/f. # The main makefile has already created stage?/f.
...@@ -590,6 +582,7 @@ f77.stage4: ...@@ -590,6 +582,7 @@ f77.stage4:
-mv $(LIBF77STAGESTUFF) stage4/f/runtime/libF77 -mv $(LIBF77STAGESTUFF) stage4/f/runtime/libF77
-mv $(LIBI77STAGESTUFF) stage4/f/runtime/libI77 -mv $(LIBI77STAGESTUFF) stage4/f/runtime/libI77
-mv $(LIBU77STAGESTUFF) stage4/f/runtime/libU77 -mv $(LIBU77STAGESTUFF) stage4/f/runtime/libU77
#
# Maintenance hooks: # Maintenance hooks:
# This target creates the files that can be rebuilt, but go in the # This target creates the files that can be rebuilt, but go in the
......
...@@ -136,6 +136,7 @@ all: all.indirect ...@@ -136,6 +136,7 @@ all: all.indirect
####host overrides ####host overrides
####cross overrides ####cross overrides
####build overrides ####build overrides
#
# Now figure out from those variables how to compile and link. # Now figure out from those variables how to compile and link.
all.indirect: f/Makefile f771 all.indirect: f/Makefile f771
...@@ -201,6 +202,7 @@ FLAGS_TO_PASS = \ ...@@ -201,6 +202,7 @@ FLAGS_TO_PASS = \
.c.o: .c.o:
$(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -o $@ $(CC) -c $(ALL_CFLAGS) $(ALL_CPPFLAGS) $(INCLUDES) $< -o $@
#
# Lists of files for various purposes. # Lists of files for various purposes.
# Language-specific object files for g77 # Language-specific object files for g77
...@@ -265,6 +267,7 @@ f/Makefile: ...@@ -265,6 +267,7 @@ f/Makefile:
Makefile: $(srcdir)/f/Makefile.in $(srcdir)/configure Makefile: $(srcdir)/f/Makefile.in $(srcdir)/configure
native: f771 native: f771
#
# Compiling object files from source files. # Compiling object files from source files.
# Note that dependencies on obstack.h are not written # Note that dependencies on obstack.h are not written
...@@ -543,6 +546,7 @@ deps-kinda: ...@@ -543,6 +546,7 @@ deps-kinda:
-e 's: \([.]/\)*f/str[.]h: f/stamp-str:g' \ -e 's: \([.]/\)*f/str[.]h: f/stamp-str:g' \
-e 's%^\(.*\)[ ]*: %f/\1: %g' -e 's%^\(.*\)[ ]*: %f/\1: %g'
#
# These exist for maintenance purposes. # These exist for maintenance purposes.
# Update the tags table. # Update the tags table.
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
@c The text of this file appears in the file BUGS @c The text of this file appears in the file BUGS
@c in the G77 distribution, as well as in the G77 manual. @c in the G77 distribution, as well as in the G77 manual.
@c 1996-08-19 @c 1996-09-09
@ifclear BUGSONLY @ifclear BUGSONLY
@node Actual Bugs @node Actual Bugs
...@@ -25,21 +25,8 @@ configure, port, build, and install @code{g77}, ...@@ -25,21 +25,8 @@ configure, port, build, and install @code{g77},
@ref{Problems Installing}. @ref{Problems Installing}.
@itemize @bullet @itemize @bullet
@cindex DNRM2 miscompiled
@item
An old version of the BLAS function @code{DNRM2} is miscompiled
on ix86 machines when @samp{-O2} (or higher, probably) is
used.
The bug is in the @code{gcc} back end, as proven using
a C translation of a simplified version of @code{DRNM2}
that illustrates the bug.
(The code in @file{gcc/reg-stack.c} fails to recognize that,
after an initial load of @samp{XMAX}, a subsequent load
must be preceded by a stack pop, or @samp{fstp %st(0)} in
assembler, to avoid ultimately overflowing the floating-point
stack.)
@cindex Alpha @cindex Alpha
@cindex -O2
@item @item
@code{g77}'s version of @code{gcc}, and probably @code{g77} @code{g77}'s version of @code{gcc}, and probably @code{g77}
itself, cannot be reliably used with the @samp{-O2} option itself, cannot be reliably used with the @samp{-O2} option
...@@ -53,6 +40,24 @@ in this case, @samp{R} might be initialized to @samp{4.0}. ...@@ -53,6 +40,24 @@ in this case, @samp{R} might be initialized to @samp{4.0}.
Until this bug is fixed, use only @samp{-O1} or no optimization. Until this bug is fixed, use only @samp{-O1} or no optimization.
@cindex DNRM2
@cindex stack, 387 coprocessor
@cindex ix86
@cindex -O2
@item
A code-generation bug afflicts
Intel x86 targets when @samp{-O2} is specified
compiling, for example, an old version of
the @samp{DNRM2} routine.
The x87 coprocessor stack is being somewhat
mismanaged in cases where assigned @code{GOTO}
and @code{ASSIGN} are involved.
Version 0.5.21 of @code{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.
@cindex SIGNAL() intrinsic @cindex SIGNAL() intrinsic
@cindex intrinsics, SIGNAL() @cindex intrinsics, SIGNAL()
@item @item
......
...@@ -13874,9 +13874,9 @@ duplicate_decls (tree newdecl, tree olddecl) ...@@ -13874,9 +13874,9 @@ duplicate_decls (tree newdecl, tree olddecl)
{ {
register unsigned olddecl_uid = DECL_UID (olddecl); register unsigned olddecl_uid = DECL_UID (olddecl);
bcopy ((char *) newdecl + sizeof (struct tree_common), memcpy ((char *) olddecl + sizeof (struct tree_common),
(char *) olddecl + sizeof (struct tree_common), (char *) newdecl + sizeof (struct tree_common),
sizeof (struct tree_decl) - sizeof (struct tree_common)); sizeof (struct tree_decl) - sizeof (struct tree_common));
DECL_UID (olddecl) = olddecl_uid; DECL_UID (olddecl) = olddecl_uid;
} }
...@@ -15744,7 +15744,7 @@ open_include_file (filename, searchptr) ...@@ -15744,7 +15744,7 @@ open_include_file (filename, searchptr)
else else
{ {
dir = (char *) xmalloc (p - filename + 1); dir = (char *) xmalloc (p - filename + 1);
bcopy (filename, dir, p - filename); memcpy (dir, filename, p - filename);
dir[p - filename] = '\0'; dir[p - filename] = '\0';
from = p + 1; from = p + 1;
map = read_name_map (dir); map = read_name_map (dir);
...@@ -15958,7 +15958,7 @@ ffecom_file_ (char *name) ...@@ -15958,7 +15958,7 @@ ffecom_file_ (char *name)
early #line directives (when -g is in effect). */ early #line directives (when -g is in effect). */
fp = &instack[++indepth]; fp = &instack[++indepth];
bzero ((char *) fp, sizeof (FILE_BUF)); memset ((char *) fp, 0, sizeof (FILE_BUF));
if (name == NULL) if (name == NULL)
name = ""; name = "";
fp->nominal_fname = fp->fname = name; fp->nominal_fname = fp->fname = name;
...@@ -16218,7 +16218,7 @@ ffecom_open_include_ (char *name, ffewhereLine l, ffewhereColumn c) ...@@ -16218,7 +16218,7 @@ ffecom_open_include_ (char *name, ffewhereLine l, ffewhereColumn c)
instack[indepth].column = ffewhere_column_use (c); instack[indepth].column = ffewhere_column_use (c);
fp = &instack[indepth + 1]; fp = &instack[indepth + 1];
bzero ((char *) fp, sizeof (FILE_BUF)); memset ((char *) fp, 0, sizeof (FILE_BUF));
fp->nominal_fname = fp->fname = fname; fp->nominal_fname = fp->fname = fname;
fp->dir = searchptr; fp->dir = searchptr;
......
...@@ -102,7 +102,7 @@ was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}). ...@@ -102,7 +102,7 @@ was contributed to Craig by David Ronis (@email{ronis@@onsager.chem.mcgill.ca}).
@sp 2 @sp 2
@center James Craig Burley @center James Craig Burley
@sp 3 @sp 3
@center Last updated 1997-08-24 @center Last updated 1997-09-09
@sp 1 @sp 1
@c The version number appears some more times in this file. @c The version number appears some more times in this file.
...@@ -3251,7 +3251,7 @@ users use @code{g77}. ...@@ -3251,7 +3251,7 @@ users use @code{g77}.
such changes to @code{g77}. such changes to @code{g77}.
To find out about existing bugs and ongoing plans for GNU To find out about existing bugs and ongoing plans for GNU
Fortran, retrieve @url{ftp://alpha.gnu.ai.mit.edu/g77.plan} Fortran, retrieve @uref{ftp://alpha.gnu.ai.mit.edu/g77.plan}
or, if you cannot do that, email or, if you cannot do that, email
@email{fortran@@gnu.ai.mit.edu} asking for a recent copy of the @email{fortran@@gnu.ai.mit.edu} asking for a recent copy of the
GNU Fortran @file{.plan} file. GNU Fortran @file{.plan} file.
...@@ -3699,8 +3699,8 @@ way through the compilation process instead of being lost. ...@@ -3699,8 +3699,8 @@ way through the compilation process instead of being lost.
GNU Fortran supports a variety of extensions to, and dialects GNU Fortran supports a variety of extensions to, and dialects
of, the Fortran language. of, the Fortran language.
Its primary base is the ANSI FORTRAN 77 standard, currently available on Its primary base is the ANSI FORTRAN 77 standard, currently available on
the network at @url{http://kumo.swcp.com/fortran/F77_std/f77_std.html} the network at @uref{http://kumo.swcp.com/fortran/F77_std/f77_std.html}
or in @url{ftp://ftp.ast.cam.ac.uk/pub/michael/}. or in @uref{ftp://ftp.ast.cam.ac.uk/pub/michael/}.
It offers some extensions that are popular among users It offers some extensions that are popular among users
of UNIX @code{f77} and @code{f2c} compilers, some that of UNIX @code{f77} and @code{f2c} compilers, some that
are popular among users of other compilers (such as Digital are popular among users of other compilers (such as Digital
...@@ -3711,7 +3711,7 @@ by GNU Fortran. ...@@ -3711,7 +3711,7 @@ by GNU Fortran.
@cindex textbooks @cindex textbooks
(If you need a text on Fortran, (If you need a text on Fortran,
a few freely available electronic references have pointers from a few freely available electronic references have pointers from
@url{http://www.fortran.com/fortran/Books/}.) @uref{http://www.fortran.com/fortran/Books/}.)
Part of what defines a particular implementation of a Fortran Part of what defines a particular implementation of a Fortran
system, such as @code{g77}, is the particular characteristics system, such as @code{g77}, is the particular characteristics
...@@ -7867,7 +7867,7 @@ options @code{g77} passes by running @samp{g77 -v}. ...@@ -7867,7 +7867,7 @@ options @code{g77} passes by running @samp{g77 -v}.
@cindex cfortran.h @cindex cfortran.h
@cindex Netlib @cindex Netlib
Even if you don't actually use it as a compiler, @samp{f2c} from Even if you don't actually use it as a compiler, @samp{f2c} from
@url{ftp://ftp.netlib.org/f2c/src}, can be a useful tool when you're @uref{ftp://ftp.netlib.org/f2c/src}, can be a useful tool when you're
interfacing (linking) Fortran and C@. interfacing (linking) Fortran and C@.
@xref{f2c Skeletons and Prototypes,,Generating Skeletons and Prototypes with @code{f2c}}. @xref{f2c Skeletons and Prototypes,,Generating Skeletons and Prototypes with @code{f2c}}.
...@@ -7877,7 +7877,7 @@ build the @file{src} directory from the distribution, consult the ...@@ -7877,7 +7877,7 @@ build the @file{src} directory from the distribution, consult the
@code{f2c} program on your path. @code{f2c} program on your path.
Something else that might be useful is @samp{cfortran.h} from Something else that might be useful is @samp{cfortran.h} from
@url{ftp://zebra/desy.de/cfortran}. @uref{ftp://zebra/desy.de/cfortran}.
This is a fairly general tool which This is a fairly general tool which
can be used to generate interfaces for calling in both directions can be used to generate interfaces for calling in both directions
between Fortran and C@. between Fortran and C@.
...@@ -7921,8 +7921,8 @@ the return type of a @code{REAL} @code{FUNCTION}.) ...@@ -7921,8 +7921,8 @@ the return type of a @code{REAL} @code{FUNCTION}.)
@samp{-P} option to generate C prototypes appropriate for calling the @samp{-P} option to generate C prototypes appropriate for calling the
Fortran.@footnote{The files generated like this can also be used for Fortran.@footnote{The files generated like this can also be used for
inter-unit consistency checking of dummy and actual arguments, although inter-unit consistency checking of dummy and actual arguments, although
the @samp{ftnchek} tool from @url{ftp://ftp.netlib.org/fortran} the @samp{ftnchek} tool from @uref{ftp://ftp.netlib.org/fortran}
or @url{ftp://ftp.dsm.fordham.edu} is or @uref{ftp://ftp.dsm.fordham.edu} is
probably better for this purpose.} probably better for this purpose.}
If the Fortran code containing any If the Fortran code containing any
routines to be called from C is in file @file{joe.f}, use the command routines to be called from C is in file @file{joe.f}, use the command
...@@ -10164,7 +10164,7 @@ or installing @code{g77} is not provided here. ...@@ -10164,7 +10164,7 @@ or installing @code{g77} is not provided here.
To find out about major bugs discovered in the current release and To find out about major bugs discovered in the current release and
possible workarounds for them, retrieve possible workarounds for them, retrieve
@url{ftp://alpha.gnu.ai.mit.edu/g77.plan}. @uref{ftp://alpha.gnu.ai.mit.edu/g77.plan}.
(Note that some of this portion of the manual is lifted (Note that some of this portion of the manual is lifted
directly from the @code{gcc} manual, with minor modifications directly from the @code{gcc} manual, with minor modifications
...@@ -10270,7 +10270,7 @@ How to cope with such problems is well beyond the scope ...@@ -10270,7 +10270,7 @@ How to cope with such problems is well beyond the scope
of this manual. of this manual.
However, users of Linux-based systems (such as GNU/Linux) However, users of Linux-based systems (such as GNU/Linux)
should review @url{http://www.bitwizard.nl/sig11}, a source should review @uref{http://www.bitwizard.nl/sig11}, a source
of detailed information on diagnosing hardware problems, of detailed information on diagnosing hardware problems,
by recognizing their common symptoms. by recognizing their common symptoms.
...@@ -12272,8 +12272,8 @@ their use into selective changes in your own code. ...@@ -12272,8 +12272,8 @@ their use into selective changes in your own code.
@pindex ftncheck @pindex ftncheck
Validate your code with @code{ftnchek} or a similar code-checking Validate your code with @code{ftnchek} or a similar code-checking
tool. tool.
@code{ftncheck} can be found at @url{ftp://ftp.netlib.org/fortran} @code{ftncheck} can be found at @uref{ftp://ftp.netlib.org/fortran}
or @url{ftp://ftp.dsm.fordham.edu}. or @uref{ftp://ftp.dsm.fordham.edu}.
@item @item
Try your code out using other Fortran compilers, such as @code{f2c}. Try your code out using other Fortran compilers, such as @code{f2c}.
......
/* global.c -- Implementation File (module.c template V1.0) /* global.c -- Implementation File (module.c 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.
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
@c The text of this file appears in the file INSTALL @c The text of this file appears in the file INSTALL
@c in the G77 distribution, as well as in the G77 manual. @c in the G77 distribution, as well as in the G77 manual.
@c 1997-08-17 @c 1997-09-09
@ifclear INSTALLONLY @ifclear INSTALLONLY
@node Installation @node Installation
...@@ -61,20 +61,21 @@ There are GNU versions of all these available---in fact, ...@@ -61,20 +61,21 @@ There are GNU versions of all these available---in fact,
a complete GNU UNIX system can be put together on a complete GNU UNIX system can be put together on
most systems, if desired. most systems, if desired.
=======
The version of GNU @code{gzip} used to package this release The version of GNU @code{gzip} used to package this release
is 1.24. is 1.24.
(The version of GNU @code{tar} used to package this release (The version of GNU @code{tar} used to package this release
is 1.11.2.) is 1.11.2.)
@item @file{gcc-2.7.2.2.tar.gz} @item @file{gcc-2.7.2.3.tar.gz}
You need to have this, or some other applicable, version You need to have this, or some other applicable, version
of @code{gcc} on your system. of @code{gcc} on your system.
The version should be an exact copy of a distribution The version should be an exact copy of a distribution
from the FSF. from the FSF.
Its size is approximately 7.1MB. Its size is approximately 7.1MB.
If you've already unpacked @file{gcc-2.7.2.2.tar.gz} into a If you've already unpacked @file{gcc-2.7.2.3.tar.gz} into a
directory (named @file{gcc-2.7.2.2}) called the @dfn{source tree} directory (named @file{gcc-2.7.2.3}) called the @dfn{source tree}
for @code{gcc}, you can delete the distribution for @code{gcc}, you can delete the distribution
itself, but you'll need to remember to skip any instructions to unpack itself, but you'll need to remember to skip any instructions to unpack
this distribution. this distribution.
...@@ -99,7 +100,7 @@ using, how you build @code{g77}, and how much of it you ...@@ -99,7 +100,7 @@ using, how you build @code{g77}, and how much of it you
install (primarily, which languages you install). install (primarily, which languages you install).
The sizes shown below assume all languages distributed The sizes shown below assume all languages distributed
in @code{gcc-2.7.2.2}, plus @code{g77}, will be built in @code{gcc-2.7.2.3}, plus @code{g77}, will be built
and installed. and installed.
These sizes are indicative of GNU/Linux systems on These sizes are indicative of GNU/Linux systems on
Intel x86 running COFF and on Digital Alpha (AXP) systems Intel x86 running COFF and on Digital Alpha (AXP) systems
...@@ -759,7 +760,7 @@ already reside in @file{/usr/FSF}, a naming convention ...@@ -759,7 +760,7 @@ already reside in @file{/usr/FSF}, a naming convention
used by the author of @code{g77} on his own system: used by the author of @code{g77} on his own system:
@example @example
/usr/FSF/gcc-2.7.2.2.tar.gz /usr/FSF/gcc-2.7.2.3.tar.gz
/usr/FSF/g77-0.5.21.tar.gz /usr/FSF/g77-0.5.21.tar.gz
@end example @end example
...@@ -801,20 +802,20 @@ These explanations follow this list of steps. ...@@ -801,20 +802,20 @@ These explanations follow this list of steps.
@example @example
sh[ 1]# @kbd{cd /usr/src} sh[ 1]# @kbd{cd /usr/src}
@set source-dir 1 @set source-dir 1
sh[ 2]# @kbd{gunzip -c < /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf -} sh[ 2]# @kbd{gunzip -c < /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -}
[Might say "Broken pipe"...that is normal on some systems.] [Might say "Broken pipe"...that is normal on some systems.]
@set unpack-gcc 2 @set unpack-gcc 2
sh[ 3]# @kbd{gunzip -c < /usr/FSF/g77-0.5.21.tar.gz | tar xf -} sh[ 3]# @kbd{gunzip -c < /usr/FSF/g77-0.5.21.tar.gz | tar xf -}
["Broken pipe" again possible.] ["Broken pipe" again possible.]
@set unpack-g77 3 @set unpack-g77 3
sh[ 4]# @kbd{ln -s gcc-2.7.2.2 gcc} sh[ 4]# @kbd{ln -s gcc-2.7.2.3 gcc}
@set link-gcc 4 @set link-gcc 4
sh[ 5]# @kbd{ln -s g77-0.5.21 g77} sh[ 5]# @kbd{ln -s g77-0.5.21 g77}
@set link-g77 5 @set link-g77 5
sh[ 6]# @kbd{mv -i g77/* gcc} sh[ 6]# @kbd{mv -i g77/* gcc}
[No questions should be asked by mv here; or, you made a mistake.] [No questions should be asked by mv here; or, you made a mistake.]
@set merge-g77 6 @set merge-g77 6
sh[ 7]# @kbd{patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.2.diff} sh[ 7]# @kbd{patch -p1 -V t -d gcc < gcc/f/gbe/2.7.2.3.diff}
[Unless patch complains about rejected patches, this step worked.] [Unless patch complains about rejected patches, this step worked.]
@set apply-patch 7 @set apply-patch 7
sh[ 8]# @kbd{cd gcc} sh[ 8]# @kbd{cd gcc}
...@@ -882,7 +883,7 @@ version of @code{g77}, and then apply the appropriate patches ...@@ -882,7 +883,7 @@ version of @code{g77}, and then apply the appropriate patches
to achieve the same result---a source tree containing version to achieve the same result---a source tree containing version
0.5.21 of @code{g77}. 0.5.21 of @code{g77}.
@item Step @value{link-gcc}: @kbd{ln -s gcc-2.7.2.2 gcc} @item Step @value{link-gcc}: @kbd{ln -s gcc-2.7.2.3 gcc}
@item Step @value{link-g77}: @kbd{ln -s g77-0.5.21 g77} @item Step @value{link-g77}: @kbd{ln -s g77-0.5.21 g77}
These commands mainly help reduce typing, These commands mainly help reduce typing,
and help reduce visual clutter in examples and help reduce visual clutter in examples
...@@ -1105,9 +1106,9 @@ and @code{g77} is: ...@@ -1105,9 +1106,9 @@ and @code{g77} is:
@example @example
sh# @kbd{cd /usr/src} sh# @kbd{cd /usr/src}
sh# @kbd{gunzip -c /usr/FSF/gcc-2.7.2.2.tar.gz | tar xf -} sh# @kbd{gunzip -c /usr/FSF/gcc-2.7.2.3.tar.gz | tar xf -}
sh# @kbd{gunzip -c /usr/FSF/g77-0.5.21.tar.gz | tar xf -} sh# @kbd{gunzip -c /usr/FSF/g77-0.5.21.tar.gz | tar xf -}
sh# @kbd{ln -s gcc-2.7.2.2 gcc} sh# @kbd{ln -s gcc-2.7.2.3 gcc}
sh# @kbd{ln -s g77-0.5.21 g77} sh# @kbd{ln -s g77-0.5.21 g77}
sh# @kbd{mv -i g77/* gcc} sh# @kbd{mv -i g77/* gcc}
@end example @end example
...@@ -1133,7 +1134,7 @@ g77/f ...@@ -1133,7 +1134,7 @@ g77/f
All three entries should be moved (or copied) into a @code{gcc} All three entries should be moved (or copied) into a @code{gcc}
source tree (typically named after its version number and source tree (typically named after its version number and
as it appears in the FSF distributions---e.g. @file{gcc-2.7.2.2}). as it appears in the FSF distributions---e.g. @file{gcc-2.7.2.3}).
@file{g77/f} is the subdirectory containing all of the @file{g77/f} is the subdirectory containing all of the
code, documentation, and other information that is specific code, documentation, and other information that is specific
...@@ -1749,43 +1750,43 @@ sh# @kbd{./g77 --driver=./xgcc -B./ -v} ...@@ -1749,43 +1750,43 @@ sh# @kbd{./g77 --driver=./xgcc -B./ -v}
g77 version 0.5.21 g77 version 0.5.21
./xgcc -B./ -v -fnull-version -o /tmp/gfa18047 @dots{} ./xgcc -B./ -v -fnull-version -o /tmp/gfa18047 @dots{}
Reading specs from ./specs Reading specs from ./specs
gcc version 2.7.2.2.f.3 gcc version 2.7.2.3.f.1
./cpp -lang-c -v -isystem ./include -undef @dots{} ./cpp -lang-c -v -isystem ./include -undef @dots{}
GNU CPP version 2.7.2.2.f.3 (Linux/Alpha) GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
#include "..." search starts here: #include "..." search starts here:
#include <...> search starts here: #include <...> search starts here:
./include ./include
/usr/local/include /usr/local/include
/usr/alpha-unknown-linux/include /usr/alpha-unknown-linux/include
/usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
/usr/include /usr/include
End of search list. End of search list.
./f771 /tmp/cca18048.i -fset-g77-defaults -quiet -dumpbase @dots{} ./f771 /tmp/cca18048.i -fset-g77-defaults -quiet -dumpbase @dots{}
GNU F77 version 2.7.2.2.f.3 (Linux/Alpha) compiled @dots{} GNU F77 version 2.7.2.3.f.1 (Linux/Alpha) compiled @dots{}
GNU Fortran Front End version 0.5.21 compiled: @dots{} GNU Fortran Front End version 0.5.21 compiled: @dots{}
as -nocpp -o /tmp/cca180481.o /tmp/cca18048.s as -nocpp -o /tmp/cca180481.o /tmp/cca18048.s
ld -G 8 -O1 -o /tmp/gfa18047 /usr/lib/crt0.o -L. @dots{} ld -G 8 -O1 -o /tmp/gfa18047 /usr/lib/crt0.o -L. @dots{}
__G77_LIBF77_VERSION__: 0.5.21 __G77_LIBF77_VERSION__: 0.5.21
@@(#)LIBF77 VERSION 19970404 @@(#)LIBF77 VERSION 19970404
__G77_LIBI77_VERSION__: 0.5.21 __G77_LIBI77_VERSION__: 0.5.21
@@(#) LIBI77 VERSION pjw,dmg-mods 19970527 @@(#) LIBI77 VERSION pjw,dmg-mods 19970816
__G77_LIBU77_VERSION__: 0.5.21 __G77_LIBU77_VERSION__: 0.5.21
@@(#) LIBU77 VERSION 19970609 @@(#) LIBU77 VERSION 19970609
sh# @kbd{./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone} sh# @kbd{./xgcc -B./ -v -o /tmp/delete-me -xc /dev/null -xnone}
Reading specs from ./specs Reading specs from ./specs
gcc version 2.7.2.2.f.3 gcc version 2.7.2.3.f.1
./cpp -lang-c -v -isystem ./include -undef @dots{} ./cpp -lang-c -v -isystem ./include -undef @dots{}
GNU CPP version 2.7.2.2.f.3 (Linux/Alpha) GNU CPP version 2.7.2.3.f.1 (Linux/Alpha)
#include "..." search starts here: #include "..." search starts here:
#include <...> search starts here: #include <...> search starts here:
./include ./include
/usr/local/include /usr/local/include
/usr/alpha-unknown-linux/include /usr/alpha-unknown-linux/include
/usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.2.f.3/include /usr/lib/gcc-lib/alpha-unknown-linux/2.7.2.3.f.1/include
/usr/include /usr/include
End of search list. End of search list.
./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version @dots{} ./cc1 /tmp/cca18063.i -quiet -dumpbase null.c -version @dots{}
GNU C version 2.7.2.2.f.3 (Linux/Alpha) compiled @dots{} GNU C version 2.7.2.3.f.1 (Linux/Alpha) compiled @dots{}
as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s as -nocpp -o /tmp/cca180631.o /tmp/cca18063.s
ld -G 8 -O1 -o /tmp/delete-me /usr/lib/crt0.o -L. @dots{} ld -G 8 -O1 -o /tmp/delete-me /usr/lib/crt0.o -L. @dots{}
/usr/lib/crt0.o: In function `__start': /usr/lib/crt0.o: In function `__start':
......
...@@ -282,6 +282,8 @@ dumpem () ...@@ -282,6 +282,8 @@ dumpem ()
summaries[cc_summaries[i].imp] = cc_summaries[i].text; summaries[cc_summaries[i].imp] = cc_summaries[i].text;
} }
printf ("@c This file is automatically derived from intdoc.c, intdoc.in,\n");
printf ("@c ansify.c, intrin.def, and intrin.h. Edit those files instead.\n");
printf ("@menu\n"); printf ("@menu\n");
for (i = 0; ((size_t) i) < ARRAY_SIZE (names); ++i) for (i = 0; ((size_t) i) < ARRAY_SIZE (names); ++i)
{ {
......
@c This file is automatically derived from intdoc.c, intdoc.in,
@c ansify.c, intrin.def, and intrin.h. Edit those files instead.
@menu @menu
@ifset familyF2U @ifset familyF2U
* Abort Intrinsic:: Abort the program. * Abort Intrinsic:: Abort the program.
......
/* intrin.h -- Public interface for intrin.c /* intrin.h -- Public interface for intrin.c
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.
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
@c The text of this file appears in the file BUGS @c The text of this file appears in the file BUGS
@c in the G77 distribution, as well as in the G77 manual. @c in the G77 distribution, as well as in the G77 manual.
@c 1997-08-25 @c 1997-09-09
@ifclear NEWSONLY @ifclear NEWSONLY
@node News @node News
...@@ -152,6 +152,13 @@ of arguments exist. ...@@ -152,6 +152,13 @@ of arguments exist.
This avoids a compiler crash. This avoids a compiler crash.
@item @item
Fix parsing bug whereby @code{g77} rejected a
second initialization specification immediately
following the first's closing @samp{/} without
an intervening comma in a @code{DATA} statement,
and the second specification was an implied-DO list.
@item
Improve performance of the @code{gcc} back end so Improve performance of the @code{gcc} back end so
certain complicated expressions involving @code{COMPLEX} certain complicated expressions involving @code{COMPLEX}
arithmetic (especially multiplication) don't appear to arithmetic (especially multiplication) don't appear to
...@@ -164,12 +171,13 @@ back end. ...@@ -164,12 +171,13 @@ back end.
@item @item
Integrate GNU Ada's (GNAT's) changes to the back end, Integrate GNU Ada's (GNAT's) changes to the back end,
which consist almost entirely of bug fixes. which consist almost entirely of bug fixes.
These fixes are circa version 3.10p of GNAT.
@item @item
Include some other @code{gcc} fixes that seem useful in Include some other @code{gcc} fixes that seem useful in
@code{g77}'s version of @code{gcc}. @code{g77}'s version of @code{gcc}.
(See @file{gcc/ChangeLog} for details---compare it (See @file{gcc/ChangeLog} for details---compare it
to that file in the vanilla @code{gcc-2.7.2.2.tar.gz} to that file in the vanilla @code{gcc-2.7.2.3.tar.gz}
distribution.) distribution.)
@item @item
...@@ -224,15 +232,25 @@ during the assembler or linker phase, a compiler ...@@ -224,15 +232,25 @@ during the assembler or linker phase, a compiler
crash, or generation of incorrect code. crash, or generation of incorrect code.
@item @item
Improve alias analysis code to properly handle Make some fixes to alias analysis code.
output registers (such as the @samp{%o} registers
on the SPARC).
@item @item
Add support for @code{restrict} keyword in @code{gcc} Add support for @code{restrict} keyword in @code{gcc}
front end. front end.
@item @item
Support @code{gcc} version 2.7.2.3
(modified by @code{g77} into version 2.7.2.3.f.1),
and remove
support for prior versions of @code{gcc}.
@item
Incorporate GNAT's patches to the @code{gcc} back
end into @code{g77}'s, so GNAT users do not need
to apply GNAT's patches to build both GNAT and @code{g77}
from the same source tree.
@item
Modify @code{make} rules and related code so that Modify @code{make} rules and related code so that
generation of Info documentation doesn't require generation of Info documentation doesn't require
compilation using @code{gcc}. compilation using @code{gcc}.
...@@ -269,10 +287,6 @@ Fix @code{libf2c} build procedure to re-archive library ...@@ -269,10 +287,6 @@ Fix @code{libf2c} build procedure to re-archive library
if previous attempt to archive was interrupted. if previous attempt to archive was interrupted.
@item @item
Fix @code{gcc} to more easily support configuring on
Pentium Pro (686) systems.
@item
Change @code{gcc} to unroll loops only during the last Change @code{gcc} to unroll loops only during the last
invocation (of as many as two invocations) of loop invocation (of as many as two invocations) of loop
optimization. optimization.
......
...@@ -64,6 +64,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA ...@@ -64,6 +64,7 @@ the Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
/* Include files everyone gets. */ /* Include files everyone gets. */
#include "config.j" /* Must come before any other #includes in gcc. */
#include "assert.j" /* Use gcc's assert.h. */ #include "assert.j" /* Use gcc's assert.h. */
#include <stdio.h> #include <stdio.h>
#include <stddef.h> #include <stddef.h>
......
Tue Sep 9 00:33:24 1997 Craig Burley <burley@gnu.ai.mit.edu>
* Version 0.5.21 released.
Mon Sep 8 19:39:01 1997 Craig Burley <burley@gnu.ai.mit.edu>
* libI77/close.c (f_exit): Fix thinko, inverted test
of whether initialization done, so exiting now closes
open units again.
Tue Aug 26 01:42:21 1997 Craig Burley <burley@gnu.ai.mit.edu> Tue Aug 26 01:42:21 1997 Craig Burley <burley@gnu.ai.mit.edu>
From Jim Wilson: From Jim Wilson:
......
...@@ -174,7 +174,7 @@ all: ../../include/f2c.h $(lib) ...@@ -174,7 +174,7 @@ all: ../../include/f2c.h $(lib)
$(lib): stamp-lib ; @true $(lib): stamp-lib ; @true
stamp-lib: stamp-libf77 stamp-libi77 stamp-libu77 stamp-lib: stamp-libf77 stamp-libi77 stamp-libu77
rm -f stamp-lib rm -f stamp-lib
$(AR) $(AR_FLAGS) $(lib) $(FOBJ) $(IOBJ) $(UOBJ) $(AR) $(AR_FLAGS) $(lib) $?
rm -fr libE77 rm -fr libE77
mkdir libE77 mkdir libE77
for name in $(F2CEXT); \ for name in $(F2CEXT); \
......
...@@ -3,7 +3,7 @@ static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19970816\n"; ...@@ -3,7 +3,7 @@ static char junk[] = "\n@(#) LIBI77 VERSION pjw,dmg-mods 19970816\n";
/* /*
*/ */
char __G77_LIBI77_VERSION__[] = "0.5.21-19970811"; char __G77_LIBI77_VERSION__[] = "0.5.21";
/* /*
2.01 $ format added 2.01 $ format added
......
...@@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */ ...@@ -27,7 +27,7 @@ Boston, MA 02111-1307, USA. */
#if HAVE_UNISTD_H #if HAVE_UNISTD_H
# include <unistd.h> # include <unistd.h>
#endif #endif
#include <errno.h> #include <errno.h> /* for ENOSYS */
#include "f2c.h" #include "f2c.h"
integer G77_hostnm_0 (char *name, ftnlen Lname) integer G77_hostnm_0 (char *name, ftnlen Lname)
......
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