tcc-65816/test/tests/20020219-1.c
2017-06-09 13:52:12 +02:00

22 lines
354 B
C

/* PR c/4308
This testcase failed because 0x8000000000000000 >> 0
was incorrectly folded into 0xffffffff00000000. */
extern void abort (void);
extern void exit (int);
long long foo (void)
{
long long C = 1ULL << 63, X;
int Y = 32;
X = C >> (Y & 31);
return X;
}
int main (void)
{
if (foo () != 1ULL << 63)
abort ();
exit (0);
}