落合です。こんにちわ > mov.b @16777022,r2l <------ここがおかしい > and #-33,r2l > mov.b r2l,@16777022 確かにgcc-2.95.3はそうなりますね。この構造体ですが、 unsigned char : 0; っておかしくないですか? 0ビットを割り当てる? ダミーで1ビットスキップさせるのなら unsigned char : 1; になると思うのですが...やってみたらうまくコード生成できました。それが原因では? 似たような割り当ては次のようなケースでも発生します。 typedef struct { int a; int b[0]; } TEST; TEST aaa; 0バイト割り当ててますがエラーにはなりませんし、メンバbを参照できます。 この辺はコンパイラ依存のようです。昔この問題でよくカーネルコンパイルに引っかかりました。 -- 落合 正弘 Masahiro OCHIAI http://strawberry-linux.com/