tags upstream forwarded thanks [ This is <http://bugs.debian.org/560105> ]
Hello Pierre, thanks for the bug report. * Pierre Ynard wrote on Tue, Dec 08, 2009 at 11:42:02PM CET: > AC_TYPE_INT32_T, and also AC_TYPE_INT16_T and AC_TYPE_INT64_T, output C > code that looks like: > static int test_array [1 - 2 * !(enum { N = $2 / 2 - 1 }; > 0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; > test_array [0] = 0 > which fails to compile with errors like: > > conftest.c: In function 'main': > conftest.c:73: error: expected ')' before ';' token > conftest.c:74: error: expected expression before ']' token > > Thus, the check always returns no. And then ./configure of project foo > aborts because it can find its int types... > > This problem isn't there in autoconf 2.64-4. What an ugly regression. Confirmed. bisect converges at: 15f8838bb6239ebc16beb8472de0217a10de3d5e is the first bad commit commit 15f8838bb6239ebc16beb8472de0217a10de3d5e Author: Eric Blake <e...@byu.net> Date: Tue Oct 20 08:30:03 2009 -0600 Fix AC_TYPE_UINT64_T on Tru64 with gcc 3.4.4. * lib/autoconf/types.m4 (_AC_TYPE_UNSIGNED_INT_BODY) (_AC_TYPE_INT_BODY): Avoid undefined behavior of attempting shift wider than type. * NEWS: Document this. Reported by Rainer Orth. I think we need to start comparing test results against tables for at least a couple of systems, in order to guard against such issues. Cheers, Ralf -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org