diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | posix/regcomp.c | 3 |
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 013d1e47e5..e67b128fe6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2017-11-22 Paul Eggert <eggert@cs.ucla.edu> + + * posix/regcomp.c (init_word_char): Add comments. + 2017-11-22 Joseph Myers <joseph@codesourcery.com> [BZ #22447] diff --git a/posix/regcomp.c b/posix/regcomp.c index 520596b51b..81c2932991 100644 --- a/posix/regcomp.c +++ b/posix/regcomp.c @@ -925,12 +925,15 @@ init_word_char (re_dfa_t *dfa) int ch = 0; if (BE (dfa->map_notascii == 0, 1)) { + /* Avoid uint32_t and uint64_t as some non-GCC platforms lack + them, an issue when this code is used in Gnulib. */ bitset_word_t bits0 = 0x00000000; bitset_word_t bits1 = 0x03ff0000; bitset_word_t bits2 = 0x87fffffe; bitset_word_t bits3 = 0x07fffffe; if (BITSET_WORD_BITS == 64) { + /* Pacify gcc -Woverflow on 32-bit platformns. */ dfa->word_char[0] = bits1 << 31 << 1 | bits0; dfa->word_char[1] = bits3 << 31 << 1 | bits2; i = 2; |