From: Jeff Law Date: Sun, 14 Sep 1997 19:36:32 +0000 (-0600) Subject: This commit was generated by cvs2svn to compensate for changes in r15440, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ddd28aec2d2b01bde4bbb1e9d4526baed21ddf54;p=gcc.git 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 --- diff --git a/gcc/f/BUGS b/gcc/f/BUGS index ebeaedb7b46..fcbf9b7bb91 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 40fea330e5d..8be979814f6 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 fe8b897266f..fdb83a6d3a1 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 f03069048da..c30f5d7e6b8 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 fe0be038d21..ee4a41b7748 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 1e07aaf42f5..016f59ce197 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 5d14f2a3f1d..8644f3f8187 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 40e15c175f4..691f931a3c0 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 3251491815d..88a2907c217 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 diff --git a/gcc/f/stu.c b/gcc/f/stu.c index 138a070e5d3..239456c0d0b 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 7199cdb9c7c..0ce998b5314 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.