Re: Memory corruption due to word sharing

2012-02-08 Thread Jason Merrill
On 02/07/2012 05:32 AM, Aldy Hernandez wrote: struct A { virtual void f(); int f1 : 1;<--- bit 64 }; struct B : public A { int f2 : 1; // { dg-warning "ABI" }<--- bit 65 int : 0; int f3 : 4; int f4 : 3; }; It is my understanding that f1 and f2 must be in distinct memory regions. So

Re: Memory corruption due to word sharing

2012-02-07 Thread Aldy Hernandez
Testcase is for example g++.dg/abi/bitfield5.C, bit layout annotated: struct A { virtual void f(); int f1 : 1;<--- bit 64 }; struct B : public A { int f2 : 1; // { dg-warning "ABI" }<--- bit 65 int : 0; int f3 : 4; int f4 : 3; }; maybe it was a bug (above happens with -fabi

Re: Memory corruption due to word sharing

2012-02-06 Thread Richard Guenther
On Fri, 3 Feb 2012, Richard Guenther wrote: > On Fri, 3 Feb 2012, Richard Guenther wrote: > > > On Fri, 3 Feb 2012, Richard Guenther wrote: > > > > > On Thu, 2 Feb 2012, Aldy Hernandez wrote: > > > > > > > Linus Torvalds writes: > > > > > > > > > Seriously - is there any real argument *agains

Re: Memory corruption due to word sharing

2012-02-03 Thread Richard Guenther
On Fri, 3 Feb 2012, Richard Guenther wrote: > On Fri, 3 Feb 2012, Richard Guenther wrote: > > > On Thu, 2 Feb 2012, Aldy Hernandez wrote: > > > > > Linus Torvalds writes: > > > > > > > Seriously - is there any real argument *against* just using the base > > > > type as a hint for access size?

Re: Memory corruption due to word sharing

2012-02-03 Thread Richard Guenther
(Somehow my reply was private to Aldy ... forwarding to gcc-patches now, given that it contains a patch and we changed topics) On Fri, 3 Feb 2012, Richard Guenther wrote: > On Thu, 2 Feb 2012, Aldy Hernandez wrote: > > > Linus Torvalds writes: > > > > > Seriously - is there any real argument