* grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all

supported platforms. Put a compile time assert for this rather than
	generate a warning with 32-bit shift.
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2011-01-22 14:11:19 +01:00
parent 5d4f4dd51b
commit 80f23be71f
2 changed files with 8 additions and 3 deletions

View file

@ -1,3 +1,9 @@
2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
supported platforms. Put a compile time assert for this rather than
generate a warning with 32-bit shift.
2011-01-22 Vladimir Serbinenko <phcoder@gmail.com> 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
* grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make

View file

@ -25,6 +25,8 @@
static unsigned static unsigned
round_up_exp (unsigned v) round_up_exp (unsigned v)
{ {
COMPILE_TIME_ASSERT (sizeof (v) == 4);
v--; v--;
v |= v >> 1; v |= v >> 1;
v |= v >> 2; v |= v >> 2;
@ -32,9 +34,6 @@ round_up_exp (unsigned v)
v |= v >> 8; v |= v >> 8;
v |= v >> 16; v |= v >> 16;
if (sizeof (v) > 4)
v |= v >> 32;
v++; v++;
v += (v == 0); v += (v == 0);