Actions
Bug #11487
closedid_table.c compile error by fcc on Solaris 10
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
Description
Solaris 10 上の古いfccにて、最近、id_table.c のコンパイルに失敗します。
下記は r51677 におけるエラーメッセージです。
fcc -O2 -KV9 -KVIS2 -DRUBY_EXPORT -I/usr/local/64/lib/libffi-3.0.10/include -I/usr/local/64/include -I. -I.ext/include/sparc64-solaris2.10 -I./include -I. -o symbol.o -c symbol.c
(中略)
"./id_table.c", line 453: error: syntax error near `/'
"./id_table.c", line 1277: error: initialization: constant expression is expected for variable: `tmp_tbl'
make: *** [symbol.o] Error 1
2箇所にエラーが出ているのがわかります。
id_table.c の453行目は以下のとおりです。
// fprintf(stderr, "memmove: %p -> %p (%d, capa: %d)\n", old_values, new_values, num, capa);
CのソースなのにC++形式のコメントを使っているのが原因です。
id_table.c の1277行目は以下のとおりです。
struct hash_id_table tmp_tbl = {new_cap, 0, 0};
構造体の変数による初期化はできない主旨のエラーが出ています。
宣言後、1要素ずつ代入するように書き換えるとよさそうです。
Actions
Like0
Like0Like0