Feature #13883

Change from gperf 3.0.4 to gperf 3.1

Added by duerst (Martin Dürst) over 2 years ago. Updated over 2 years ago.

Target version:


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.

Updated by nobu (Nobuyoshi Nakada) over 2 years 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;
                        ~~~~   ^~~

Updated by duerst (Martin Dürst) over 2 years ago

This issue may have been fixed with Nobu, please close if that's true.


Updated by nobu (Nobuyoshi Nakada) over 2 years ago

  • Status changed from Open to Closed

Applied in changeset trunk|r61076.

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]

Also available in: Atom PDF