This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
g77 patch to possible improve some debugging stuff
- To: egcs-patches at cygnus dot com
- Subject: g77 patch to possible improve some debugging stuff
- From: Craig Burley <burley at gnu dot org>
- Date: Tue, 7 Jul 1998 09:41:48 -0400 (EDT)
- Cc: law at cygnus dot com
I believe this patch might help debug g77-produced code in gdb (and
other debuggers), especially when dealing with stuff like CHARACTER*(*)
dummy arguments. That opinion is based on some email conversations
I've had with a couple of people who've been looking into the gdb/g77
problems. (Nobody get too excited about this; it doesn't address
the longstanding COMMON/EQUIVALENCE deficiencies at all, and even
with this patch, the only improvement I could see was that
`which __g77_length_a' did the right thing instead of crashing gdb
4.16 for me. But patches others have tried producing for gdb might,
in combination of this one, allow `p *a' to work without crashing
in a future version of g77.)
Jeff, if this patch doesn't look obviously wrong to you (since it
really involves the back-end interface), could you install it? It
"seems" quite safe, but the sooner it gets tested, the better. (I'm
about to fire up a `make check' on it, which I should have done a
couple of days ago, but it passed my other private test suite without
any new crashes.)
tq vm, (burley)
Sat Jul 4 20:47:19 1998 Craig Burley <burley@gnu.org>
Fix debugging of CHARACTER*(*), etc., which requires
emitting debug info on types like `ftnlen':
* com.c (ffecom_start_progunit_): Don't bother
resetting "invented" flag for identifier.
(ffecom_transform_equiv_): Don't bother zeroing
"ignored" flag for decl.
(pushdecl): No longer set "ignored", "used", or
"suppressed debug" flags for decls having "invented"
identifiers.
*** g77-e0/gcc/f/com.c.~1~ Mon Jun 29 10:11:48 1998
--- g77-e0/gcc/f/com.c Sat Jul 4 19:26:56 1998
*************** ffecom_start_progunit_ ()
*** 7929,7933 ****
ffesymbol_text (fn),
0);
- IDENTIFIER_INVENTED (id) = 0; /* Allow this to be debugged. */
}
#if FFETARGET_isENFORCED_MAIN
--- 7929,7932 ----
*************** ffecom_transform_equiv_ (ffestorag eqst)
*** 9474,9482 ****
eqt = start_decl (eqt, FALSE);
- /* Make sure this shows up as a debug symbol, which is not normally
- the case for invented identifiers. */
-
- DECL_IGNORED_P (eqt) = 0;
-
/* Make sure that any type can live in EQUIVALENCE and be referenced
without getting a bus error. We could pick the most restrictive
--- 9473,9476 ----
*************** pushdecl (x)
*** 15330,15337 ****
#endif
DECL_IN_SYSTEM_HEADER (x) = 1;
- DECL_IGNORED_P (x) = 1;
- TREE_USED (x) = 1;
- if (TREE_CODE (x) == TYPE_DECL)
- TYPE_DECL_SUPPRESS_DEBUG (x) = 1;
}
--- 15324,15327 ----
*** g77-e0/gcc/f/version.c.~1~ Wed Jul 1 11:18:44 1998
--- g77-e0/gcc/f/version.c Sat Jul 4 18:36:02 1998
***************
*** 1 ****
! char *ffe_version_string = "0.5.24-19980701";
--- 1 ----
! char *ffe_version_string = "0.5.24-19980704";