[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Error: operand out of range (32 not between 0 and 31)
以前ちょっと言っていた、egcs が変なコードを出す問題、
できるところまで分離してみました。以下のコードを -O1
以上でコンパイルすると発生します。egcs は 1.0.2 です。
#define MACRO { \
if (a != 1) \
if (a == 0) \
if (bits) \
bits >>= rs; \
a--; \
}
int
xxx(a, bits)
int a;
unsigned long bits;
{
int rs = 32;
MACRO;
MACRO;
return bits;
}
if をまとめてみたりすると発生しなくなってなかなか謎です。
1.0.3 でも起きるようならレポートしてみます…。
P.S.
powermacは10日ぐらいは連続稼働するようになりました。:-)
(それ以上はやってないからわかんない)