3月の末に AC_C_CONST の追加をお願いした、
えぐち@エスアンドイー です。

>>> In message [ruby-dev:6836] gcc -traditional or -ansi (Re: Ruby 1.3.3-990513)
    On Mon, 17 May 1999 13:01:56 +0900, Katsuyuki Komatsu <komatsu / sarion.co.jp> said:

小松> 小松です。
小松> 
小松> In the message of [ruby-dev:6791] Re: Ruby 1.3.3-990513 
小松>     on 1999/5/13 23:21:38 itojun / iijlab.net wrote:
小松> >>    __constってどうしていままで通ってたんだろうと思ったら、
小松> >>    gccならOKなんですね。
小松> >
小松> >	AC_C_CONST(だっけ)して、constを使うべきです。
小松> 
小松> なるほど、gccのalternative keywordsというものでしたか。
小松>     http://docs.freebsd.org/info/gcc/gcc.info.Alternate_Keywords.html
小松> 勉強になりました。
小松> 
小松> gcc.infoでは__const__になってますが、gcc-2.8.1/c-parse.gperfを
小松> みると両方サポートしていますね。

Subject: に反応して、 FreeBSD で CC='gcc -ansi' で make
してみましたら、下のように、 KEYWORDS から生成した lex.c に
エラーを生じました。

 % make CC=gcc\ -ansi
 gcc -ansi -g -O2 -I. -I../ruby -I/usr/local/include  -c ../ruby/array.c
  :
 bison -y -d ../ruby/parse.y
 gcc -ansi -g -O2 -I. -I../ruby -I/usr/local/include -c y.tab.c -o parse.o
 In file included from ../ruby/parse.y:2393:
 ../ruby/lex.c:15: syntax error before `static'
 ../ruby/lex.c:54: syntax error before `struct'
 *** Error code 1

調べたところ、

 % head -2 ../ruby/lex.c
 /* C code produced by gperf version 2.5 (GNU C++ version) */
 /* Command-line: gperf -p -j1 -i 1 -g -o -t -N rb_reserved_word -k1,3,$ keywords  */

ということで、 gperf のバージョンが若干古いからの様です。
#生成するコードの質は const を使う以外変わらない様です。

手元にあるのは、GNU gperf 2.7 でこれなら、 -ansi も通りました。

   #ifdef __GNUC__
  -inline
  +__inline
   #endif
   static unsigned int
   hash (str, len)

これだけの差なんですが、、
、、ううむ、これも Alternate Keyword 関係ですね。

	えぐち