Re: RFA: shrink main_type

Ken Werner
2010-09-24T16:27:21Z

On Wednesday, September 15, 2010 2:41:43 pm Ken Werner wrote:
> On Tuesday, August 19, 2008 07:55:37 pm Tom Tromey wrote:
> > + /* Flags about this type. These fields appear at this location
> > + because they packs nicely here. See the TYPE_* macros for
> > + documentation about these fields. */
> > +
> > + unsigned int flag_unsigned : 1;
> > + unsigned int flag_nosign : 1;
> > + unsigned int flag_stub : 1;
> > + unsigned int flag_target_stub : 1;
> > + unsigned int flag_static : 1;
> > + unsigned int flag_prototyped : 1;
> > + unsigned int flag_incomplete : 1;
> > + unsigned int flag_varargs : 1;
> > + unsigned int flag_vector : 1;
> > + unsigned int flag_stub_supported : 1;
> > + unsigned int flag_nottext : 1;
> > + unsigned int flag_fixed_instance : 1;
>
> Hi Tom,
>
> This is quite an old change but while debugging gdb I noticed that vector
> types do have a strange bit set into their instance_flags and this seems to
> go back to this patch.
> The snippet above introduces the flag_nottext as a bitfield member of the
> type struct while gdbtypes.c:make_vector_type still sets that bit into the
> instance_flags.
>
> The nottext flag is set for the element types of vectors
> (gdbtypes.c:make_vector_type) and for the builtin_int8/builtin_int8 types.
> The flag is read from the c-valprint.c:c_textual_element_type function
> that determines whether arrays of chars should be printed as strings or
> not. So, I guess that prior to this patch char vectors were printed just
> like integer vectors - plain data. One approach to restore that
> functionality would be to move the nottext flag into to the instance_flags
> of the type. Attached is an untested patch of what I have in mind.
> Comments are welcome.
>
> This also renders my previous attempt to fix the printing of character
> vectors (http://sourceware.org/ml/gdb-patches/2010-06/msg00573.html)
> obsolete.
>
> Regards
> Ken Werner

Ping. : ) Since I screwed up the recipient list plus the fact that this was a
reply to a 2008 post it may be well hidden by the mail reader.
Are there any comments on that?

Thanks
Ken