[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Error: operand out of range (32 not between 0 and 31)



>以前ちょっと言っていた、egcs が変なコードを出す問題、
>できるところまで分離してみました。以下のコードを -O1
>以上でコンパイルすると発生します。egcs は 1.0.2 です。

もっと簡単になりました。


int
f(a, bits)
	int a;
	unsigned long bits;
{
	int rs = 32;

	if (a)
	    if (a)
		bits >>= rs;

	return bits;
}

# すごく変。