top.c (ffe_decode_option): Disable -fdebug-kludge and warn about it.

2000-08-19  Toon Moene  <toon@moene.indiv.nluug.nl>

	* top.c (ffe_decode_option): Disable -fdebug-kludge
	and warn about it.
	* lang-options.h: Document the fact.
	* g77.texi: Ditto.

From-SVN: r35805
This commit is contained in:
Toon Moene 2000-08-19 15:20:07 +02:00 committed by Toon Moene
parent b426bedd5d
commit 11d4ebb581
4 changed files with 27 additions and 6 deletions

View File

@ -1,3 +1,10 @@
2000-08-19 Toon Moene <toon@moene.indiv.nluug.nl>
* top.c (ffe_decode_option): Disable -fdebug-kludge
and warn about it.
* lang-options.h: Document the fact.
* g77.texi: Ditto.
2000-08-13 Toon Moene <toon@moene.indiv.nluug.nl>
* bugs.texi: Describe new ability to emit debug info

View File

@ -2659,15 +2659,19 @@ information.
@cindex common blocks
@cindex equivalence areas
@cindex missing debug features
Support for this option in Fortran programs is incomplete.
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} are
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
@ -3215,6 +3219,10 @@ 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
@ -3261,7 +3269,9 @@ which might make some programs noticeably larger.
(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.
@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
@ -8843,6 +8853,10 @@ 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.

View File

@ -139,7 +139,7 @@ FTNOPT( "-fvxt-intrinsics-enable", "" )
FTNOPT( "-fvxt-intrinsics-hide", "Hide non-FORTRAN-77 intrinsics VXT FORTRAN supports" )
FTNOPT( "-fzeros", "Treat initial values of 0 like non-zero values" )
FTNOPT( "-fno-zeros", "" )
FTNOPT( "-fdebug-kludge", "Emit special debugging information for COMMON and EQUIVALENCE" )
FTNOPT( "-fdebug-kludge", "Emit special debugging information for COMMON and EQUIVALENCE (disabled)" )
FTNOPT( "-fno-debug-kludge", "" )
FTNOPT( "-fonetrip", "Take at least one trip through each iterative DO loop" )
FTNOPT( "-fno-onetrip", "" )

View File

@ -307,9 +307,9 @@ ffe_decode_option (argc, argv)
else if (strcmp (&opt[2], "no-zeros") == 0)
ffe_set_is_zeros (FALSE);
else if (strcmp (&opt[2], "debug-kludge") == 0)
ffe_set_is_debug_kludge (TRUE);
warning ("%s disabled, use normal debugging flags", opt);
else if (strcmp (&opt[2], "no-debug-kludge") == 0)
ffe_set_is_debug_kludge (FALSE);
warning ("%s disabled, use normal debugging flags", opt);
else if (strcmp (&opt[2], "onetrip") == 0)
ffe_set_is_onetrip (TRUE);
else if (strcmp (&opt[2], "no-onetrip") == 0)