This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: FORTRAN debugging
- To: toon at moene dot indiv dot nluug dot nl
- Subject: Re: FORTRAN debugging
- From: Craig Burley <burley at gnu dot org>
- Date: Thu, 14 Jan 1999 21:53:08 -0500 (EST)
- Cc: egcs at cygnus dot com
- Cc: burley at gnu dot org
>Craig,:
>
>> Not exactly, though there's several issues with which those two are
>> intertwined. So fixing the latter probably includes changing the
>> former. Basically g77 currently tells the back end about aggregates
>> only as monolithic arrays of some type. If that type can be `double',
>> `float', or `int', and still accommodate all the contained types,
>> g77 usually goes for that. Otherwise, it picks `char'. All the members
>> are accessed by pointer-offset games.
>
>OK, so it's the *front-end* that's making the decision here (so the
>behaviour should be the same on all targets). At least to me that
>suggests that a particular EQUIVALENCE or COMMON can or cannot be
>"annotated" with debugging information regardless of the target system -
>assuming that it works if the aggregate consists of equal types (whether
>it's independent of the target debug format is not clear to me yet, but
>I would be surprised if it were dependent on it).
The debugging-info problem is mostly separate from this, but changing
this to use the back-end record (`struct' in C) facility is probably
one of the very first things to get working as part of fixing the
debug-info problem.
The front-end's decision-making process, regarding the underlying
type it chooses for an aggregate, might be sensitive enough to
the underlying types of the Fortran types it knows about to cause it to
*not* have the same behavior on all targets. I wouldn't assume
it'd make the same choices without investigating carefully first.
tq vm, (burley)