Project

General

Profile

Feature #13883

Change from gperf 3.0.4 to gperf 3.1

Added by duerst (Martin Dürst) 9 months ago. Updated 6 months ago.

Status:
Closed
Priority:
Normal
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.

Associated revisions

Revision a4804fbd
Added by nobu (Nobuyoshi Nakada) 6 months ago

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

Revision 61076
Added by nobu (Nobuyoshi Nakada) 6 months ago

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]

Revision 61076
Added by nobu (Nobuyoshi Nakada) 6 months ago

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]

Revision 7c4306e6
Added by nobu (Nobuyoshi Nakada) 5 months ago

gperf.sed: static declarations

  • tool/gperf.sed: comment out arguments part only, to keep the following declarations static. [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 61282
Added by nobu (Nobuyoshi Nakada) 5 months ago

gperf.sed: static declarations

  • tool/gperf.sed: comment out arguments part only, to keep the following declarations static. [Feature #13883]

Revision 61282
Added by nobu (Nobuyoshi Nakada) 5 months ago

gperf.sed: static declarations

  • tool/gperf.sed: comment out arguments part only, to keep the following declarations static. [Feature #13883]

History

#1 [ruby-core:82738] Updated by nobu (Nobuyoshi Nakada) 9 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) 6 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) 6 months 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