This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: FORTRAN debugging


>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)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]