このパッチを適用するといかがでしょうか?
diff -cr magro-0.1.1.orig/src/mainapp/chain.c magro-0.1.1/src/mainapp/chain.c
*** magro-0.1.1.orig/src/mainapp/chain.c 2010-02-16 17:07:33.000000000 +0900
--- magro-0.1.1/src/mainapp/chain.c 2010-03-10 15:57:01.000000000 +0900
***************
*** 88,93 ****
--- 88,94 ----
bugs_node_dump(g_bugsnode);
chain->_bugsnode = g_bugsnode;
+ return 0;
}
else
{
diff -cr magro-0.1.1.orig/src/parser_bugs/parser_bugs.c magro-0.1.1/src/parser_bugs/parser_bugs.c
*** magro-0.1.1.orig/src/parser_bugs/parser_bugs.c 2010-02-16 12:31:45.000000000 +0900
--- magro-0.1.1/src/parser_bugs/parser_bugs.c 2010-03-10 15:57:01.000000000 +0900
***************
*** 1264,1270 ****
int yystate;
int yyn;
! int yyresult;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* Look-ahead token as an internal (translated) token number. */
--- 1264,1270 ----
int yystate;
int yyn;
! volatile int yyresult;
/* Number of tokens to shift before error messages enabled. */
int yyerrstatus;
/* Look-ahead token as an internal (translated) token number. */
itohi への返信 ご指摘の2箇所を修正しましたところ、Macでも最適化オプション付きで動作しました。 ありがとうございました。
すみません。後の方のvolatileは不要でした。
Mac OS X 10.6.2 環境下で、GCCの最適化オプションをつけてコンパイルすると実行時にエラーになる。
発生した環境では、GCC 4.2.1
なお、同一ソースでLinux (Fedora12)にて最適化コンパイル時には問題は発生しない。
確認したFedora12のGCCのバージョンは 4.4.3