Eric Blake <[email protected]> writes:
> 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
Indeed: this works even with the old GCC.
> 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;
> }
Even the old GCC 3.4.4 errors out with
conftest.c: In function `main':
conftest.c:4: error: size of array `test_array' is negative
Thanks.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University