This is the mail archive of the gcc-patches@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]
Other format: [Raw text]

RE: Incorrect bitfield aliasing with Tree SSA


>   You know, some of the confusion in this thread may be because your previous
> example:
> 
> 
> " So if I have
> 	struct foo {int x; float y; } bar;
> 	int *pi;
> 	float *pf;
> 
> and mark X as "nonaddressable", I know that an assigment to *pi can't
> affect bar.x.  But if Y isn't similarly marked, an assignment to *pf MIGHT
> affect bar.y unless I could somehow prove by value tracking that it can't. "
> 
> 
> discussed a field that clearly /was/ addressable.  It's a lot more obvious
> that something is non-addressable when you use a bitfield width specifier on
> it.... did you originally intend to do that for foo.x as well?

No, I was trying to write a C example of a concept in the tree that has no
equivalent C syntax.  I was saying "you have the tree for the above C, but
also have the DECL_NONADDRESSABLE_P flag on x".  Eric gave the equivalent
Ada, but since most people don't know Ada, I used C.

Yes, bitfield are the same case, but people aren't convinced of that yet,
so I didn't want to use that in this example.


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