On Fri, 2005-09-30 at 11:20 -0400, Richard Kenner wrote: > Uh, CAN_ALIAS_ALL seems like a very bad hack then. > You should simply be creating a pointed-to type that aliases set 0, and > using that for the pointed to type. > That is, after all, what alias set 0 is for. > > That's easy enough for integer types, but creating multiple record types > means duplicating lots of fields and layouts and is, in general, a mess.
But of course, it's the right thing to do when you've got one type that can be aliased to anything through a pointer, and the other cannot. > What's special here is the pointer type, not the underlying type. Which means that everywhere that handles pointer types and aliasing has to be modified to check this magic. I still claim it is a hack, and a very bad one. At the absolute least, it should be encapsulated in a function, maybe "get_alias_set_of_pointed_to_type" or something. --Dan