summaryrefslogtreecommitdiffstats
path: root/lib/regex_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'lib/regex_internal.h')
-rw-r--r--lib/regex_internal.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/regex_internal.h b/lib/regex_internal.h
index a36ae4c..d10ba1e 100644
--- a/lib/regex_internal.h
+++ b/lib/regex_internal.h
@@ -182,6 +182,11 @@ 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 PGC GNU/Linux x86-64 5.2-1 and 6.0-8 (and
+ probably other versions), where the preprocessor mishandles large
+ unsigned values and thinks they are signed. */
+# define BITSET_WORD_BITS 64
#else
# error "Add case for new bitset_word size"
#endif