[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[FDclone-users:00865] Re: FD-3.00g のコンパイルエラーについて



 しらいです。

In Message-Id <20100607101129.f90d48d5.Shoichi.Shiota@lightwell.co.jp>
        SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>さんwrites:
> 潮田と申します。

> AIX 5.3 上の FD を、 3.00f から 3.00g へ上げようとしたところ、
> コンパイル時にエラーが出るようになりました。

 そんな馬鹿なと思ったら、確かに二つありますね。最近はもう殆
んどの環境が標準 C 環境なので、そうでない環境での検証が不十
分でした。申し訳ない。

 多分 AIX 環境でも「make config」を行なうと vararg.h の代わ
りに stdarg.h を使うようになって、今回の bug は回避されるん
だと思います。
 そうなっていないのは、cc が __STDC__ を pre-define してい
ないからで、もう全ての AIX で cc が標準 C 準拠なのであれば、
AIX 用設定に FORCEDSTDC を追加しても構いません。
 でも AIX は古い実装が標準 C じゃなかった筈です。_AIX?? と
いう識別子が version 毎に pre-define されている筈なので、標
準 C になったタイミングで分別出来るといいんですが。


> $ gdiff -uN printf.c.orig printf.c
> --- printf.c.orig       2010-06-04 00:00:00 +0900
> +++ printf.c    2010-06-07 10:04:49 +0900
> @@ -794,7 +794,7 @@
>  int Xprintf(CONST char *fmt, ...)
>  #else
>  /*VARARGS2*/
> -int Xfprintf(fmt, va_alist)
> +int Xprintf(fmt, va_alist)
>  CONST char *fmt;
>  va_dcl
>  #endif

 この patch はこれ以外に実装しようのない修正ですので、そっ
くりこのまま採用させて頂きます。他にも非標準 C 環境の方はこ
れを使って下さい。

                                               しらい たかし