Antwort: Re: Messing typedefs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

Pavel Roskin <proski@xxxxxxx> 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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Newbies FAQ]     [LKML]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Trinity Fuzzer Tool]

  Powered by Linux