-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

According to Rainer Orth on 10/19/2009 9:23 AM:
> checking for uint64_t... unsigned int
> $ gcc-3.4.4 -c conftest.c
> conftest.c: In function `main':
> conftest.c:4: warning: right shift count >= width of type
> $ echo $?
> 0

Thanks for the report.  It is indeed a bug, and we should be able to work
around it.  We need to break x>>63 into the more appropriate
((x>>31)>>31)>>1 to work around this.  But before I work on the necessary
m4 magic, is it also a problem with smaller types?  In other words, what
happens with:

int
main ()
{
static int test_array [1 - 2 * !((unsigned char) -1 >> (32 - 1) == 1)];
test_array [0] = 0

  ;
  return 0;
}

- --
Don't work too hard, make some time for fun as well!

Eric Blake             [email protected]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkrdt1wACgkQ84KuGfSFAYDYBgCdGUVtWQXg86nuIhf+uGpPxPLw
BcMAn3ORB43DHvJPsWkeLd+vuuCRjgl0
=QkCH
-----END PGP SIGNATURE-----


Reply via email to