Jonathan Patschke wrote: > > If you change that line to > > #if BITSET_WORD_MAX == 0xffffffffUL > > and recompile, do the compilation and "make check" then succeed? > > [... test results with nothing wrong regarding regular expressions...]
Thanks for testing; I'm applying this fix (and also fixing an obvious typo/thinko two lines below). > test-stdint.c doesn't compile: > > cc -Ae -Ae -I. -I../lib -I. -I. -I.. -I./.. -I../lib - > I./../lib -g -c test-stdint.c > cpp: "test-stdint.c", line 249: warning 2012: Unrepresentable > preprocessor number 1LL. > cpp: "test-stdint.c", line 249: error 4038: Bad syntax for #if > condition. > > > When the #if block starting at line 249 is commented out, the file > compiles. The ability of the preprocessor to handle 64-bit numbers was one of the things being tested by this test. So count it as 1 FAIL. > Not all the tests pass. Here are the test results: > > > test-frexp.c:103: assertion failed > sh[9]: 15807 Abort(coredump) > FAIL: test-frexp > test-frexpl.c:114: assertion failed > sh[9]: 15824 Abort(coredump) > FAIL: test-frexpl > test-signbit.c:55: assertion failed > sh[9]: 16478 Abort(coredump) > FAIL: test-signbit > test-strtod.c:314: assertion failed > test-strtod.c:409: assertion failed > test-strtod.c:903: assertion failed > FAIL: test-strtod This compiler apparently has problems with negative zero literals. You can try a workaround: change literals -0.0 into -zero where static double zero = 0.0; If the tests work with this change, it would be clear that the problem is with the compiler and not with the library functions. > FAIL: test-fseeko.sh > test-ftello.c:92: assertion failed > ./test-ftello.sh[3]: 15850 Abort(coredump) > FAIL: test-ftello.sh An stdio bug. But it is not likely to hit 'm4' users. Bruno 2008-07-31 Bruno Haible <[EMAIL PROTECTED]> * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work on HP-UX 10.20 with "cc -Ae". Fix second conditional. Reported by Jonathan Patschke <[EMAIL PROTECTED]>. --- lib/regex_internal.h.orig 2008-07-31 12:03:55.000000000 +0200 +++ lib/regex_internal.h 2008-07-31 12:02:13.000000000 +0200 @@ -161,9 +161,9 @@ instead, deduce it directly from BITSET_WORD_MAX. Avoid greater-than-32-bit integers and unconditional shifts by more than 31 bits, as they're not portable. */ -#if BITSET_WORD_MAX == 0xffffffff +#if BITSET_WORD_MAX == 0xffffffffUL # define BITSET_WORD_BITS 32 -#elif BITSET_WORD_MAX >> 31 >> 5 == 1 +#elif BITSET_WORD_MAX >> 31 >> 4 == 1 # define BITSET_WORD_BITS 36 #elif BITSET_WORD_MAX >> 31 >> 16 == 1 # define BITSET_WORD_BITS 48