1 /*
2    20031011-1.c from the execute part of the gcc torture tests.
3  */
4 
5 #include <testfwk.h>
6 
7 #ifdef __SDCC
8 #pragma std_c99
9 #endif
10 
11 /* Check that MAX_EXPR and MIN_EXPR are working properly.  */
12 
13 #define MAX(X,Y) ((X) > (Y) ? (X) : (Y))
14 #define MIN(X,Y) ((X) < (Y) ? (X) : (Y))
15 
16 void
testTortureExecute(void)17 testTortureExecute (void)
18 {
19   int ll_bitsize, ll_bitpos;
20   int rl_bitsize, rl_bitpos;
21   int end_bit;
22 
23   ll_bitpos = 32;  ll_bitsize = 32;
24   rl_bitpos = 0;   rl_bitsize = 32;
25 
26   end_bit = MAX (ll_bitpos + ll_bitsize, rl_bitpos + rl_bitsize);
27   if (end_bit != 64)
28     ASSERT (0);
29   end_bit = MAX (rl_bitpos + rl_bitsize, ll_bitpos + ll_bitsize);
30   if (end_bit != 64)
31     ASSERT (0);
32   end_bit = MIN (ll_bitpos + ll_bitsize, rl_bitpos + rl_bitsize);
33   if (end_bit != 32)
34     ASSERT (0);
35   end_bit = MIN (rl_bitpos + rl_bitsize, ll_bitpos + ll_bitsize);
36   if (end_bit != 32)
37     ASSERT (0);
38   return;
39 }
40 
41