Project

General

Profile

Actions

Feature #13883

closed

Change from gperf 3.0.4 to gperf 3.1

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

Status:
Closed
Target version:
-
[ruby-core:82723]

Description

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 6 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 6 years 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.

Actions #3

Updated by nobu (Nobuyoshi Nakada) over 6 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]
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0