This is the mail archive of the gdb-patches@sources.redhat.com 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: [RFA] Patch for supportinf DW_TAG_module / FORTRAN modules


Jim Blandy writes:
 > Petr Sorfa <petrs@caldera.com> writes:
 > > > 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.
 > > Ok.
 > > 
 > > > > > 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).
 > > Will do. I think I had that done as well.
 > > 
 > > > > > 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.
 > > Please ignore that suggestion, it was made in jest. But you are right,
 > > once namespace support it put in, it should be able to support FORTRAN
 > > modules.
 > > 
 > > If I update the patch to use TYPE_CODE_MODULE and DECLARED_TYPE_CLASS,
 > > would you reconsider the patch?
 > 
 > I'd like to hear Elena's comments on it, but if she thinks it's okay,
 > then I'll review the patch in detail.


I think the using TYPE_CODE_MODULE and DECLARED_TYPE_CLASS will help
in distinguishing the Fortran modules.

I would prefer however is there were lots of new comments added to things
like this, to make things clearer:

!       if (cu_language == language_cplus || cu_language == language_fortran)
  	{
  	  /* For C++, these implicitly act as typedefs as well. */
  	  add_psymbol_to_list (pdi->name, strlen (pdi->name),

and

+     case DW_TAG_module:
+       read_structure_scope (die, objfile, cu_header);
+       break;


I don't nderstand the comment here:
+     case DW_TAG_module:
+       /* Read the module scope a structure. */
+       read_structure_scope (die, objfile, cu_header);



Elena


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