From: Bruno Haible <bruno@clisp.org>
Date: Thu, 31 Jul 2008 10:04:14 +0000 (+0200)
Subject: Make determination of BITSET_WORD_MAX work also with old HP-UX cc compilers.
X-Git-Tag: v0.1~7176
X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=d5ea91965354489ef1eb271a05c4235f5b043590;p=gnulib.git

Make determination of BITSET_WORD_MAX work also with old HP-UX cc compilers.
---

diff --git a/ChangeLog b/ChangeLog
index d3942cf6fe..792a1ef932 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-07-31  Bruno Haible  <bruno@clisp.org>
+
+	* 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 <jp@centtech.com>.
+
 2008-07-31  Bruno Haible  <bruno@clisp.org>
 
 	* gnulib-tool (func_import): Make change from 2008-06-23 more robust.
diff --git a/lib/regex_internal.h b/lib/regex_internal.h
index 920177a307..a95c70ac33 100644
--- a/lib/regex_internal.h
+++ b/lib/regex_internal.h
@@ -161,9 +161,9 @@ typedef unsigned long int bitset_word_t;
    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