g77.texi: Update maintenance information for GNU Fortran.
authorToon Moene <toon@moene.indiv.nluug.nl>
Tue, 22 May 2001 20:32:16 +0000 (22:32 +0200)
committerToon Moene <toon@gcc.gnu.org>
Tue, 22 May 2001 20:32:16 +0000 (20:32 +0000)
2001-05-22  Toon Moene  <toon@moene.indiv.nluug.nl>

* g77.texi: Update maintenance information for
GNU Fortran.  Remove all mention of -fdebug-kludge.
* news.texi: Make more news in 0.5.26 `user visible
changes'. Acknowledge work by important contributors.
* bugs.texi: Remove all mention of -fdebug-kludge.

From-SVN: r42468

gcc/f/ChangeLog
gcc/f/bugs.texi
gcc/f/g77.texi
gcc/f/news.texi

index 394f1a680a7ae35b22a2a8c2345489e65ab33610..c6ec0e0427f8ba086b7ce1fc91c539702d36343c 100644 (file)
@@ -1,3 +1,11 @@
+2001-05-22  Toon Moene  <toon@moene.indiv.nluug.nl>
+
+       * g77.texi: Update maintenance information for
+       GNU Fortran.  Remove all mention of -fdebug-kludge.
+       * news.texi: Make more news in 0.5.26 `user visible
+       changes'. Acknowledge work by important contributors.
+       * bugs.texi: Remove all mention of -fdebug-kludge.
+
 2001-05-20  Joseph S. Myers  <jsm28@cam.ac.uk>
 
        * Make-lang.in (f/g77.dvi): Include $(srcdir) in TEXINPUTS.
index 73e31d5861c7dec9c648015eb22dd779bc5bcbfa..3e63858184308dabb4fbdeeabd981f413eeab584 100644 (file)
@@ -172,26 +172,6 @@ for information on how to change the point at which
 @code{g77} decides to issue this warning.
 @end ifset
 
-@cindex debugging
-@cindex common blocks
-@cindex equivalence areas
-@cindex local equivalence areas
-@item
-Previous versions of @code{g77} didn't emit information on
-variable and array members of common blocks and equivalences
-for use with a debugger (the @samp{-g} command-line option).
-As of the version of @code{g77} shipped with version 3.0 of
-@code{GCC}, this is corrected.
-
-As of Version 0.5.19, a temporary kludge solution is provided whereby
-some rudimentary information on a member is written as a string that
-is the member's value as a character string.
-
-@ifset DOC-G77
-@xref{Code Gen Options,,Options for Code Generation Conventions},
-for information on the @samp{-fdebug-kludge} option.
-@end ifset
-
 @cindex code, displaying main source
 @cindex displaying main source code
 @cindex debugging main source code
index d1ab3e4a4b341cee6d43abfbe6b1b8fb6b7fceb6..51ed84289e2bdbbcba8553efe3a2cf2e84bcf3ee 100644 (file)
@@ -820,11 +820,14 @@ without royalty; alteration is not permitted.
 @cindex funding improvements
 @cindex improvements, funding
 
-Work on GNU Fortran is still being done mostly by its author,
-James Craig Burley (@email{@value{email-burley}}), who is a volunteer
-for, not an employee of, the Free Software Foundation (FSF).
+James Craig Burley (@email{@value{email-burley}}), the original author
+of g77, stopped working on it in September 1999
 (He has a web page at @uref{@value{www-burley}}.)
 
+GNU Fortran is currently maintained by Toon Moene
+(@email{toon@@moene.indiv.nluug.nl}), with the help of countless other
+volunteers.
+
 As with other GNU software, funding is important because it can pay for
 needed equipment, personnel, and so on.
 
@@ -835,36 +838,6 @@ development of GNU software (such as GNU Fortran) in documents
 such as the ``GNUS Bulletin''.
 Email @email{gnu@@gnu.org} for information on funding the FSF.
 
