diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-08 05:51:19 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-12-08 05:51:19 +0000 |
commit | a4804fbdf503a9c2b550b877120ca4029c65cdb3 (patch) | |
tree | 2a354e79dbe773294347b7123701720a9b1bbb60 | |
parent | f8659dfd94d3f05f365996c68f2f1a78b1e7cbe3 (diff) |
support gperf 3.1
* tool/gperf.sed: extracted sed commands to a script. ANSI-C code
produced by gperf 3.1 declares length arguments as `size_t`. it
causes conflict with existing declarations, and needs casts for
a local variable and return statements.
[Feature #13883]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | Makefile.in | 4 | ||||
-rw-r--r-- | defs/keywords | 2 | ||||
-rw-r--r-- | defs/lex.c.src | 2 | ||||
-rw-r--r-- | enc/jis/props.h.blt | 56 | ||||
-rw-r--r-- | enc/jis/props.kwd | 6 | ||||
-rw-r--r-- | enc/jis/props.src | 6 | ||||
-rw-r--r-- | enc/unicode/10.0.0/name2ctype.h | 8 | ||||
-rw-r--r-- | ext/date/prereq.mk | 2 | ||||
-rw-r--r-- | ext/date/zonetab.h | 375 | ||||
-rw-r--r-- | ext/io/console/depend | 2 | ||||
-rw-r--r-- | ext/io/console/win32_vk.inc | 361 | ||||
-rw-r--r-- | ext/io/console/win32_vk.list | 2 | ||||
-rw-r--r-- | lex.c.blt | 119 | ||||
-rwxr-xr-x | tool/enc-unicode.rb | 11 | ||||
-rw-r--r-- | tool/gperf.sed | 22 |
15 files changed, 489 insertions, 489 deletions
diff --git a/Makefile.in b/Makefile.in index 0ae2abba3d..25075f5900 100644 --- a/Makefile.in +++ b/Makefile.in @@ -345,7 +345,7 @@ lex.c: defs/keywords else \ [ $(Q) ] && echo generating $@ || set -x; \ gperf -C -P -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$$ $? \ - | sed 's/(long)&((\(struct stringpool_t\) *\*)0)->\(stringpool_[a-z0-9]*\)/offsetof(\1, \2)/g' \ + | sed -f $(srcdir)/tool/gperf.sed \ > [email protected] && \ $(MV) [email protected] $@ && \ $(CP) $? $(srcdir)/defs/lex.c.src && \ @@ -363,7 +363,7 @@ $(srcdir)/enc/jis/props.h: enc/jis/props.kwd else \ set -x; \ gperf $(JIS_PROPS_OPTIONS) $? | \ - sed 's/(int)(long)&((\([a-zA-Z_0-9 ]*[a-zA-Z_0-9]\) *\*)0)->\([a-zA-Z0-9_]*\),/(char)offsetof(\1, \2),/g' > $@ && \ + sed -f $(srcdir)/tool/gperf.sed > $@ && \ $(CP) $? $(?:.kwd=.src) && \ $(CP) $@ $(?:.kwd=.h.blt); \ fi diff --git a/defs/keywords b/defs/keywords index e0d931cd1f..cc5622e056 100644 --- a/defs/keywords +++ b/defs/keywords @@ -2,7 +2,7 @@ struct kwtable {int name, id[2], state;}; const struct kwtable *rb_reserved_word(const char *, unsigned int); #ifndef RIPPER -static const struct kwtable *reserved_word(const char *, unsigned int); +/*!ANSI*/static const struct kwtable *reserved_word(const char *, unsigned int); #define rb_reserved_word(str, len) reserved_word(str, len) %} diff --git a/defs/lex.c.src b/defs/lex.c.src index e0d931cd1f..cc5622e056 100644 --- a/defs/lex.c.src +++ b/defs/lex.c.src @@ -2,7 +2,7 @@ struct kwtable {int name, id[2], state;}; const struct kwtable *rb_reserved_word(const char *, unsigned int); #ifndef RIPPER -static const struct kwtable *reserved_word(const char *, unsigned int); +/*!ANSI*/static const struct kwtable *reserved_word(const char *, unsigned int); #define rb_reserved_word(str, len) reserved_word(str, len) %} diff --git a/enc/jis/props.h.blt b/enc/jis/props.h.blt index 4ae2e1fd23..df4850133c 100644 --- a/enc/jis/props.h.blt +++ b/enc/jis/props.h.blt @@ -1,4 +1,4 @@ -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -k1,3 -7 -c -j1 -i1 -t -C -P -t --ignore-case -H onig_jis_property_hash -Q onig_jis_property_pool -N onig_jis_property enc/jis/props.kwd */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -25,20 +25,21 @@ && ('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 <[email protected]>." +#error "gperf generated tables don't work with this execution character set. Please report a bug to <[email protected]>." #endif +#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n) #line 1 "enc/jis/props.kwd" /* -*- c -*- */ #define GPERF_DOWNCASE 1 #define GPERF_CASE_STRNCMP 1 static inline int -gperf_case_strncmp(const char *s1, const char *s2, unsigned int n) +gperf_case_strncmp(const char *s1, const char *s2, size_t n) { const UChar *str = (const UChar *)s1; const UChar *s = (const UChar *)s2; - return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, n); + return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, (int)n); } enum onigenc_jis_ctype { @@ -68,7 +69,7 @@ struct enc_property { unsigned char ctype; }; -static const struct enc_property *onig_jis_property(const char *str, unsigned int len); +/*static const struct enc_property *onig_jis_property(const char *str, unsigned int len);*/ #line 43 "enc/jis/props.kwd" struct enc_property; @@ -107,10 +108,7 @@ static unsigned char gperf_downcase[256] = #ifndef GPERF_CASE_STRNCMP #define GPERF_CASE_STRNCMP 1 static int -gperf_case_strncmp (s1, s2, n) - register const char *s1; - register const char *s2; - register unsigned int n; +gperf_case_strncmp (register const char *s1, register const char *s2, register size_t n) { for (; n > 0;) { @@ -127,15 +125,15 @@ gperf_case_strncmp (s1, s2, n) } #endif -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || defined(__GNUC_STDC_INLINE__) -inline -#elif defined(__GNUC__) +#ifdef __GNUC__ __inline +#else +#ifdef __cplusplus +inline +#endif #endif static unsigned int -onig_jis_property_hash (str, len) - register const char *str; - register unsigned int len; +onig_jis_property_hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -153,7 +151,7 @@ onig_jis_property_hash (str, len) 1, 13, 13, 13, 1, 13, 1, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13 }; - return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]]; + return (unsigned int)len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]]; } struct onig_jis_property_pool_t @@ -175,41 +173,33 @@ static const struct onig_jis_property_pool_t onig_jis_property_pool_contents = "cyrillic" }; #define onig_jis_property_pool ((const char *) &onig_jis_property_pool_contents) -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct enc_property * -onig_jis_property (str, len) - register const char *str; - register unsigned int len; +onig_jis_property (register const char *str, register size_t len) { static const struct enc_property wordlist[] = { {-1}, {-1}, {-1}, {-1}, {-1}, #line 48 "enc/jis/props.kwd" - {(char)offsetof(struct onig_jis_property_pool_t, onig_jis_property_pool_str5), onigenc_jis_han}, + {gperf_offsetof(onig_jis_property_pool, 5), onigenc_jis_han}, {-1}, #line 49 "enc/jis/props.kwd" - {(char)offsetof(struct onig_jis_property_pool_t, onig_jis_property_pool_str7), onigenc_jis_latin}, + {gperf_offsetof(onig_jis_property_pool, 7), onigenc_jis_latin}, #line 50 "enc/jis/props.kwd" - {(char)offsetof(struct onig_jis_property_pool_t, onig_jis_property_pool_str8), onigenc_jis_greek}, + {gperf_offsetof(onig_jis_property_pool, 8), onigenc_jis_greek}, {-1}, #line 46 "enc/jis/props.kwd" - {(char)offsetof(struct onig_jis_property_pool_t, onig_jis_property_pool_str10), onigenc_jis_hiragana}, + {gperf_offsetof(onig_jis_property_pool, 10), onigenc_jis_hiragana}, #line 47 "enc/jis/props.kwd" - {(char)offsetof(struct onig_jis_property_pool_t, onig_jis_property_pool_str11), onigenc_jis_katakana}, + {gperf_offsetof(onig_jis_property_pool, 11), onigenc_jis_katakana}, #line 51 "enc/jis/props.kwd" - {(char)offsetof(struct onig_jis_property_pool_t, onig_jis_property_pool_str12), onigenc_jis_cyrillic} + {gperf_offsetof(onig_jis_property_pool, 12), onigenc_jis_cyrillic} }; if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH) { - register int key = onig_jis_property_hash (str, len); + register unsigned int key = onig_jis_property_hash (str, len); - if (key <= MAX_HASH_VALUE && key >= 0) + if (key <= MAX_HASH_VALUE) { register int o = wordlist[key].name; if (o >= 0) diff --git a/enc/jis/props.kwd b/enc/jis/props.kwd index f3235c0100..eaeeccda37 100644 --- a/enc/jis/props.kwd +++ b/enc/jis/props.kwd @@ -3,11 +3,11 @@ #define GPERF_CASE_STRNCMP 1 static inline int -gperf_case_strncmp(const char *s1, const char *s2, unsigned int n) +gperf_case_strncmp(const char *s1, const char *s2, size_t n) { const UChar *str = (const UChar *)s1; const UChar *s = (const UChar *)s2; - return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, n); + return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, (int)n); } enum onigenc_jis_ctype { @@ -37,7 +37,7 @@ struct enc_property { unsigned char ctype; }; -static const struct enc_property *onig_jis_property(const char *str, unsigned int len); +/*!ANSI*/static const struct enc_property *onig_jis_property(const char *str, unsigned int len); %} struct enc_property; diff --git a/enc/jis/props.src b/enc/jis/props.src index f3235c0100..eaeeccda37 100644 --- a/enc/jis/props.src +++ b/enc/jis/props.src @@ -3,11 +3,11 @@ #define GPERF_CASE_STRNCMP 1 static inline int -gperf_case_strncmp(const char *s1, const char *s2, unsigned int n) +gperf_case_strncmp(const char *s1, const char *s2, size_t n) { const UChar *str = (const UChar *)s1; const UChar *s = (const UChar *)s2; - return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, n); + return onigenc_with_ascii_strnicmp(ONIG_ENCODING_ASCII, str, str + n, s, (int)n); } enum onigenc_jis_ctype { @@ -37,7 +37,7 @@ struct enc_property { unsigned char ctype; }; -static const struct enc_property *onig_jis_property(const char *str, unsigned int len); +/*!ANSI*/static const struct enc_property *onig_jis_property(const char *str, unsigned int len); %} struct enc_property; diff --git a/enc/unicode/10.0.0/name2ctype.h b/enc/unicode/10.0.0/name2ctype.h index 6aab2cb3ae..4a1422d17a 100644 --- a/enc/unicode/10.0.0/name2ctype.h +++ b/enc/unicode/10.0.0/name2ctype.h @@ -34756,7 +34756,9 @@ struct uniname2ctype_struct { }; #define uniname2ctype_offset(str) offsetof(struct uniname2ctype_pool_t, uniname2ctype_pool_##str) +#if !1+0 static const struct uniname2ctype_struct *uniname2ctype_p(const char *, unsigned int); +#endif #ifndef USE_UNICODE_PROPERTIES #define TOTAL_KEYWORDS 15 @@ -34786,7 +34788,7 @@ inline #endif #endif static unsigned int -uniname2ctype_hash (register const char *str, register unsigned int len) +uniname2ctype_hash (register const char *str, register size_t len) { #ifndef USE_UNICODE_PROPERTIES static const unsigned char asso_values[] = @@ -34832,7 +34834,7 @@ uniname2ctype_hash (register const char *str, register unsigned int len) #ifndef USE_UNICODE_PROPERTIES return len + asso_values[(unsigned char)str[2]] + asso_values[(unsigned char)str[0]]; #else /* USE_UNICODE_PROPERTIES */ - register unsigned int hval = len; + register unsigned int hval = (unsigned int)len; switch (hval) { @@ -36535,7 +36537,7 @@ static const struct uniname2ctype_pool_t uniname2ctype_pool_contents = }; #define uniname2ctype_pool ((const char *) &uniname2ctype_pool_contents) const struct uniname2ctype_struct * -uniname2ctype_p (register const char *str, register unsigned int len) +uniname2ctype_p (register const char *str, register size_t len) { static const struct uniname2ctype_struct wordlist[] = { diff --git a/ext/date/prereq.mk b/ext/date/prereq.mk index a0a5a2bff3..c0c55d2c27 100644 --- a/ext/date/prereq.mk +++ b/ext/date/prereq.mk @@ -2,7 +2,7 @@ .list.h: gperf -E -C -c -P -p -j1 -i 1 -g -o -t -N $(*F) $< \ - | sed 's/(int)(long)&((\(struct stringpool_t\) *\*)0)->\(stringpool_[a-z0-9]*\)/offsetof(\1, \2)/g' \ + | sed -f $(top_srcdir)/tool/gperf.sed \ > $(@F) zonetab.h: zonetab.list diff --git a/ext/date/zonetab.h b/ext/date/zonetab.h index fa86e7991a..2dfa9b988a 100644 --- a/ext/date/zonetab.h +++ b/ext/date/zonetab.h @@ -1,4 +1,4 @@ -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -E -C -c -P -p -j1 -i 1 -g -o -t -N zonetab zonetab.list */ /* Computed positions: -k'1-4,$' */ @@ -26,9 +26,10 @@ && ('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 <[email protected]>." +#error "gperf generated tables don't work with this execution character set. Please report a bug to <[email protected]>." #endif +#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n) #line 1 "zonetab.list" struct zone { @@ -40,15 +41,15 @@ static const struct zone *zonetab(); struct zone; /* maximum key range = 434, duplicates = 0 */ -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || defined(__GNUC_STDC_INLINE__) -inline -#elif defined(__GNUC__) +#ifdef __GNUC__ __inline +#else +#ifdef __cplusplus +inline +#endif #endif static unsigned int -hash (str, len) - register const char *str; - register unsigned int len; +hash (register const char *str, register size_t len) { static const unsigned short asso_values[] = { @@ -79,7 +80,7 @@ hash (str, len) 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439, 439 }; - register int hval = len; + register unsigned int hval = (unsigned int)len; switch (hval) { @@ -96,7 +97,7 @@ hash (str, len) hval += asso_values[(unsigned char)str[0]+1]; break; } - return hval + asso_values[(unsigned char)str[len - 1]]; + return (unsigned int)hval + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t @@ -446,16 +447,8 @@ static const struct stringpool_t stringpool_contents = "fiji" }; #define stringpool ((const char *) &stringpool_contents) -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct zone * -zonetab (str, len) - register const char *str; - register unsigned int len; +zonetab (register const char *str, register size_t len) { enum { @@ -470,398 +463,398 @@ zonetab (str, len) { {-1}, {-1}, {-1}, {-1}, {-1}, #line 37 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str5), -5*3600}, + {gperf_offsetof(stringpool, 5), -5*3600}, #line 38 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str6), -6*3600}, + {gperf_offsetof(stringpool, 6), -6*3600}, #line 24 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str7), 4*3600}, + {gperf_offsetof(stringpool, 7), 4*3600}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 15 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str14), -6*3600}, + {gperf_offsetof(stringpool, 14), -6*3600}, #line 16 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str15), -5*3600}, + {gperf_offsetof(stringpool, 15), -5*3600}, #line 85 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str16), 2*3600}, + {gperf_offsetof(stringpool, 16), 2*3600}, #line 71 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str17), 1*3600}, + {gperf_offsetof(stringpool, 17), 1*3600}, #line 90 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str18), 4*3600}, + {gperf_offsetof(stringpool, 18), 4*3600}, #line 79 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str19), 2*3600}, + {gperf_offsetof(stringpool, 19), 2*3600}, #line 65 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str20),-10*3600}, + {gperf_offsetof(stringpool, 20),-10*3600}, {-1}, #line 17 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str22), -7*3600}, + {gperf_offsetof(stringpool, 22), -7*3600}, #line 18 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str23), -6*3600}, + {gperf_offsetof(stringpool, 23), -6*3600}, #line 84 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str24), 2*3600}, + {gperf_offsetof(stringpool, 24), 2*3600}, #line 73 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str25), 1*3600}, + {gperf_offsetof(stringpool, 25), 1*3600}, {-1}, #line 82 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str27), 2*3600}, + {gperf_offsetof(stringpool, 27), 2*3600}, {-1}, {-1}, #line 47 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str30), 0*3600}, + {gperf_offsetof(stringpool, 30), 0*3600}, #line 128 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str31), -43200}, + {gperf_offsetof(stringpool, 31), -43200}, #line 78 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str32), 1*3600}, + {gperf_offsetof(stringpool, 32), 1*3600}, #line 77 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str33), 1*3600}, + {gperf_offsetof(stringpool, 33), 1*3600}, {-1}, #line 95 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str35), 7*3600}, + {gperf_offsetof(stringpool, 35), 7*3600}, #line 98 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str36), 8*3600}, + {gperf_offsetof(stringpool, 36), 8*3600}, #line 25 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str37), 5*3600}, + {gperf_offsetof(stringpool, 37), 5*3600}, #line 123 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str38), 3600}, + {gperf_offsetof(stringpool, 38), 3600}, #line 122 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str39), 21600}, + {gperf_offsetof(stringpool, 39), 21600}, #line 178 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str40), 18000}, + {gperf_offsetof(stringpool, 40), 18000}, #line 120 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str41), 34200}, + {gperf_offsetof(stringpool, 41), 34200}, #line 121 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str42), -21600}, + {gperf_offsetof(stringpool, 42), -21600}, {-1}, #line 13 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str44), -5*3600}, + {gperf_offsetof(stringpool, 44), -5*3600}, #line 14 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str45), -4*3600}, + {gperf_offsetof(stringpool, 45), -4*3600}, #line 124 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str46), 3600}, + {gperf_offsetof(stringpool, 46), 3600}, #line 80 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str47), 2*3600}, + {gperf_offsetof(stringpool, 47), 2*3600}, #line 164 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str48), 25200}, + {gperf_offsetof(stringpool, 48), 25200}, #line 88 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str49), 3*3600}, + {gperf_offsetof(stringpool, 49), 3*3600}, #line 87 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str50), 3*3600}, + {gperf_offsetof(stringpool, 50), 3*3600}, #line 45 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str51), 0*3600}, + {gperf_offsetof(stringpool, 51), 0*3600}, #line 101 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str52),10*3600}, + {gperf_offsetof(stringpool, 52),10*3600}, #line 103 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str53),11*3600}, + {gperf_offsetof(stringpool, 53),11*3600}, #line 160 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str54), -10800}, + {gperf_offsetof(stringpool, 54), -10800}, #line 177 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str55), 3600}, + {gperf_offsetof(stringpool, 55), 3600}, #line 23 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str56), 3*3600}, + {gperf_offsetof(stringpool, 56), 3*3600}, #line 63 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str57), -9*3600}, + {gperf_offsetof(stringpool, 57), -9*3600}, #line 59 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str58), -8*3600}, + {gperf_offsetof(stringpool, 58), -8*3600}, #line 100 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str59), 9*3600}, + {gperf_offsetof(stringpool, 59), 9*3600}, #line 57 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str60), -4*3600}, + {gperf_offsetof(stringpool, 60), -4*3600}, #line 133 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str61), -18000}, + {gperf_offsetof(stringpool, 61), -18000}, #line 54 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str62),-3*3600}, + {gperf_offsetof(stringpool, 62),-3*3600}, #line 86 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str63), 3*3600}, + {gperf_offsetof(stringpool, 63), 3*3600}, #line 175 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str64), 28800}, + {gperf_offsetof(stringpool, 64), 28800}, #line 70 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str65), 1*3600}, + {gperf_offsetof(stringpool, 65), 1*3600}, #line 96 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str66), 8*3600}, + {gperf_offsetof(stringpool, 66), 8*3600}, #line 53 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str67), -3*3600}, + {gperf_offsetof(stringpool, 67), -3*3600}, {-1}, #line 49 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str69),-2*3600}, + {gperf_offsetof(stringpool, 69),-2*3600}, {-1}, #line 21 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str71), 1*3600}, + {gperf_offsetof(stringpool, 71), 1*3600}, #line 131 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str72), 7200}, + {gperf_offsetof(stringpool, 72), 7200}, #line 48 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str73), -2*3600}, + {gperf_offsetof(stringpool, 73), -2*3600}, #line 126 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str74), -21600}, + {gperf_offsetof(stringpool, 74), -21600}, #line 56 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str75), -4*3600}, + {gperf_offsetof(stringpool, 75), -4*3600}, #line 52 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str76), -3*3600}, + {gperf_offsetof(stringpool, 76), -3*3600}, #line 51 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str77), -3*3600}, + {gperf_offsetof(stringpool, 77), -3*3600}, #line 129 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str78), 10800}, + {gperf_offsetof(stringpool, 78), 10800}, #line 132 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str79), -10800}, + {gperf_offsetof(stringpool, 79), -10800}, #line 99 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str80), 9*3600}, + {gperf_offsetof(stringpool, 80), 9*3600}, #line 130 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str81), 36000}, + {gperf_offsetof(stringpool, 81), 36000}, #line 39 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str82), -7*3600}, + {gperf_offsetof(stringpool, 82), -7*3600}, #line 68 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str83), -11*3600}, + {gperf_offsetof(stringpool, 83), -11*3600}, #line 33 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str84), -1*3600}, + {gperf_offsetof(stringpool, 84), -1*3600}, #line 55 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str85), -(3*3600+1800)}, + {gperf_offsetof(stringpool, 85), -(3*3600+1800)}, #line 50 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str86), -(2*3600+1800)}, + {gperf_offsetof(stringpool, 86), -(2*3600+1800)}, #line 117 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str87), -21600}, + {gperf_offsetof(stringpool, 87), -21600}, #line 125 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str88), 39600}, + {gperf_offsetof(stringpool, 88), 39600}, #line 179 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str89), 36000}, + {gperf_offsetof(stringpool, 89), 36000}, #line 67 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str90),-10*3600}, + {gperf_offsetof(stringpool, 90),-10*3600}, #line 62 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str91), -9*3600}, + {gperf_offsetof(stringpool, 91), -9*3600}, {-1}, #line 165 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str93), 28800}, + {gperf_offsetof(stringpool, 93), 28800}, {-1}, #line 94 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str95), 6*3600}, + {gperf_offsetof(stringpool, 95), 6*3600}, {-1}, #line 159 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str97), 10800}, + {gperf_offsetof(stringpool, 97), 10800}, #line 66 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str98),-10*3600}, + {gperf_offsetof(stringpool, 98),-10*3600}, #line 61 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str99),-9*3600}, + {gperf_offsetof(stringpool, 99),-9*3600}, #line 102 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str100), 10*3600}, + {gperf_offsetof(stringpool, 100), 10*3600}, #line 92 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str101), 5*3600}, + {gperf_offsetof(stringpool, 101), 5*3600}, #line 93 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str102), (5*3600+1800)}, + {gperf_offsetof(stringpool, 102), (5*3600+1800)}, #line 76 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str103), 1*3600}, + {gperf_offsetof(stringpool, 103), 1*3600}, #line 42 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str104), -10*3600}, + {gperf_offsetof(stringpool, 104), -10*3600}, #line 91 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str105), 4*3600}, + {gperf_offsetof(stringpool, 105), 4*3600}, {-1}, #line 75 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str107), 1*3600}, + {gperf_offsetof(stringpool, 107), 1*3600}, #line 118 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str108), -3600}, + {gperf_offsetof(stringpool, 108), -3600}, #line 83 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str109), 2*3600}, + {gperf_offsetof(stringpool, 109), 2*3600}, #line 138 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str110), -10800}, + {gperf_offsetof(stringpool, 110), -10800}, {-1}, #line 43 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str112), -11*3600}, + {gperf_offsetof(stringpool, 112), -11*3600}, {-1}, #line 74 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str114), 1*3600}, + {gperf_offsetof(stringpool, 114), 1*3600}, #line 176 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str115), 3600}, + {gperf_offsetof(stringpool, 115), 3600}, #line 30 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str116), 10*3600}, + {gperf_offsetof(stringpool, 116), 10*3600}, #line 22 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str117), 2*3600}, + {gperf_offsetof(stringpool, 117), 2*3600}, {-1}, #line 32 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str119), 12*3600}, + {gperf_offsetof(stringpool, 119), 12*3600}, #line 167 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str120), 21600}, + {gperf_offsetof(stringpool, 120), 21600}, {-1}, #line 81 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str122), 2*3600}, + {gperf_offsetof(stringpool, 122), 2*3600}, {-1}, #line 143 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str124), 12600}, + {gperf_offsetof(stringpool, 124), 12600}, #line 97 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str125), 8*3600}, + {gperf_offsetof(stringpool, 125), 8*3600}, #line 11 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str126), 0*3600}, + {gperf_offsetof(stringpool, 126), 0*3600}, {-1}, #line 36 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str128), -4*3600}, + {gperf_offsetof(stringpool, 128), -4*3600}, #line 106 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str129), 12*3600}, + {gperf_offsetof(stringpool, 129), 12*3600}, {-1}, #line 105 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str131),12*3600}, + {gperf_offsetof(stringpool, 131),12*3600}, #line 107 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str132),13*3600}, + {gperf_offsetof(stringpool, 132),13*3600}, #line 149 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str133), 23400}, + {gperf_offsetof(stringpool, 133), 23400}, {-1}, #line 109 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str135), -32400}, + {gperf_offsetof(stringpool, 135), -32400}, #line 19 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str136), -8*3600}, + {gperf_offsetof(stringpool, 136), -8*3600}, #line 20 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str137), -7*3600}, + {gperf_offsetof(stringpool, 137), -7*3600}, #line 162 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str138), -14400}, + {gperf_offsetof(stringpool, 138), -14400}, #line 145 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str139), 32400}, + {gperf_offsetof(stringpool, 139), 32400}, {-1}, {-1}, #line 44 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str142), -12*3600}, + {gperf_offsetof(stringpool, 142), -12*3600}, #line 26 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str143), 6*3600}, + {gperf_offsetof(stringpool, 143), 6*3600}, #line 60 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str144),-9*3600}, + {gperf_offsetof(stringpool, 144),-9*3600}, #line 58 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str145),-8*3600}, + {gperf_offsetof(stringpool, 145),-8*3600}, {-1}, {-1}, #line 119 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str148), 14400}, + {gperf_offsetof(stringpool, 148), 14400}, {-1}, #line 89 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str150), 3*3600}, + {gperf_offsetof(stringpool, 150), 3*3600}, #line 104 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str151),12*3600}, + {gperf_offsetof(stringpool, 151),12*3600}, {-1}, #line 111 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str153), 14400}, + {gperf_offsetof(stringpool, 153), 14400}, {-1}, #line 34 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str155), -2*3600}, + {gperf_offsetof(stringpool, 155), -2*3600}, #line 31 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str156), 11*3600}, + {gperf_offsetof(stringpool, 156), 11*3600}, #line 147 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str157), -7200}, + {gperf_offsetof(stringpool, 157), -7200}, {-1}, {-1}, #line 172 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str160), -18000}, + {gperf_offsetof(stringpool, 160), -18000}, {-1}, {-1}, {-1}, #line 64 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str164),-10*3600}, + {gperf_offsetof(stringpool, 164),-10*3600}, {-1}, {-1}, #line 28 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str167), 8*3600}, + {gperf_offsetof(stringpool, 167), 8*3600}, #line 137 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str168), 7200}, + {gperf_offsetof(stringpool, 168), 7200}, #line 29 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str169), 9*3600}, + {gperf_offsetof(stringpool, 169), 9*3600}, #line 155 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str170), 25200}, + {gperf_offsetof(stringpool, 170), 25200}, #line 150 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str171), 21600}, + {gperf_offsetof(stringpool, 171), 21600}, #line 154 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str172), 28800}, + {gperf_offsetof(stringpool, 172), 28800}, {-1}, #line 161 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str174), -18000}, + {gperf_offsetof(stringpool, 174), -18000}, {-1}, {-1}, #line 166 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str177), 7200}, + {gperf_offsetof(stringpool, 177), 7200}, {-1}, {-1}, {-1}, #line 115 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str181), 36000}, + {gperf_offsetof(stringpool, 181), 36000}, #line 113 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str182), -14400}, + {gperf_offsetof(stringpool, 182), -14400}, {-1}, {-1}, {-1}, #line 146 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str186), -21600}, + {gperf_offsetof(stringpool, 186), -21600}, {-1}, #line 148 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str188), -25200}, + {gperf_offsetof(stringpool, 188), -25200}, {-1}, #line 127 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str190), 28800}, + {gperf_offsetof(stringpool, 190), 28800}, #line 116 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str191), -3600}, + {gperf_offsetof(stringpool, 191), -3600}, #line 142 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str192), 19800}, + {gperf_offsetof(stringpool, 192), 19800}, {-1}, #line 40 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str194), -8*3600}, + {gperf_offsetof(stringpool, 194), -8*3600}, #line 112 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str195), 10800}, + {gperf_offsetof(stringpool, 195), 10800}, #line 139 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str196), 0}, + {gperf_offsetof(stringpool, 196), 0}, #line 152 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str197), 43200}, + {gperf_offsetof(stringpool, 197), 43200}, #line 141 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str198), -36000}, + {gperf_offsetof(stringpool, 198), -36000}, #line 27 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str199), 7*3600}, + {gperf_offsetof(stringpool, 199), 7*3600}, #line 158 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str200), 3600}, + {gperf_offsetof(stringpool, 200), 3600}, {-1}, {-1}, #line 110 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str203), 10800}, + {gperf_offsetof(stringpool, 203), 10800}, #line 163 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str204), -39600}, + {gperf_offsetof(stringpool, 204), -39600}, #line 41 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str205), -9*3600}, + {gperf_offsetof(stringpool, 205), -9*3600}, #line 35 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str206), -3*3600}, + {gperf_offsetof(stringpool, 206), -3*3600}, #line 12 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str207), 0*3600}, + {gperf_offsetof(stringpool, 207), 0*3600}, #line 169 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str208), 36000}, + {gperf_offsetof(stringpool, 208), 36000}, #line 72 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str209), 1*3600}, + {gperf_offsetof(stringpool, 209), 1*3600}, {-1}, #line 153 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str211), -12600}, + {gperf_offsetof(stringpool, 211), -12600}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 151 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str217), 20700}, + {gperf_offsetof(stringpool, 217), 20700}, #line 114 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str218), 34200}, + {gperf_offsetof(stringpool, 218), 34200}, {-1}, {-1}, #line 140 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str221), 7200}, + {gperf_offsetof(stringpool, 221), 7200}, {-1}, #line 174 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str223), 36000}, + {gperf_offsetof(stringpool, 223), 36000}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 46 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str229), 0*3600}, + {gperf_offsetof(stringpool, 229), 0*3600}, {-1}, {-1}, {-1}, #line 135 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str233), 18000}, + {gperf_offsetof(stringpool, 233), 18000}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 173 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str265), -25200}, + {gperf_offsetof(stringpool, 265), -25200}, {-1}, {-1}, {-1}, #line 144 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str269), 7200}, + {gperf_offsetof(stringpool, 269), 7200}, {-1}, {-1}, #line 180 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str272), 32400}, + {gperf_offsetof(stringpool, 272), 32400}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 156 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str279), -14400}, + {gperf_offsetof(stringpool, 279), -14400}, {-1}, {-1}, #line 171 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str282), 46800}, + {gperf_offsetof(stringpool, 282), 46800}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 108 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str314), 16200}, + {gperf_offsetof(stringpool, 314), 16200}, {-1}, {-1}, {-1}, {-1}, #line 69 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str319),-12*3600}, + {gperf_offsetof(stringpool, 319),-12*3600}, {-1}, {-1}, #line 157 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str322), -28800}, + {gperf_offsetof(stringpool, 322), -28800}, {-1}, {-1}, {-1}, {-1}, #line 168 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str327), 28800}, + {gperf_offsetof(stringpool, 327), 28800}, #line 134 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str328), 7200}, + {gperf_offsetof(stringpool, 328), 7200}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, @@ -870,21 +863,21 @@ zonetab (str, len) {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 170 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str392), 32400}, + {gperf_offsetof(stringpool, 392), 32400}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 136 "zonetab.list" - {offsetof(struct stringpool_t, stringpool_str438), 43200} + {gperf_offsetof(stringpool, 438), 43200} }; 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 int o = wordlist[key].name; if (o >= 0) diff --git a/ext/io/console/depend b/ext/io/console/depend index d69a0b3aef..821b28d3fc 100644 --- a/ext/io/console/depend +++ b/ext/io/console/depend @@ -26,7 +26,7 @@ win32_vk.inc: win32_vk.list -e 'puts(%[#ifndef #{n}\n# define #{n} UNDEFINED_VK\n#endif])' \ $< && \ gperf --ignore-case -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k* $< \ - | sed 's/(int)(long)&((\(struct stringpool_t\) *\*)0)->\(stringpool_[a-z0-9]*\)/offsetof(\1, \2)/g' \ + | sed -f $(top_srcdir)/tool/gperf.sed \ ) > $(@F) .SUFFIXES: .chksum .list .inc diff --git a/ext/io/console/win32_vk.inc b/ext/io/console/win32_vk.inc index a098158e27..ab09cd67d2 100644 --- a/ext/io/console/win32_vk.inc +++ b/ext/io/console/win32_vk.inc @@ -479,7 +479,7 @@ #ifndef VK_OEM_CLEAR # define VK_OEM_CLEAR UNDEFINED_VK #endif -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf --ignore-case -E -C -P -p -j1 -i 1 -g -o -t -K ofs -N console_win32_vk -k'*' win32_vk.list */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -506,13 +506,14 @@ && ('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 <[email protected]>." +#error "gperf generated tables don't work with this execution character set. Please report a bug to <[email protected]>." #endif +#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n) #line 1 "win32_vk.list" struct vktable {short ofs; unsigned short vk;}; -static const struct vktable *console_win32_vk(const char *, unsigned int); +/*static const struct vktable *console_win32_vk(const char *, unsigned int);*/ #line 5 "win32_vk.list" struct vktable; /* maximum key range = 245, duplicates = 0 */ @@ -545,9 +546,7 @@ static unsigned char gperf_downcase[256] = #ifndef GPERF_CASE_STRCMP #define GPERF_CASE_STRCMP 1 static int -gperf_case_strcmp (s1, s2) - register const char *s1; - register const char *s2; +gperf_case_strcmp (register const char *s1, register const char *s2) { for (;;) { @@ -560,15 +559,15 @@ gperf_case_strcmp (s1, s2) } #endif -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || defined(__GNUC_STDC_INLINE__) -inline -#elif defined(__GNUC__) +#ifdef __GNUC__ __inline +#else +#ifdef __cplusplus +inline +#endif #endif static unsigned int -hash (str, len) - register const char *str; - register unsigned int len; +hash (register const char *str, register size_t len) { static const unsigned short asso_values[] = { @@ -599,7 +598,7 @@ hash (str, len) 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257, 257 }; - register int hval = len; + register unsigned int hval = (unsigned int)len; switch (hval) { @@ -661,7 +660,7 @@ hash (str, len) hval += asso_values[(unsigned char)str[0]]; break; } - return hval; + return (unsigned int)hval; } struct stringpool_t @@ -991,16 +990,8 @@ static const struct stringpool_t stringpool_contents = "DIVIDE" }; #define stringpool ((const char *) &stringpool_contents) -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct vktable * -console_win32_vk (str, len) - register const char *str; - register unsigned int len; +console_win32_vk (register const char *str, register size_t len) { enum { @@ -1016,375 +1007,375 @@ console_win32_vk (str, len) {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 40 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str12), VK_UP}, + {gperf_offsetof(stringpool, 12), VK_UP}, #line 52 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str13), VK_APPS}, + {gperf_offsetof(stringpool, 13), VK_APPS}, #line 159 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str14), VK_CRSEL}, + {gperf_offsetof(stringpool, 14), VK_CRSEL}, #line 34 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str15), VK_SPACE}, + {gperf_offsetof(stringpool, 15), VK_SPACE}, #line 95 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str16), VK_SCROLL}, + {gperf_offsetof(stringpool, 16), VK_SCROLL}, #line 29 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str17), VK_ESCAPE}, + {gperf_offsetof(stringpool, 17), VK_ESCAPE}, #line 9 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str18), VK_CANCEL}, + {gperf_offsetof(stringpool, 18), VK_CANCEL}, #line 32 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str19), VK_ACCEPT}, + {gperf_offsetof(stringpool, 19), VK_ACCEPT}, #line 66 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str20), VK_SEPARATOR}, + {gperf_offsetof(stringpool, 20), VK_SEPARATOR}, #line 43 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str21), VK_SELECT}, + {gperf_offsetof(stringpool, 21), VK_SELECT}, #line 18 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str22), VK_CONTROL}, + {gperf_offsetof(stringpool, 22), VK_CONTROL}, #line 166 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str23), VK_OEM_CLEAR}, + {gperf_offsetof(stringpool, 23), VK_OEM_CLEAR}, #line 145 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str24), VK_OEM_RESET}, + {gperf_offsetof(stringpool, 24), VK_OEM_RESET}, #line 155 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str25), VK_OEM_AUTO}, + {gperf_offsetof(stringpool, 25), VK_OEM_AUTO}, #line 151 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str26), VK_OEM_CUSEL}, + {gperf_offsetof(stringpool, 26), VK_OEM_CUSEL}, {-1}, #line 22 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str28), VK_KANA}, + {gperf_offsetof(stringpool, 28), VK_KANA}, #line 127 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str29), VK_OEM_PLUS}, + {gperf_offsetof(stringpool, 29), VK_OEM_PLUS}, #line 35 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str30), VK_PRIOR}, + {gperf_offsetof(stringpool, 30), VK_PRIOR}, #line 152 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str31), VK_OEM_ATTN}, + {gperf_offsetof(stringpool, 31), VK_OEM_ATTN}, #line 20 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str32), VK_PAUSE}, + {gperf_offsetof(stringpool, 32), VK_PAUSE}, #line 13 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str33), VK_BACK}, + {gperf_offsetof(stringpool, 33), VK_BACK}, #line 144 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str34), VK_PACKET}, + {gperf_offsetof(stringpool, 34), VK_PACKET}, #line 105 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str35), VK_RCONTROL}, + {gperf_offsetof(stringpool, 35), VK_RCONTROL}, #line 104 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str36), VK_LCONTROL}, + {gperf_offsetof(stringpool, 36), VK_LCONTROL}, #line 37 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str37), VK_END}, + {gperf_offsetof(stringpool, 37), VK_END}, #line 38 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str38), VK_HOME}, + {gperf_offsetof(stringpool, 38), VK_HOME}, #line 44 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str39), VK_PRINT}, + {gperf_offsetof(stringpool, 39), VK_PRINT}, #line 94 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str40), VK_NUMLOCK}, + {gperf_offsetof(stringpool, 40), VK_NUMLOCK}, #line 39 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str41), VK_LEFT}, + {gperf_offsetof(stringpool, 41), VK_LEFT}, #line 25 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str42), VK_JUNJA}, + {gperf_offsetof(stringpool, 42), VK_JUNJA}, #line 19 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str43), VK_MENU}, + {gperf_offsetof(stringpool, 43), VK_MENU}, #line 150 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str44), VK_OEM_WSCTRL}, + {gperf_offsetof(stringpool, 44), VK_OEM_WSCTRL}, #line 156 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str45), VK_OEM_ENLW}, + {gperf_offsetof(stringpool, 45), VK_OEM_ENLW}, #line 36 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str46), VK_NEXT}, + {gperf_offsetof(stringpool, 46), VK_NEXT}, #line 51 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str47), VK_RWIN}, + {gperf_offsetof(stringpool, 47), VK_RWIN}, #line 50 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str48), VK_LWIN}, + {gperf_offsetof(stringpool, 48), VK_LWIN}, #line 21 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str49), VK_CAPITAL}, + {gperf_offsetof(stringpool, 49), VK_CAPITAL}, #line 49 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str50), VK_HELP}, + {gperf_offsetof(stringpool, 50), VK_HELP}, #line 164 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str51), VK_NONAME}, + {gperf_offsetof(stringpool, 51), VK_NONAME}, #line 8 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str52), VK_RBUTTON}, + {gperf_offsetof(stringpool, 52), VK_RBUTTON}, #line 7 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str53), VK_LBUTTON}, + {gperf_offsetof(stringpool, 53), VK_LBUTTON}, #line 96 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str54), VK_OEM_NEC_EQUAL}, + {gperf_offsetof(stringpool, 54), VK_OEM_NEC_EQUAL}, {-1}, #line 47 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str56), VK_INSERT}, + {gperf_offsetof(stringpool, 56), VK_INSERT}, #line 27 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str57), VK_HANJA}, + {gperf_offsetof(stringpool, 57), VK_HANJA}, {-1}, {-1}, #line 46 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str60), VK_SNAPSHOT}, + {gperf_offsetof(stringpool, 60), VK_SNAPSHOT}, #line 158 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str61), VK_ATTN}, + {gperf_offsetof(stringpool, 61), VK_ATTN}, #line 14 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str62), VK_TAB}, + {gperf_offsetof(stringpool, 62), VK_TAB}, #line 157 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str63), VK_OEM_BACKTAB}, + {gperf_offsetof(stringpool, 63), VK_OEM_BACKTAB}, #line 143 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str64), VK_ICO_CLEAR}, + {gperf_offsetof(stringpool, 64), VK_ICO_CLEAR}, #line 30 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str65), VK_CONVERT}, + {gperf_offsetof(stringpool, 65), VK_CONVERT}, #line 16 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str66), VK_RETURN}, + {gperf_offsetof(stringpool, 66), VK_RETURN}, #line 146 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str67), VK_OEM_JUMP}, + {gperf_offsetof(stringpool, 67), VK_OEM_JUMP}, {-1}, {-1}, {-1}, #line 111 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str71), VK_BROWSER_STOP}, + {gperf_offsetof(stringpool, 71), VK_BROWSER_STOP}, #line 26 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str72), VK_FINAL}, + {gperf_offsetof(stringpool, 72), VK_FINAL}, #line 163 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str73), VK_ZOOM}, + {gperf_offsetof(stringpool, 73), VK_ZOOM}, #line 28 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str74), VK_KANJI}, + {gperf_offsetof(stringpool, 74), VK_KANJI}, #line 48 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str75), VK_DELETE}, + {gperf_offsetof(stringpool, 75), VK_DELETE}, #line 128 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str76), VK_OEM_COMMA}, + {gperf_offsetof(stringpool, 76), VK_OEM_COMMA}, #line 67 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str77), VK_SUBTRACT}, + {gperf_offsetof(stringpool, 77), VK_SUBTRACT}, {-1}, #line 10 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str79), VK_MBUTTON}, + {gperf_offsetof(stringpool, 79), VK_MBUTTON}, #line 78 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str80), VK_F9}, + {gperf_offsetof(stringpool, 80), VK_F9}, #line 17 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str81), VK_SHIFT}, + {gperf_offsetof(stringpool, 81), VK_SHIFT}, #line 103 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str82), VK_RSHIFT}, + {gperf_offsetof(stringpool, 82), VK_RSHIFT}, #line 102 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str83), VK_LSHIFT}, + {gperf_offsetof(stringpool, 83), VK_LSHIFT}, #line 65 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str84), VK_ADD}, + {gperf_offsetof(stringpool, 84), VK_ADD}, #line 31 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str85), VK_NONCONVERT}, + {gperf_offsetof(stringpool, 85), VK_NONCONVERT}, #line 160 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str86), VK_EXSEL}, + {gperf_offsetof(stringpool, 86), VK_EXSEL}, #line 126 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str87), VK_OEM_1}, + {gperf_offsetof(stringpool, 87), VK_OEM_1}, #line 138 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str88), VK_OEM_AX}, + {gperf_offsetof(stringpool, 88), VK_OEM_AX}, #line 108 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str89), VK_BROWSER_BACK}, + {gperf_offsetof(stringpool, 89), VK_BROWSER_BACK}, #line 137 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str90), VK_OEM_8}, + {gperf_offsetof(stringpool, 90), VK_OEM_8}, #line 129 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str91), VK_OEM_MINUS}, + {gperf_offsetof(stringpool, 91), VK_OEM_MINUS}, #line 162 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str92), VK_PLAY}, + {gperf_offsetof(stringpool, 92), VK_PLAY}, #line 131 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str93), VK_OEM_2}, + {gperf_offsetof(stringpool, 93), VK_OEM_2}, #line 15 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str94), VK_CLEAR}, + {gperf_offsetof(stringpool, 94), VK_CLEAR}, #line 99 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str95), VK_OEM_FJ_TOUROKU}, + {gperf_offsetof(stringpool, 95), VK_OEM_FJ_TOUROKU}, #line 147 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str96), VK_OEM_PA1}, + {gperf_offsetof(stringpool, 96), VK_OEM_PA1}, #line 140 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str97), VK_ICO_HELP}, + {gperf_offsetof(stringpool, 97), VK_ICO_HELP}, #line 112 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str98), VK_BROWSER_SEARCH}, + {gperf_offsetof(stringpool, 98), VK_BROWSER_SEARCH}, #line 53 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str99), VK_SLEEP}, + {gperf_offsetof(stringpool, 99), VK_SLEEP}, {-1}, #line 70 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str101), VK_F1}, + {gperf_offsetof(stringpool, 101), VK_F1}, #line 148 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str102), VK_OEM_PA2}, + {gperf_offsetof(stringpool, 102), VK_OEM_PA2}, #line 154 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str103), VK_OEM_COPY}, + {gperf_offsetof(stringpool, 103), VK_OEM_COPY}, #line 77 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str104), VK_F8}, + {gperf_offsetof(stringpool, 104), VK_F8}, #line 88 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str105), VK_F19}, + {gperf_offsetof(stringpool, 105), VK_F19}, #line 41 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str106), VK_RIGHT}, + {gperf_offsetof(stringpool, 106), VK_RIGHT}, #line 71 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str107), VK_F2}, + {gperf_offsetof(stringpool, 107), VK_F2}, #line 135 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str108), VK_OEM_6}, + {gperf_offsetof(stringpool, 108), VK_OEM_6}, #line 87 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str109), VK_F18}, + {gperf_offsetof(stringpool, 109), VK_F18}, {-1}, #line 117 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str111), VK_VOLUME_UP}, + {gperf_offsetof(stringpool, 111), VK_VOLUME_UP}, {-1}, {-1}, #line 120 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str114), VK_MEDIA_STOP}, + {gperf_offsetof(stringpool, 114), VK_MEDIA_STOP}, #line 130 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str115), VK_OEM_PERIOD}, + {gperf_offsetof(stringpool, 115), VK_OEM_PERIOD}, {-1}, #line 161 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str117), VK_EREOF}, + {gperf_offsetof(stringpool, 117), VK_EREOF}, {-1}, {-1}, {-1}, #line 114 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str121), VK_BROWSER_HOME}, + {gperf_offsetof(stringpool, 121), VK_BROWSER_HOME}, #line 75 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str122), VK_F6}, + {gperf_offsetof(stringpool, 122), VK_F6}, {-1}, #line 110 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str124), VK_BROWSER_REFRESH}, + {gperf_offsetof(stringpool, 124), VK_BROWSER_REFRESH}, {-1}, #line 165 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str126), VK_PA1}, + {gperf_offsetof(stringpool, 126), VK_PA1}, #line 142 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str127), VK_PROCESSKEY}, + {gperf_offsetof(stringpool, 127), VK_PROCESSKEY}, #line 68 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str128), VK_DECIMAL}, + {gperf_offsetof(stringpool, 128), VK_DECIMAL}, #line 132 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str129), VK_OEM_3}, + {gperf_offsetof(stringpool, 129), VK_OEM_3}, #line 107 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str130), VK_RMENU}, + {gperf_offsetof(stringpool, 130), VK_RMENU}, #line 106 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str131), VK_LMENU}, + {gperf_offsetof(stringpool, 131), VK_LMENU}, #line 98 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str132), VK_OEM_FJ_MASSHOU}, + {gperf_offsetof(stringpool, 132), VK_OEM_FJ_MASSHOU}, #line 54 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str133), VK_NUMPAD0}, + {gperf_offsetof(stringpool, 133), VK_NUMPAD0}, #line 24 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str134), VK_HANGUL}, + {gperf_offsetof(stringpool, 134), VK_HANGUL}, #line 63 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str135), VK_NUMPAD9}, + {gperf_offsetof(stringpool, 135), VK_NUMPAD9}, #line 23 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str136), VK_HANGEUL}, + {gperf_offsetof(stringpool, 136), VK_HANGEUL}, #line 134 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str137), VK_OEM_5}, + {gperf_offsetof(stringpool, 137), VK_OEM_5}, #line 149 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str138), VK_OEM_PA3}, + {gperf_offsetof(stringpool, 138), VK_OEM_PA3}, #line 115 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str139), VK_VOLUME_MUTE}, + {gperf_offsetof(stringpool, 139), VK_VOLUME_MUTE}, #line 133 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str140), VK_OEM_4}, + {gperf_offsetof(stringpool, 140), VK_OEM_4}, #line 122 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str141), VK_LAUNCH_MAIL}, + {gperf_offsetof(stringpool, 141), VK_LAUNCH_MAIL}, #line 97 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str142), VK_OEM_FJ_JISHO}, + {gperf_offsetof(stringpool, 142), VK_OEM_FJ_JISHO}, #line 72 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str143), VK_F3}, + {gperf_offsetof(stringpool, 143), VK_F3}, #line 101 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str144), VK_OEM_FJ_ROYA}, + {gperf_offsetof(stringpool, 144), VK_OEM_FJ_ROYA}, #line 100 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str145), VK_OEM_FJ_LOYA}, + {gperf_offsetof(stringpool, 145), VK_OEM_FJ_LOYA}, {-1}, #line 42 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str147), VK_DOWN}, + {gperf_offsetof(stringpool, 147), VK_DOWN}, {-1}, #line 153 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str149), VK_OEM_FINISH}, + {gperf_offsetof(stringpool, 149), VK_OEM_FINISH}, {-1}, #line 74 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str151), VK_F5}, + {gperf_offsetof(stringpool, 151), VK_F5}, {-1}, #line 136 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str153), VK_OEM_7}, + {gperf_offsetof(stringpool, 153), VK_OEM_7}, #line 73 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str154), VK_F4}, + {gperf_offsetof(stringpool, 154), VK_F4}, #line 86 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str155), VK_F17}, + {gperf_offsetof(stringpool, 155), VK_F17}, #line 55 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str156), VK_NUMPAD1}, + {gperf_offsetof(stringpool, 156), VK_NUMPAD1}, #line 141 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str157), VK_ICO_00}, + {gperf_offsetof(stringpool, 157), VK_ICO_00}, {-1}, #line 62 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str159), VK_NUMPAD8}, + {gperf_offsetof(stringpool, 159), VK_NUMPAD8}, {-1}, {-1}, #line 56 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str162), VK_NUMPAD2}, + {gperf_offsetof(stringpool, 162), VK_NUMPAD2}, {-1}, #line 124 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str164), VK_LAUNCH_APP1}, + {gperf_offsetof(stringpool, 164), VK_LAUNCH_APP1}, #line 109 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str165), VK_BROWSER_FORWARD}, + {gperf_offsetof(stringpool, 165), VK_BROWSER_FORWARD}, {-1}, #line 76 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str167), VK_F7}, + {gperf_offsetof(stringpool, 167), VK_F7}, {-1}, {-1}, #line 125 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str170), VK_LAUNCH_APP2}, + {gperf_offsetof(stringpool, 170), VK_LAUNCH_APP2}, #line 64 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str171), VK_MULTIPLY}, + {gperf_offsetof(stringpool, 171), VK_MULTIPLY}, {-1}, {-1}, #line 45 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str174), VK_EXECUTE}, + {gperf_offsetof(stringpool, 174), VK_EXECUTE}, {-1}, #line 113 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str176), VK_BROWSER_FAVORITES}, + {gperf_offsetof(stringpool, 176), VK_BROWSER_FAVORITES}, #line 60 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str177), VK_NUMPAD6}, + {gperf_offsetof(stringpool, 177), VK_NUMPAD6}, {-1}, #line 85 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str179), VK_F16}, + {gperf_offsetof(stringpool, 179), VK_F16}, {-1}, {-1}, #line 79 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str182), VK_F10}, + {gperf_offsetof(stringpool, 182), VK_F10}, {-1}, {-1}, #line 116 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str185), VK_VOLUME_DOWN}, + {gperf_offsetof(stringpool, 185), VK_VOLUME_DOWN}, {-1}, {-1}, #line 89 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str188), VK_F20}, + {gperf_offsetof(stringpool, 188), VK_F20}, #line 119 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str189), VK_MEDIA_PREV_TRACK}, + {gperf_offsetof(stringpool, 189), VK_MEDIA_PREV_TRACK}, {-1}, #line 33 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str191), VK_MODECHANGE}, + {gperf_offsetof(stringpool, 191), VK_MODECHANGE}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 83 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str197), VK_F14}, + {gperf_offsetof(stringpool, 197), VK_F14}, #line 57 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str198), VK_NUMPAD3}, + {gperf_offsetof(stringpool, 198), VK_NUMPAD3}, #line 11 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str199), VK_XBUTTON1}, + {gperf_offsetof(stringpool, 199), VK_XBUTTON1}, {-1}, {-1}, {-1}, #line 93 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str203), VK_F24}, + {gperf_offsetof(stringpool, 203), VK_F24}, {-1}, #line 12 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str205), VK_XBUTTON2}, + {gperf_offsetof(stringpool, 205), VK_XBUTTON2}, #line 59 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str206), VK_NUMPAD5}, + {gperf_offsetof(stringpool, 206), VK_NUMPAD5}, {-1}, {-1}, #line 58 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str209), VK_NUMPAD4}, + {gperf_offsetof(stringpool, 209), VK_NUMPAD4}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 121 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str215), VK_MEDIA_PLAY_PAUSE}, + {gperf_offsetof(stringpool, 215), VK_MEDIA_PLAY_PAUSE}, {-1}, #line 123 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str217), VK_LAUNCH_MEDIA_SELECT}, + {gperf_offsetof(stringpool, 217), VK_LAUNCH_MEDIA_SELECT}, #line 80 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str218), VK_F11}, + {gperf_offsetof(stringpool, 218), VK_F11}, {-1}, #line 139 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str220), VK_OEM_102}, + {gperf_offsetof(stringpool, 220), VK_OEM_102}, #line 118 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str221), VK_MEDIA_NEXT_TRACK}, + {gperf_offsetof(stringpool, 221), VK_MEDIA_NEXT_TRACK}, #line 61 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str222), VK_NUMPAD7}, + {gperf_offsetof(stringpool, 222), VK_NUMPAD7}, {-1}, #line 90 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str224), VK_F21}, + {gperf_offsetof(stringpool, 224), VK_F21}, {-1}, #line 82 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str226), VK_F13}, + {gperf_offsetof(stringpool, 226), VK_F13}, {-1}, {-1}, #line 81 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str229), VK_F12}, + {gperf_offsetof(stringpool, 229), VK_F12}, {-1}, {-1}, #line 92 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str232), VK_F23}, + {gperf_offsetof(stringpool, 232), VK_F23}, {-1}, {-1}, #line 91 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str235), VK_F22}, + {gperf_offsetof(stringpool, 235), VK_F22}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 84 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str242), VK_F15}, + {gperf_offsetof(stringpool, 242), VK_F15}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 69 "win32_vk.list" - {offsetof(struct stringpool_t, stringpool_str256), VK_DIVIDE} + {gperf_offsetof(stringpool, 256), VK_DIVIDE} }; 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 int o = wordlist[key].ofs; if (o >= 0) diff --git a/ext/io/console/win32_vk.list b/ext/io/console/win32_vk.list index 28bc9545ec..f1d3581c3c 100644 --- a/ext/io/console/win32_vk.list +++ b/ext/io/console/win32_vk.list @@ -1,6 +1,6 @@ %{ struct vktable {short ofs; unsigned short vk;}; -static const struct vktable *console_win32_vk(const char *, unsigned int); +/*!ANSI*/static const struct vktable *console_win32_vk(const char *, unsigned int); %} struct vktable %% @@ -1,4 +1,4 @@ -/* C code produced by gperf version 3.0.4 */ +/* ANSI-C code produced by gperf version 3.1 */ /* Command-line: gperf -C -P -p -j1 -i 1 -g -o -t -N rb_reserved_word -k'1,3,$' defs/keywords */ #if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \ @@ -25,15 +25,16 @@ && ('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 <[email protected]>." +#error "gperf generated tables don't work with this execution character set. Please report a bug to <[email protected]>." #endif +#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n) #line 1 "defs/keywords" struct kwtable {int name, id[2], state;}; const struct kwtable *rb_reserved_word(const char *, unsigned int); #ifndef RIPPER -static const struct kwtable *reserved_word(const char *, unsigned int); +/*static const struct kwtable *reserved_word(const char *, unsigned int);*/ #define rb_reserved_word(str, len) reserved_word(str, len) #line 9 "defs/keywords" struct kwtable; @@ -45,15 +46,15 @@ struct kwtable; #define MAX_HASH_VALUE 50 /* maximum key range = 43, duplicates = 0 */ -#if (defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__cplusplus) || defined(__GNUC_STDC_INLINE__) -inline -#elif defined(__GNUC__) +#ifdef __GNUC__ __inline +#else +#ifdef __cplusplus +inline +#endif #endif static unsigned int -hash (str, len) - register const char *str; - register unsigned int len; +hash (register const char *str, register size_t len) { static const unsigned char asso_values[] = { @@ -84,7 +85,7 @@ hash (str, len) 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51, 51 }; - register int hval = len; + register unsigned int hval = (unsigned int)len; switch (hval) { @@ -96,7 +97,7 @@ hash (str, len) hval += asso_values[(unsigned char)str[0]]; break; } - return hval + asso_values[(unsigned char)str[len - 1]]; + return (unsigned int)hval + asso_values[(unsigned char)str[len - 1]]; } struct stringpool_t @@ -188,110 +189,102 @@ static const struct stringpool_t stringpool_contents = "while" }; #define stringpool ((const char *) &stringpool_contents) -#ifdef __GNUC__ -__inline -#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__ -__attribute__ ((__gnu_inline__)) -#endif -#endif const struct kwtable * -rb_reserved_word (str, len) - register const char *str; - register unsigned int len; +rb_reserved_word (register const char *str, register size_t len) { static const struct kwtable wordlist[] = { {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, {-1}, #line 19 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str8), {keyword_break, keyword_break}, EXPR_MID}, + {gperf_offsetof(stringpool, 8), {keyword_break, keyword_break}, EXPR_MID}, #line 25 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str9), {keyword_else, keyword_else}, EXPR_BEG}, + {gperf_offsetof(stringpool, 9), {keyword_else, keyword_else}, EXPR_BEG}, #line 35 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str10), {keyword_nil, keyword_nil}, EXPR_END}, + {gperf_offsetof(stringpool, 10), {keyword_nil, keyword_nil}, EXPR_END}, #line 28 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str11), {keyword_ensure, keyword_ensure}, EXPR_BEG}, + {gperf_offsetof(stringpool, 11), {keyword_ensure, keyword_ensure}, EXPR_BEG}, #line 27 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str12), {keyword_end, keyword_end}, EXPR_END}, + {gperf_offsetof(stringpool, 12), {keyword_end, keyword_end}, EXPR_END}, #line 44 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str13), {keyword_then, keyword_then}, EXPR_BEG}, + {gperf_offsetof(stringpool, 13), {keyword_then, keyword_then}, EXPR_BEG}, #line 36 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str14), {keyword_not, keyword_not}, EXPR_ARG}, + {gperf_offsetof(stringpool, 14), {keyword_not, keyword_not}, EXPR_ARG}, #line 29 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str15), {keyword_false, keyword_false}, EXPR_END}, + {gperf_offsetof(stringpool, 15), {keyword_false, keyword_false}, EXPR_END}, #line 42 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str16), {keyword_self, keyword_self}, EXPR_END}, + {gperf_offsetof(stringpool, 16), {keyword_self, keyword_self}, EXPR_END}, #line 26 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str17), {keyword_elsif, keyword_elsif}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 17), {keyword_elsif, keyword_elsif}, EXPR_VALUE}, #line 39 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str18), {keyword_rescue, modifier_rescue}, EXPR_MID}, + {gperf_offsetof(stringpool, 18), {keyword_rescue, modifier_rescue}, EXPR_MID}, #line 45 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str19), {keyword_true, keyword_true}, EXPR_END}, + {gperf_offsetof(stringpool, 19), {keyword_true, keyword_true}, EXPR_END}, #line 48 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str20), {keyword_until, modifier_until}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 20), {keyword_until, modifier_until}, EXPR_VALUE}, #line 47 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str21), {keyword_unless, modifier_unless}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 21), {keyword_unless, modifier_unless}, EXPR_VALUE}, #line 41 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str22), {keyword_return, keyword_return}, EXPR_MID}, + {gperf_offsetof(stringpool, 22), {keyword_return, keyword_return}, EXPR_MID}, #line 22 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str23), {keyword_def, keyword_def}, EXPR_FNAME}, + {gperf_offsetof(stringpool, 23), {keyword_def, keyword_def}, EXPR_FNAME}, #line 17 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str24), {keyword_and, keyword_and}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 24), {keyword_and, keyword_and}, EXPR_VALUE}, #line 24 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str25), {keyword_do, keyword_do}, EXPR_BEG}, + {gperf_offsetof(stringpool, 25), {keyword_do, keyword_do}, EXPR_BEG}, #line 51 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str26), {keyword_yield, keyword_yield}, EXPR_ARG}, + {gperf_offsetof(stringpool, 26), {keyword_yield, keyword_yield}, EXPR_ARG}, #line 30 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str27), {keyword_for, keyword_for}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 27), {keyword_for, keyword_for}, EXPR_VALUE}, #line 46 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str28), {keyword_undef, keyword_undef}, EXPR_FNAME|EXPR_FITEM}, + {gperf_offsetof(stringpool, 28), {keyword_undef, keyword_undef}, EXPR_FNAME|EXPR_FITEM}, #line 37 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str29), {keyword_or, keyword_or}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 29), {keyword_or, keyword_or}, EXPR_VALUE}, #line 32 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str30), {keyword_in, keyword_in}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 30), {keyword_in, keyword_in}, EXPR_VALUE}, #line 49 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str31), {keyword_when, keyword_when}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 31), {keyword_when, keyword_when}, EXPR_VALUE}, #line 40 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str32), {keyword_retry, keyword_retry}, EXPR_END}, + {gperf_offsetof(stringpool, 32), {keyword_retry, keyword_retry}, EXPR_END}, #line 31 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str33), {keyword_if, modifier_if}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 33), {keyword_if, modifier_if}, EXPR_VALUE}, #line 20 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str34), {keyword_case, keyword_case}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 34), {keyword_case, keyword_case}, EXPR_VALUE}, #line 38 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str35), {keyword_redo, keyword_redo}, EXPR_END}, + {gperf_offsetof(stringpool, 35), {keyword_redo, keyword_redo}, EXPR_END}, #line 34 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str36), {keyword_next, keyword_next}, EXPR_MID}, + {gperf_offsetof(stringpool, 36), {keyword_next, keyword_next}, EXPR_MID}, #line 43 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str37), {keyword_super, keyword_super}, EXPR_ARG}, + {gperf_offsetof(stringpool, 37), {keyword_super, keyword_super}, EXPR_ARG}, #line 33 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str38), {keyword_module, keyword_module}, EXPR_VALUE}, + {gperf_offsetof(stringpool, 38), {keyword_module, keyword_module}, EXPR_VALUE}, #line 18 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str39), {keyword_begin, keyword_begin}, EXPR_BEG}, + {gperf_offsetof(stringpool, 39), {keyword_begin, keyword_begin}, EXPR_BEG}, #line 12 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str40), {keyword__LINE__, keyword__LINE__}, EXPR_END}, + {gperf_offsetof(stringpool, 40), {keyword__LINE__, keyword__LINE__}, EXPR_END}, #line 13 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str41), {keyword__FILE__, keyword__FILE__}, EXPR_END}, + {gperf_offsetof(stringpool, 41), {keyword__FILE__, keyword__FILE__}, EXPR_END}, #line 11 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str42), {keyword__ENCODING__, keyword__ENCODING__}, EXPR_END}, + {gperf_offsetof(stringpool, 42), {keyword__ENCODING__, keyword__ENCODING__}, EXPR_END}, #line 15 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str43), {keyword_END, keyword_END}, EXPR_END}, + {gperf_offsetof(stringpool, 43), {keyword_END, keyword_END}, EXPR_END}, #line 16 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str44), {keyword_alias, keyword_alias}, EXPR_FNAME|EXPR_FITEM}, + {gperf_offsetof(stringpool, 44), {keyword_alias, keyword_alias}, EXPR_FNAME|EXPR_FITEM}, #line 14 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str45), {keyword_BEGIN, keyword_BEGIN}, EXPR_END}, + {gperf_offsetof(stringpool, 45), {keyword_BEGIN, keyword_BEGIN}, EXPR_END}, #line 23 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str46), {keyword_defined, keyword_defined}, EXPR_ARG}, + {gperf_offsetof(stringpool, 46), {keyword_defined, keyword_defined}, EXPR_ARG}, #line 21 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str47), {keyword_class, keyword_class}, EXPR_CLASS}, + {gperf_offsetof(stringpool, 47), {keyword_class, keyword_class}, EXPR_CLASS}, {-1}, {-1}, #line 50 "defs/keywords" - {(int)offsetof(struct stringpool_t, stringpool_str50), {keyword_while, modifier_while}, EXPR_VALUE} + {gperf_offsetof(stringpool, 50), {keyword_while, modifier_while}, EXPR_VALUE} }; 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 int o = wordlist[key].name; if (o >= 0) diff --git a/tool/enc-unicode.rb b/tool/enc-unicode.rb index 50fa07e7c9..2ba0b73606 100755 --- a/tool/enc-unicode.rb +++ b/tool/enc-unicode.rb @@ -449,7 +449,9 @@ struct uniname2ctype_struct { }; #define uniname2ctype_offset(str) offsetof(struct uniname2ctype_pool_t, uniname2ctype_pool_##str) +#if !(/*ANSI*/+0) static const struct uniname2ctype_struct *uniname2ctype_p(const char *, unsigned int); +#endif %} struct uniname2ctype_struct; %% @@ -536,10 +538,17 @@ if header fds.each(&:close) IO.popen(%W[diff -DUSE_UNICODE_AGE_PROPERTIES #{fds[1].path} #{fds[0].path}], "r") {|age| IO.popen(%W[diff -DUSE_UNICODE_PROPERTIES #{fds[2].path} -], "r", in: age) {|f| + ansi = false f.each {|line| + if /ANSI-C code produced by gperf/ =~ line + ansi = true + end + line.sub!(/\/\*ANSI\*\//, '1') if ansi line.gsub!(/\(int\)\((?:long|size_t)\)&\(\(struct uniname2ctype_pool_t \*\)0\)->uniname2ctype_pool_(str\d+),\s+/, 'uniname2ctype_offset(\1), ') - line.sub!(/^(uniname2ctype_(hash|p) *\(.* )size_t /, '\1unsigned int ') + if (/^(uniname2ctype_hash) /=~line)..(/^\}/=~line) + line.sub!(/^( *(?:register\s+)?(.*\S)\s+hval\s*=\s*)(?=len;)/, '\1(\2)') + end puts line } } diff --git a/tool/gperf.sed b/tool/gperf.sed new file mode 100644 index 0000000000..ed2196fee4 --- /dev/null +++ b/tool/gperf.sed @@ -0,0 +1,22 @@ +/ANSI-C code/{ + h + s/.*/ANSI:offset:/ + x +} +/^\/\*!ANSI\*\//{ + G + s/^\/\*!ANSI\*\/\(.*\)\nANSI:.*/\/\*\1\*\// +} +s/(int)([a-z_]*)&((struct \([a-zA-Z_0-9][a-zA-Z_0-9]*\)_t *\*)0)->\1_str\([1-9][0-9]*\),/gperf_offsetof(\1, \2),/g +/^#line/{ + G + x + s/:offset:/:/ + x + s/\(.*\)\(\n\).*:offset:.*/#define gperf_offsetof(s, n) (short)offsetof(struct s##_t, s##_str##n)\2\1/ + s/\n[^#].*// +} +/^[a-zA-Z_0-9]*hash/,/^}/{ + s/ hval = / hval = (unsigned int)/ + s/ return / return (unsigned int)/ +} |