Jun Inoue
jun.l****@gmail*****
2005年 11月 6日 (日) 07:57:59 JST
On Sun, 06 Nov 2005 05:51:44 +0900 (JST) Konosuke Watanabe <sasug****@gmail*****> wrote: > どうも,UIM_SCM_NOINLINE が書かれてる部分で,プリプロセッサ > を通した段階で本来この部分が > > __attribute__((noinline)) > > に置き換わって欲しいところが > > __attribute__(()) > > に置き換わってしまい,これがg++で文法エラーを起こしているよ > うです. > [...] > 調べてみたら,GNU Emacsでも同じような問題があったようで, > > #define NO_INLINE __attribute__((noinline)) > > の後に > > #ifdef noinline > #undef noinline > #endif > > とやることで問題を回避してました. 報告ありがとうございます。勝手に #undef するよりは専用の token __noinline__ が用意されているので、そっちを利用するように変更しておきま した (@r2020)。 しかし妙ですね。__attribute__(()) は文法上有効 (GCC manual の attribute syntax 参照) ですので、こっそり inline が有効になるだけのはずなんです が。今まで表面化しなかったのもそのせいです。手元の debian sid でも __attribute__(()) になりつつ build は成功しました。 ひょっとして r2020 でもまだエラー出たりしますか? -- Jun Inoue jun.l****@gmail*****