Issue #14447 has been updated by ngoto (Naohisa Goto).

Status changed from Open to Rejected

出力ファイルの拡張子を .i にすると、コマンドはエラーにならないことが判明しましたが、
そもそも、 "-E" オプションの解釈が標準的なUNIX上のCコンパイラと異なるため、無理でした。
(何らかのラッパースクリプトをかませば大丈夫かもしれません)

古いコンパイラをいつまでも使い続けるほうが悪いので、諦めてRejectします。


man fcc より抜粋:
~~~
     -E   This option performs preprocessing only on  the  speci-
          fied  C  source code and sends the results to the stan-
          dard  output.  The  output  includes  the  preprocessor
          directives used in the next step of the processing sys-
          tem.
~~~



----------------------------------------
Bug #14447: Solaris 10 上の古いFujitsu C Compiler(fcc)のmjit関係のエラー
https://bugs.ruby-lang.org/issues/14447#change-70182

* Author: ngoto (Naohisa Goto)
* Status: Rejected
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: 
* Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN
----------------------------------------
Solaris 10 にて、古いバージョン(5.6)のFujitsu C Compiler(fcc)にてr62224をコンパイルしようとすると、以下のエラーが出ました。

オプジェクトファイル vm.new の作成を、拡張子が違反だとして拒否されてしまっています。
このコンパイラでは、オブジェクトファイルの拡張子は任意には指定できないようです。

~~~
fcc -E  -O2 -KV9 -KVIS2 -DRUBY_DEVEL=1 -DRUBY_EXPORT -I/usr/local/64/lib/libffi-3.0.10/include -I/usr/local/64/include  -D_XOPEN_SOURCE=500   -I. -I.ext/include/sparc64-solaris2.10 -I./include -I. -I./enc/unicode/10.0.0 -DMJIT_HEADER_BUILD_DIR=\"".ext/include/sparc64-solaris2.10"\" -DLIBRUBYARG_SHARED=\""-rpath /XXXXX/sparc64-fcc-trunk/lib -L/user/gen-info/ngoto/testruby/daily/sparc64-fcc-trunk/lib "\" -DLIBRUBY_LIBDIR=\""/XXXXX/sparc64-fcc-trunk/lib"\" -DMJIT_HEADER_INSTALL_DIR=\""/XXXX/sparc64-fcc-trunk/include/ruby-2.6.0/sparc64-solaris2.10"\" -DMJIT_HEADER ./vm.c -o vm.new
fcc: error: vm.new: illegal suffix.
make: *** [rb_mjit_header.h] Error 1
~~~




-- 
https://bugs.ruby-lang.org/