1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/*
20100416-1.c from the execute part of the gcc torture tests.
*/
#include <testfwk.h>
int
movegt(int x, int y, long long a)
{
int i;
int ret = 0;
for (i = 0; i < y; i++)
{
if (a >= (long long) 0xf000000000000000LL)
ret = x;
else
ret = y;
}
return ret;
}
#ifndef __SDCC_pdk14 // Lack of memory
struct test
{
long long val;
int ret;
} tests[] = {
{ 0xf000000000000000LL, -1 },
{ 0xefffffffffffffffLL, 1 },
{ 0xf000000000000001LL, -1 },
{ 0x0000000000000000LL, -1 },
{ 0x8000000000000000LL, 1 },
};
#endif
void
testTortureExecute (void)
{
#ifndef __SDCC_pdk14 // Lack of memory
int i;
for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
{
if (movegt (-1, 1, tests[i].val) != tests[i].ret)
ASSERT (0);
}
return;
#endif
}
|