[Anthy-dev 2611] Re: uim-trunkのnoinline

アーカイブの一覧に戻る

Konosuke Watanabe sasug****@gmail*****
2005年 11月 7日 (月) 00:59:36 JST


こんにちは,渡辺です.

> 報告ありがとうございます。勝手に #undef するよりは専用の token
> __noinline__ が用意されているので、そっちを利用するように変更しておきま
> した (@r2020)。

試してみたところ(r2023ですが),エラー無しにビルドが通るよう
になりました.ありがとうございました.
 
> しかし妙ですね。__attribute__(()) は文法上有効 (GCC manual の attribute
> syntax 参照) ですので、こっそり inline が有効になるだけのはずなんです
> が。今まで表面化しなかったのもそのせいです。手元の debian sid でも
> __attribute__(()) になりつつ build は成功しました。

うーん,以下のようなコードでちょっと実験してみたところ,gcc-4.0.2では
g++で処理してもエラーが出ませんでしたが,gcc-2.95.3やgcc-3.3.6だと
先と同様のエラーになってしまいます.

#ifdef __cplusplus
extern "C" {
#endif
int fn(void) __attribute__ (());
#ifdef __cplusplus
}
#endif

int fn(void)
{
  return 1;
}

int
main(void)
{
  fn();
  return 0;
}


単に古いgccのバグなんでしょかね・・・.

---
Konosuke WATANABE <sasug****@gmail*****>



Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る