This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] Patch for supportinf DW_TAG_module / FORTRAN modules
- From: Jim Blandy <jimb at redhat dot com>
- To: Petr Sorfa <petrs at caldera dot com>
- Cc: "gdb-patches at sources dot redhat dot com" <gdb-patches at sources dot redhat dot com>
- Date: 16 Aug 2002 14:41:29 -0500
- Subject: Re: [RFA] Patch for supportinf DW_TAG_module / FORTRAN modules
- References: <3D34883C.4AAC7EE@caldera.com><vt21y8zu7vg.fsf@zenia.red-bean.com> <3D5D5221.D9854F8F@caldera.com>
Petr Sorfa <petrs@caldera.com> writes:
> > It seems to me like it would work, since a class establishes a scope
> > that behaves very much like a module. Isn't Class::member, where
> > member is a static thingy, very much like Module::member (or whatever
> > the Fortran syntax is)? We already have logic for resolving class
> > scopes; I don't immediately see why module scopes need to behave any
> > differently.
> I thought it did this. Can you point out where I'm going wrong?
Your patch is right, as far as I can see. In that paragraph I'm just
saying why I think the patch should work fine. In the next paragraph
I explain my reservations.
> > But I think a module should be represented by something that calls
> > itself a module, not a typedef. How will people feel reading a
> > comment explaining that a LOC_TYPEDEF for a type with TYPE_CODE_CLASS
> > is how we represent Fortran modules? I'm not sure that counts as good
> > maintenance.
> I originally introduced a TYPE_CODE_MODULE that was basically equivalent
> to a TYPE_CODE_CLASS, as much as TYPE_CODE_CLASS is really
> TYPE_CODE_STRUCT. I think I must have pulled it out for the patch. I can
> put it back in and make it equivalent to TYPE_CODE_CLASS.
If we're going to use a struct/class-like thingy to represent a
Fortran module, then we should at least add DECLARED_TYPE_MODULE (see
DECLARED_TYPE_CLASS, ... in gdbtypes.h).
> > Or maybe this is okay for now. When we provide better support for C++
> > namespaces, Fortran modules can become a variant of that, which feels
> > like a better fit.
> Yes. *Cough* maybe this patch can provide support for namespaces? ;o)
I'm not sure I really want the C++ `std' namespace represented as a
struct type.