-To fund specific GNU Fortran work in particular, the FSF might
-provide a means for that, but the FSF does not provide direct funding
-to the author of GNU Fortran to continue his work.  The FSF has
-employee salary restrictions that can be incompatible with the
-financial needs of some volunteers, who therefore choose to
-remain volunteers and thus be able to be free to do contract work
-and otherwise make their own schedules for doing GNU work.
-
-Still, funding the FSF at least indirectly benefits work
-on specific projects like GNU Fortran because it ensures the
-continuing operation of the FSF offices, their workstations, their
-network connections, and so on, which are invaluable to volunteers.
-(Similarly, hiring Cygnus Support can help a project like GNU
-Fortran---Cygnus has been a long-time donor of equipment usage to the author
-of GNU Fortran, and this too has been invaluable---see @ref{Contributors}.)
-
-Currently, the only way to directly fund the author of GNU Fortran
-in his work on that project is to hire him for the work you want
-him to do, or donate money to him.
-Several people have done this
-already, with the result that he has not needed to immediately find
-contract work on a few occasions.
-If more people did this, he
-would be able to plan on not doing contract work for many months and
-could thus devote that time to work on projects (such as the planned
-changes for 0.6) that require longer timeframes to complete.
-For the latest information on the status of the author, do
-@kbd{finger -l burley@@gnu.org} on a UNIX system
-(or any system with a command like UNIX @code{finger}).
-
 Another important way to support work on GNU Fortran is to volunteer
 to help out.
 Work is needed on documentation, testing, porting
@@ -1462,7 +1435,7 @@ by type.  Explanations are in the following sections.
 -fpcc-struct-return  -freg-struct-return
 -fshort-double  -fno-common  -fpack-struct
 -fzeros  -fno-second-underscore
--fdebug-kludge  -femulate-complex
+-femulate-complex
 -falias-check  -fargument-alias
 -fargument-noalias  -fno-argument-noalias-global
 -fno-globals  -fflatten-arrays
@@ -2650,25 +2623,6 @@ either your program or @code{g77}.
 Produce debugging information in the operating system's native format
 (stabs, COFF, XCOFF, or DWARF).  GDB can work with this debugging
 information.
