[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AC_TYPE_UINT64_T produces wrong result with GCC 3.4.4 on Tru64 UNIX
From: |
Rainer Orth |
Subject: |
Re: AC_TYPE_UINT64_T produces wrong result with GCC 3.4.4 on Tru64 UNIX V4.0F |
Date: |
Tue, 20 Oct 2009 20:22:43 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (usg-unix-v) |
Eric Blake <address@hidden> 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