From: Paul Eggert Date: Tue, 10 Jan 2006 20:14:43 +0000 (+0000) Subject: * regex_internal.h (BITSET_WORD_BITS): X-Git-Tag: cvs-readonly~2647 X-Git-Url: http://erislabs.org.uk/gitweb/?a=commitdiff_plain;h=e48d8b47fb3eee81d341b71c3e006efe9e3433a7;p=gnulib.git * regex_internal.h (BITSET_WORD_BITS): Work around a bug in 64-bit PGC (before version 6.1-2), where the preprocessor mishandles large unsigned values as if they were signed. --- diff --git a/lib/ChangeLog b/lib/ChangeLog index ccad8070c..8626e27a8 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,11 @@ +2006-01-10 Paul Eggert + + * regex_internal.h (BITSET_WORD_BITS): + Work around a bug in 64-bit PGC (before version 6.1-2), where the + preprocessor mishandles large unsigned values as if they were signed. + Problem reported by Claudio Fontana in + . + 2006-01-10 Simon Josefsson * socket_.h: New file. diff --git a/lib/regex_internal.h b/lib/regex_internal.h index a36ae4c8a..04be143b8 100644 --- a/lib/regex_internal.h +++ b/lib/regex_internal.h @@ -1,5 +1,5 @@ /* Extended regular expression matching and search library. - Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Isamu Hasegawa . @@ -182,6 +182,10 @@ typedef unsigned long int bitset_word; # if BITSET_WORD_BITS <= SBC_MAX # error "Invalid SBC_MAX" # endif + #elif BITSET_WORD_MAX == (0xffffffff + 2) * 0xffffffff +/* Work around a bug in 64-bit PGC (before version 6.1-2), where the + preprocessor mishandles large unsigned values as if they were signed. */ +# define BITSET_WORD_BITS 64 #else # error "Add case for new bitset_word size" #endif