-
-@cindex common blocks
-@cindex equivalence areas
-@cindex missing debug features
-Support for this option in Fortran programs was incomplete up till
-version 0.5.26 of @code{g77}.
-In particular, names of variables and arrays in common blocks
-or that are storage-associated via @code{EQUIVALENCE} were
-unavailable to the debugger.
-
-However, version 0.5.19 of @code{g77} does provide this information
-in a rudimentary way, as controlled by the
-@samp{-fdebug-kludge} option.
-
-Because version 0.5.26 of @code{g77} enables full debug information
-of COMMON BLOCK and EQUIVALENCE items, this option has been disabled.
-
-@xref{Code Gen Options,,Options for Code Generation Conventions},
-for more information.
 @end table
 
 @xref{Debugging Options,,Options for Debugging Your Program or GNU CC,
@@ -3208,82 +3162,6 @@ differently.
 The interpretation changes will affect only non-standard
 programs; standard-conforming programs should not be affected.
 
-@cindex -fdebug-kludge option
-@cindex options, -fdebug-kludge
-@item -fdebug-kludge
-Emit information on @code{COMMON} and @code{EQUIVALENCE} members
-that might help users of debuggers work around lack of proper debugging
-information on such members.
-
-As of version 0.5.19, @code{g77} offers this option to emit
-information on members of aggregate areas to help users while debugging.
-This information consists of establishing the type and contents of each
-such member so that, when a debugger is asked to print the contents,
-the printed information provides rudimentary debugging information.
-This information identifies the name of the aggregate area (either the
-@code{COMMON} block name, or the @code{g77}-assigned name for the
-@code{EQUIVALENCE} name) and the offset, in bytes, of the member from
-the beginning of the area.
-
-Using @code{gdb}, this information is not coherently displayed in the Fortran
-language mode, so temporarily switching to the C language mode to display the
-information is suggested.
-Use @samp{set language c} and @samp{set language fortran} to accomplish this.
-
-As of version 0.5.26 of @code{g77} this option has been disabled, as the
-compiler is now able to emit correct and complete debug information
-for COMMON BLOCK and EQUIVALENCE items.
-
-For example:
-
-@smallexample
-      COMMON /X/A,B
-      EQUIVALENCE (C,D)
-      CHARACTER XX*50
-      EQUIVALENCE (I,XX(20:20))
-      END
-
-GDB is free software and you are welcome to distribute copies of it
- under certain conditions; type "show copying" to see the conditions.
-There is absolutely no warranty for GDB; type "show warranty" for details.
-GDB 4.16 (lm-gnits-dwim), Copyright 1996 Free Software Foundation, Inc...
-(gdb) b MAIN__
-Breakpoint 1 at 0t1200000201120112: file cd.f, line 5.
-(gdb) r
-Starting program: /home/user/a.out
-
-Breakpoint 1, MAIN__ () at cd.f:5
-Current language:  auto; currently fortran
-(gdb) set language c
-Warning: the current language does not match this frame.
-(gdb) p a
-$2 = "At (COMMON) `x_' plus 0 bytes"
-(gdb) p b
-$3 = "At (COMMON) `x_' plus 4 bytes"
-(gdb) p c
-$4 = "At (EQUIVALENCE) `__g77_equiv_c' plus 0 bytes"
-(gdb) p d
-$5 = "At (EQUIVALENCE) `__g77_equiv_c' plus 0 bytes"
-(gdb) p i
-$6 = "At (EQUIVALENCE) `__g77_equiv_xx' plus 20 bytes"
-(gdb) p xx
-$7 = "At (EQUIVALENCE) `__g77_equiv_xx' plus 1 bytes"
-(gdb) set language fortran
-(gdb)
-@end smallexample
-
-@noindent
-Use @samp{-fdebug-kludge} to generate this information,
-which might make some programs noticeably larger.
-
-@emph{Caution:} Future versions of @code{g77} might disregard this option
-(and its negative form).
-Current plans call for this to happen when published versions of @code{g77}
-and @code{gdb} exist that provide proper access to debugging information on
-@code{COMMON} and @code{EQUIVALENCE} members.  This is believed to have
-happened as of version 0.5.26 of @code{g77}, so that this option has been
-disabled starting with this release.
-
 @cindex -femulate-complex option
 @cindex options, -femulate-complex
 @item -femulate-complex
@@ -8846,54 +8724,6 @@ could be used to inhibit the appending of the underscore to the name.
 the same way @code{f2c} does,
 for compatibility with @code{f2c}.
 
-Currently, @code{g77} does not emit ``true'' debugging information for
-members of a @code{COMMON} area, due to an apparent bug in the GBE.
-
-(As of Version 0.5.19, @code{g77} emits debugging information for such
-members in the form of a constant string specifying the base name of
-the aggregate area and the offset of the member in bytes from the start
-of the area.
-Use the @samp{-fdebug-kludge} option to enable this behavior.
-In @code{gdb}, use @samp{set language c} before printing the value
-of the member, then @samp{set language fortran} to restore the default
-language, since @code{gdb} doesn't provide a way to print a readable
-version of a character string in Fortran language mode.
-
-This kludge will be removed in a future version of @code{g77} that,
-in conjunction with a contemporary version of @code{gdb},
-properly supports Fortran-language debugging, including access
-to members of @code{COMMON} areas.)
-
-Version 0.5.26 of @code{g77} is believed to provide correct and
-complete debug information for COMMON BLOCK and EQUIVALENCE items -
-hence the @samp{-fdebug-kludge} option has been disabled.
-
-@xref{Code Gen Options,,Options for Code Generation Conventions},
-for information on the @samp{-fdebug-kludge} option.
-
-Moreover, @code{g77} currently implements a @code{COMMON} area such that its
-type is an array of the C @code{char} data type.
-
-So, when debugging, you must know the offset into a @code{COMMON} area
-for a particular item in that area, and you have to take into
-account the appropriate multiplier for the respective sizes
-of the types (as declared in your code) for the items preceding
-the item in question as compared to the size of the @code{char} type.
-
-For example, using default implicit typing, the statement
-
-@example
-COMMON I(15), R(20), T
-@end example
-
-@noindent
-results in a public 144-byte @code{char} array named @samp{_BLNK__}
-with @samp{I} placed at @samp{_BLNK__[0]}, @samp{R} at @samp{_BLNK__[60]},
-and @samp{T} at @samp{_BLNK__[140]}.
-(This is assuming that the target machine for
-the compilation has 4-byte @code{INTEGER(KIND=1)} and @code{REAL(KIND=1)}
-types.)
-
 @node Local Equivalence Areas
 @section Local Equivalence Areas (EQUIVALENCE)
 @cindex equivalence areas
@@ -8908,43 +8738,6 @@ A local @code{EQUIVALENCE} area is a collection of variables and arrays
 connected to each other in any way via @code{EQUIVALENCE}, none of which are
 listed in a @code{COMMON} statement.
 
-Currently, @code{g77} does not emit ``true'' debugging information for
-members in a local @code{EQUIVALENCE} area, due to an apparent bug in the GBE.
-
-(As of Version 0.5.19, @code{g77} does emit debugging information for such
-members in the form of a constant string specifying the base name of
-the aggregate area and the offset of the member in bytes from the start
-of the area.
-Use the @samp{-fdebug-kludge} option to enable this behavior.
-In @code{gdb}, use @samp{set language c} before printing the value
-of the member, then @samp{set language fortran} to restore the default
-language, since @code{gdb} doesn't provide a way to print a readable
-version of a character string in Fortran language mode.
-
-This kludge will be removed in a future version of @code{g77} that,
-in conjunction with a contemporary version of @code{gdb},
-properly supports Fortran-language debugging, including access
-to members of @code{EQUIVALENCE} areas.)
-
-@xref{Code Gen Options,,Options for Code Generation Conventions},
-for information on the @samp{-fdebug-kludge} option.
-
-Moreover, @code{g77} implements a local @code{EQUIVALENCE} area such that its
-type is an array of the C @code{char} data type.
-
-The name @code{g77} gives this array of @code{char} type is @samp{__g77_equiv_@var{x}},
-where @var{x} is the name of the item that is placed at the beginning (offset 0)
-of this array.
-If more than one such item is placed at the beginning, @var{x} is
-the name that sorts to the top in an alphabetical sort of the list of
-such items.
-
-When debugging, you must therefore access members of @code{EQUIVALENCE}
-areas by specifying the appropriate @samp{__g77_equiv_@var{x}}
-array section with the appropriate offset.
-See the explanation of debugging @code{COMMON} blocks
-for info applicable to debugging local @code{EQUIVALENCE} areas.
-
 (@emph{Note:} @code{g77} version 0.5.18 and earlier chose the name
 for @var{x} using a different method when more than one name was
 in the list of names of entities placed at the beginning of the
index c187a8fa749718a40c3b9ef6085960a1e3dc6208..cb9fbefc688ae4a2e83d3ae90e67c0bc3d5b9dda 100644 (file)
@@ -162,29 +162,31 @@ The following information was last updated on @value{last-update-news}:
 
 @heading In prerelease, 0.5.26, @code{GCC} 3.0 versus @code{GCC} 2.95:
 @itemize @bullet
-@ifclear USERVISONLY
 @item
 When a REWIND was issued after a WRITE statement on an unformatted
 file, the implicit truncation was performed by copying the truncated
 file to /tmp and copying the result back.  This has been fixed by using
 the @code{ftruncate} OS function.  Thanks go to the GAMESS developers
 for bringing this to our attention.
-@end ifclear
 
-@ifclear USERVISONLY
+@item
+Using options @code{-g}, @code{-ggdb} or @code{-gdwarf[-2]} (where
+appropriate for your target) now also enables debugging information
+for COMMON BLOCK and EQUIVALENCE items to be emitted.
+Thanks go to Andrew Vaught (@email{andy@@xena.eas.asu.edu}) and
+George Helffrich (@email{george@@geology.bristol.ac.uk}) for
+fixing this longstanding problem.
+
 @item
 It is not necessary anymore to use the option @code{-femulate-complex}
 to compile Fortran code using COMPLEX arithmetic, even on 64-bit machines
 (like the Alpha).  This will improve code generation.
-@end ifclear
 
-@ifclear USERVISONLY
 @item
 INTRINSIC arithmetic functions are now treated as routines that do not
 depend on anything but their argument(s).  This enables further instruction
 scheduling, because it is known that they cannot read or modify arbitrary
 locations.
-@end ifclear
 
 @ifclear USERVISONLY
 @item
@@ -192,22 +194,11 @@ Upgrade to @code{libf2c} as of 2000-12-05.
 
 This fixes a bug where a namelist containing initialization of LOGICAL
 items and a variable starting with T or F would be read incorrectly.
-@end ifclear
 
-@ifclear USERVISONLY
-@item
-Using options @code{-g}, @code{-ggdb} or @code{-gdwarf[-2]} (where
-appropriate for your target) now also enables debugging information
-for COMMON BLOCK and EQUIVALENCE items to be emitted.
-@end ifclear
-
-@ifclear USERVISONLY
 @item
 The @code{TtyNam} intrinsics now set @var{Name} to all spaces (at run time)
 if the system has no @code{ttyname} implementation available.
-@end ifclear
 
-@ifclear USERVISONLY
 @item
 Upgrade to @code{libf2c} as of 1999-06-28.