This is the mail archive of the gdb@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]

Python: gdb.Type.template_argument method issue


The template_argument method assumes that all template arguments are types.? While that's the most common, other things are also found in the wild.? My C++ book says that the arguments can be integers, enums, pointers, references, or pointer-to-member constant values.? (GCC doesn't want to accept pointers and references, perhaps because it thinks they are relocatable.)

Looking at the code, it appears that the template_argument method will be looking at the demangled type string.? It seems that that's insufficient to sort out exactly what a given template argument is.? For example, if it's an enum, the method will simply see the enum value name, but I don't see how it would know which enum type that is so that doesn't allow it to nail down exactly what we have.

I figure that the thing to do would be to have the method return either a gdb.Type or a gdb.Value, depending on what the template argument is. ?But it looks like it needs more detailed knowledge about the template arguments than it has in the current logic, and I don't know enough GDB to know where to look for that. 

Any hints on where to look?

??????????????? paul


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