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: [C++0x] contiguous bitfields race implementation


On 05/26/2011 01:39 PM, Aldy Hernandez wrote:
On 05/26/11 12:24, Jason Merrill wrote:
struct A
{
  int i: 4;
  int j: 28;
};

we won't use SImode to access A::j because we're setting maxbits to 28.

No, maxbits is actually 32, because we include padding. So it's correct in this case.

What padding? bitregion_end-bitregion_start+1 will be 32, but in get_best_mode I see


+ maxbits = bitregion_end - bitpos + 1;

which is 28. No?


Incidentally, I would expect _end to be one past the end rather than the index of the last element, but perhaps I just expect that because C++ iterators work that way.

Jason


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