This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC]: Document patch for F90 derived type support


On Wed, Mar 01, 2006 at 06:53:44AM +0200, Eli Zaretskii wrote:
> > > I did some comparison between g77 and gfortran.  In the aspect of the 
> > > compiler-generated DW_TAG_base_type, g77 uses "byte", "word" and "integer" 
> > > for "integer*1", "integer*2" and "integer*4" respectively.  And gfortran 
> > > seems to adopt a new mechanism, it uses "int1", "int2" and "int4" 
> > > respectively.  So it might also make some sense.  At lease the debugger 
> > > user can guess the meaning from these words.  :-) 
> > 
> > I think they're close enough to display for now
> 
> ``For now''?  Are we in a hurry to release GDB or something?

No, but my point was that there is no urgency in fixing it, which
allows us to fix gfortran instead.

> > I spoke with Paul Brook and there shouldn't be any trouble changing
> > them if we want to.
> 
> But what about the versions that are already there?  We want GDB to
> behave consistently, even of gfortran does not.

This is the same name that, e.g., gfortran probably uses in some
error messages.  I believe there's value in being consistent with
the compiler that the user is actually using.

You can argue it either way, I don't disagree.  I don't see either
side as particularly more compelling than the other.  For C++
we've been leaning towards consistency within GDB, although
we mostly implement consistency with the user's compiler - and
in some cases there's no choice about it.

> > Eli, I agree that it would be reasonable to ignore them; but I don't
> > think there's any particularly easy way to do it.
> 
> ??? Won't something as simple as
> 
>    if (strcmp ("int4", ...) == 0)
>       printf_filtered ("integer*4");
> 
> do?  What am I missing?

No, it can't be quite that simple, because current versions of Fortran
do support user-named types - "int4" does not necessarily imply
integer(4).  And future versions of the language may even have typedefs
for basic types.

Paul also corrected me on the naming - this would be integer(4)
apparently, integer*4 is something different.

-- 
Daniel Jacobowitz
CodeSourcery


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