Change from gperf 3.0.4 to gperf 3.1
There are several places in Ruby where gperf 3.0.4 is assumed.
The newest version of gperf is 3.1. In the long term, we should update Ruby so that it can be compiled with gperf 3.1.
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]
#1 [ruby-core:82738] Updated by nobu (Nobuyoshi Nakada) 4 months ago
Seems the code generated by gperf 3.1 without
-n option has a problem with Apple clang.
defs/keywords:57:32: error: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'unsigned int' [-Werror,-Wshorten-64-to-32] register unsigned int hval = len; ~~~~ ^~~
#2 [ruby-core:84083] Updated by duerst (Martin Dürst) about 2 months ago
This issue may have been fixed with https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60976. Nobu, please close if that's true.
#3 Updated by nobu (Nobuyoshi Nakada) about 1 month ago
- Status changed from Open to Closed