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 49
|
/*
20050124-1.c from the execute part of the gcc torture suite.
*/
#include <testfwk.h>
#ifdef __SDCC
#pragma std_c99
#endif
/* PR rtl-optimization/19579 */
int
foo (int i, int j)
{
int k = i + 1;
if (j)
{
if (k > 0)
k++;
else if (k < 0)
k--;
}
return k;
}
void
testTortureExecute (void)
{
if (foo (-2, 0) != -1)
ASSERT (0);
if (foo (-1, 0) != 0)
ASSERT (0);
if (foo (0, 0) != 1)
ASSERT (0);
if (foo (1, 0) != 2)
ASSERT (0);
if (foo (-2, 1) != -2)
ASSERT (0);
if (foo (-1, 1) != 0)
ASSERT (0);
if (foo (0, 1) != 2)
ASSERT (0);
if (foo (1, 1) != 3)
ASSERT (0);
return;
}
|