Project

General

Profile

Actions

Bug #5159

closed

r32777のためSolaris上のgcc-4.4でCFLAGS="-std=gnu99"のときコンパイルエラー

Added by ngoto (Naohisa Goto) over 13 years ago. Updated over 13 years ago.

Status:
Closed
Target version:
ruby -v:
ruby 1.9.3dev (2011-08-04) [sparc64-solaris2.10]
Backport:
[ruby-dev:44355]

Description

Solaris上のgcc 4.4 にて、C99標準+gnu拡張を指定するコンパイル時オプション
-std=gnu99 を指定するとコンパイルエラーになります。

complex.c: In function ‘f_signbit’:
complex.c:1177: error: expected identifier or ‘(’ before ‘sizeof’
make: *** [complex.o] Error 1

gcc 4.x にて -std=gnu99 または -std=c99 を指定したときは、signbitはマクロで定義されるのですが、これがr32777のワークアラウンドで追加されたプロトタイプ宣言と衝突しています。

添付のパッチのように signbit がマクロならプロトタイプ宣言しないようにしたら、治りました。


Files

solaris-gcc-signbit.diff (1002 Bytes) solaris-gcc-signbit.diff ngoto (Naohisa Goto), 08/05/2011 03:43 PM
Actions #1

Updated by ngoto (Naohisa Goto) over 13 years ago

  • Status changed from Open to Closed

This issue was solved with changeset r32858.
Naohisa, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • complex.c (f_signbit): fix compile error in gcc4 on Solaris with
    CFLAGS="-std=gnu99". [ruby-dev:44355] fix [Bug #5159]

  • math.c: ditto.

Actions

Also available in: Atom PDF

Like0
Like0