On Tue, Jul 15, 2014 at 7:23 PM, Jeff Layton <jeff.layton@xxxxxxxxxxxxxxx> wrote: > On Tue, 15 Jul 2014 12:51:02 -0700 >> --- a/target.h >> +++ b/target.h >> @@ -49,7 +49,7 @@ extern int enum_alignment; >> >> static inline int bits_to_bytes(int bits) >> { >> - return bits >= 0 ? bits / bits_in_char : -1; >> + return bits >= 0 ? (bits + bits_in_char - 1) / bits_in_char : -1; >> } >> > > This makes the bitfield.c validation test fail: > > TEST bitfield to integer promotion (bitfields.c) > error: actual error text does not match expected error text. > error: see bitfields.c.error.* for further investigation. > --- bitfields.c.error.expected 2014-07-15 22:01:09.236942195 -0400 > +++ bitfields.c.error.got 2014-07-15 22:01:09.237942176 -0400 > @@ -0,0 +1,2 @@ > +bitfields.c:16:19: warning: invalid access past the end of 'y' (0 1) > +bitfields.c:16:19: warning: invalid access past the end of 'y' (0 1) > > Though I haven't looked in detail yet as to why it's failing. Let me take a look and get back to you. I recall there are one more place in array handling need to use bits_to_bytes() instead of reference the bit size directly. Chris -- To unsubscribe from this list: send the line "unsubscribe linux-sparse" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html