Sun CC でコンパイルが通らないという [ruby-core:1547] ですけど、以下の
ようにすると問題なくコンパイルできましたので、一応お知らせしておきます。
configure.in 等の設定までできるとよいのですが、そこまで手が回らないも
ので。
1. inline展開ファイルを作成
% cat > frw.il
.inline flush_register_windows, 0
ta 0x03
.end
^D
2. define.h の修正してinline定義をはずす。
--- defines.h~ 2003-08-01 19:57:18 +0900
+++ defines.h 2003-08-08 20:42:12 +0900
@@ -136,6 +136,7 @@
#endif
#if defined(sparc) || defined(__sparc__)
+#if defined(__GNUC__)
static inline void
flush_register_windows(void)
{
@@ -147,6 +148,7 @@
asm volatile ("ta 0x03");
# endif /* trap always to flush register windows if we are on a Sparc system */
}
+#endif /* __GNUC__ */
# define FLUSH_REGISTER_WINDOWS flush_register_windows()
#else
# define FLUSH_REGISTER_WINDOWS ((void)0)
3. inline展開を必要とするソースに対して、
frw.il を引数に加えてコンパイル。
% cc -g -I. -c eval.c frw.il
% cc -g -I. -c gc.c frw.il
あとは通常どおり。
田中昌宏