Hi,

Pavel Roskin <[EMAIL PROTECTED]> schrieb am 13.06.2007 07:22:02:

> Hello Thomas,
> 
> On Mon, 2007-06-11 at 13:59 +0200, Thomas Schmid wrote:
> > Following code
> > 
> >         typedef unsigned char  plcbit;
> >         typedef unsigned char  USINT;
> > 
> >         USINT usVar1;
> > 
> > leads to a symbol "usVar1" with base_type->ident named "plcbit".
> > Is this behaviour expected?
> 
> What happens is the base types like uchar_ctype, which are supposed to
> be initialized once and never changed again, are actually initialized by
> the first typedef, so they are sort of "imprinted" with the new name.

> And the code is:
> 
>         if (is_typedef) {
>                 if (base_type && !base_type->ident)
>                         base_type->ident = ident;
>         } else if (base_type && base_type->type == SYM_FN) {
> 

If I get it right, every typedef pointing to a base type should lead into 
a new base type to get its right ident?

> I don't know what base_type->ident needs to be updated at all.  At least
> SYM_BASETYPE should be exempt from this retroactive update.

Any idea how to fix this?

Best regards,
Thomas Schmid

-
To unsubscribe from this list: send the line "unsubscribe linux-sparse" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to