> They are the alias set mechanism, which you don't seem to understand. > They always have been.
I certainly understand the alias set mechanism. It sounded like you were talking about something else since if the only thing we're using is alias sets, I'm mystified as to what the issue is. > I'd rather not explain all of alias.c to you in an email message, to > be honest As I said, I completely understand alias.c. It sounded like you were trying to do something OUTSIDE of that. So let's start again: why is it suddenly necessary that their be a hierarchy of alias sets when no fields are addressable? If I have struct foo {int a: 1; int b: 1;}; why do we need more than one alias set? Who is it that requires any subsetting at all? Certainly nothing in alias.c does.