blob: a6c5ea6986a64ca7632cd496c2f92aa17dbc13dc [file] [log] [blame]
// https://bugzilla.gdcproject.org/show_bug.cgi?id=171
// { dg-do run }
// { dg-skip-if "needs gcc/config.d" { ! d_runtime } }
void test171a()
{
int count = 0;
short a = -1;
while (a != 0)
{
a >>>= 1;
count++;
assert(count <= 16);
}
}
void test171b()
{
uint[3] lhs = [99, 201, 300],
rhs = [-1, 0, 0];
long t = 0;
for (int i = 0; i < 3; i++)
{
t += lhs[i];
t -= rhs[i];
lhs[i] = cast(uint) t;
t >>= uint.sizeof * 8;
}
assert(lhs == [100, 200, 300]);
}
void main()
{
test171a();
test171b();
}