diff --git a/ChangeLog b/ChangeLog index bd2f7add49..307ae5874f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2019-09-09 Paul Eggert + + Regenerate charmap-kw.h, locfile-kw.h + This propagates the recent http->https URL changes. + Since I used gperf 3.1 to regenerate, this is also a minor + internal-to-localedef API change. + URL problem reported by Joseph Myers in: + https://www.sourceware.org/ml/libc-alpha/2019-09/msg00143.html + * locale/programs/charmap-kw.h, locale/programs/locfile-kw.h: + Regenerate with gperf 3.1. + * locale/programs/linereader.h (kw_hash_fct_t): + * locale/programs/repertoire.c (repertoiremap_hash): + 2nd arg is now size_t not unsigned, for compatibility with gperf 3.1. + 2019-09-05 Florian Weimer [BZ #24962] @@ -349,18 +363,18 @@ so that it is now UTF-8. 2019-08-28 Paul A. Clarke - + * sysdeps/powerpc/fpu/fenv_libc.h (fegetenv_status_ISA300): Delete. (fegetenv_status): Generate 'mffsl' unconditionally. 2019-08-28 Paul A. Clarke - + * sysdeps/powerpc/fpu/fesetenv.c (__fesetenv): Utilize lightweight FPSCR read. (_FPU_MASK_ALL): Delete. 2019-08-28 Paul A. Clarke - + * sysdeps/powerpc/fpu/fenv_private.h (libc_feholdsetround_ppc_ctx): Utilize lightweight FPSCR read if possible, set fewer FPSCR bits if possible. @@ -368,7 +382,7 @@ with simpler required steps, set fewer FPSCR bits if possible. 2019-08-28 Paul A. Clarke - + * sysdeps/powerpc/fpu/fenv_libc.h (fesetenv_mode): New. (FPSCR_FPRF_MASK): New. (FPSCR_STATUS_MASK): New. * sysdeps/powerpc/fpu/feenablxcpt.c (feenableexcept): Use lighter- @@ -379,7 +393,7 @@ access to FPSCR; Use macros in fenv_libc.h in favor of local. 2019-08-28 Paul A. Clarke - + * sysdeps/powerpc/fpu/fenv_libc.h: Define FPSCR bitmasks. (fenv_reg_to_exceptions): Replace bitwise operations with mask-shift. (fenv_exceptions_to_reg): New. diff --git a/locale/programs/charmap-kw.h b/locale/programs/charmap-kw.h index 4495122c80..2f0ac00543 100644 --- a/locale/programs/charmap-kw.h +++ b/locale/programs/charmap-kw.h @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N charmap_hash charmap-kw.gperf */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -25,7 +25,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "charmap-kw.gperf" @@ -46,7 +46,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, see - . */ + . */ #include @@ -69,7 +69,7 @@ inline #endif #endif static unsigned int -hash (register const char *str, register unsigned int len) +hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -100,7 +100,7 @@ hash (register const char *str, register unsigned int len) 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36, 36 }; - register int hval = len; + register unsigned int hval = len; switch (hval) { @@ -125,14 +125,8 @@ hash (register const char *str, register unsigned int len) return hval + asso_values[(unsigned char)str[len - 1]]; } -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct keyword_t * -charmap_hash (register const char *str, register unsigned int len) +charmap_hash (register const char *str, register size_t len) { static const struct keyword_t wordlist[] = { @@ -181,9 +175,9 @@ charmap_hash (register const char *str, register unsigned int len) if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = hash (str, len); + register unsigned int key = hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register const char *s = wordlist[key].name; diff --git a/locale/programs/linereader.h b/locale/programs/linereader.h index 6cc2e811ee..90976ee4e6 100644 --- a/locale/programs/linereader.h +++ b/locale/programs/linereader.h @@ -29,7 +29,7 @@ #include "repertoire.h" #include "record-status.h" -typedef const struct keyword_t *(*kw_hash_fct_t) (const char *, unsigned int); +typedef const struct keyword_t *(*kw_hash_fct_t) (const char *, size_t); struct charset_t; struct localedef_t; diff --git a/locale/programs/locfile-kw.h b/locale/programs/locfile-kw.h index eea233af2e..3cb8a49046 100644 --- a/locale/programs/locfile-kw.h +++ b/locale/programs/locfile-kw.h @@ -1,4 +1,4 @@ -/* ANSI-C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -acCgopt -k'1,2,5,9,$' -L ANSI-C -N locfile_hash locfile-kw.gperf */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -25,7 +25,7 @@ && ('w' == 119) && ('x' == 120) && ('y' == 121) && ('z' == 122) \ && ('{' == 123) && ('|' == 124) && ('}' == 125) && ('~' == 126)) /* The character set is not based on ISO-646. */ -#error "gperf generated tables don't work with this execution character set. Please report a bug to ." +#error "gperf generated tables don't work with this execution character set. Please report a bug to ." #endif #line 1 "locfile-kw.gperf" @@ -69,7 +69,7 @@ inline #endif #endif static unsigned int -hash (register const char *str, register unsigned int len) +hash (register const char *str, register size_t len) { static const unsigned short asso_values[] = { @@ -100,7 +100,7 @@ hash (register const char *str, register unsigned int len) 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631, 631 }; - register int hval = len; + register unsigned int hval = len; switch (hval) { @@ -125,14 +125,8 @@ hash (register const char *str, register unsigned int len) return hval + asso_values[(unsigned char)str[len - 1]]; } -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct keyword_t * -locfile_hash (register const char *str, register unsigned int len) +locfile_hash (register const char *str, register size_t len) { static const struct keyword_t wordlist[] = { @@ -611,9 +605,9 @@ locfile_hash (register const char *str, register unsigned int len) if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = hash (str, len); + register unsigned int key = hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register const char *s = wordlist[key].name; diff --git a/locale/programs/repertoire.c b/locale/programs/repertoire.c index f971f88978..1918034172 100644 --- a/locale/programs/repertoire.c +++ b/locale/programs/repertoire.c @@ -37,7 +37,7 @@ /* Simple keyword hashing for the repertoiremap. */ static const struct keyword_t *repertoiremap_hash (const char *str, - unsigned int len); + size_t len); static void repertoire_new_char (struct linereader *lr, hash_table *ht, hash_table *rt, struct obstack *ob, uint32_t value, const char *from, @@ -358,7 +358,7 @@ repertoire_compare (const void *p1, const void *p2) static const struct keyword_t * -repertoiremap_hash (const char *str, unsigned int len) +repertoiremap_hash (const char *str, size_t len) { static const struct keyword_t wordlist[] = {