This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

Re: Aliasing problems in GNU Chill?


On Thu, Sep 02, 1999 at 12:43:26AM -0600, Jeffrey A Law wrote:
>   In message <19990901144104.A6143@x8b4e53cd.dhcp.okstate.edu>you write:
>   > I was reading through andps.c in libchill recently and came across this.
>   > 
>   >   else if (bitlength <= SET_SHORT_SIZE)
>   >     {
>   >       *((SET_SHORT *)out) = *((SET_SHORT *)left) &
>   >                             *((SET_SHORT *)right);
>   >       MASK_UNUSED_SHORT_BITS((SET_SHORT *)out, bitlength);
>   >     }
>   > 
>   > It appears to me that this suffers from the same aliasing problems that
>   > we've  been hearing about recently. No?
> Yes.
No. SET_SHORT & friends are unsigned char when USE_CHARS is set, and
it's unconditionally set. Hence the exception for char* pointers comes
into play (I believe.) 

It could use some changes (the above block is dead code with USE_CHARS defined),
but it appears to be correct.


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