2003-12-26 Guilhem Lavaux <guilhem@kaffe.org>
[official-gcc.git] / gcc / testsuite / gcc.c-torture / execute / compare-1.c
blob78b465024ea622641312008146031b39530e1b6a
1 /* Copyright (C) 2002 Free Software Foundation.
3 Test for correctness of composite comparisons.
5 Written by Roger Sayle, 3rd June 2002. */
7 extern void abort (void);
9 int ieq (int x, int y, int ok)
11 if ((x<=y) && (x>=y))
13 if (!ok) abort ();
15 else
16 if (ok) abort ();
18 if ((x<=y) && (x==y))
20 if (!ok) abort ();
22 else
23 if (ok) abort ();
25 if ((x<=y) && (y<=x))
27 if (!ok) abort ();
29 else
30 if (ok) abort ();
32 if ((y==x) && (x<=y))
34 if (!ok) abort ();
36 else
37 if (ok) abort ();
40 int ine (int x, int y, int ok)
42 if ((x<y) || (x>y))
44 if (!ok) abort ();
46 else
47 if (ok) abort ();
50 int ilt (int x, int y, int ok)
52 if ((x<y) && (x!=y))
54 if (!ok) abort ();
56 else
57 if (ok) abort ();
60 int ile (int x, int y, int ok)
62 if ((x<y) || (x==y))
64 if (!ok) abort ();
66 else
67 if (ok) abort ();
70 int igt (int x, int y, int ok)
72 if ((x>y) && (x!=y))
74 if (!ok) abort ();
76 else
77 if (ok) abort ();
80 int ige (int x, int y, int ok)
82 if ((x>y) || (x==y))
84 if (!ok) abort ();
86 else
87 if (ok) abort ();
90 int
91 main ()
93 ieq (1, 4, 0);
94 ieq (3, 3, 1);
95 ieq (5, 2, 0);
97 ine (1, 4, 1);
98 ine (3, 3, 0);
99 ine (5, 2, 1);
101 ilt (1, 4, 1);
102 ilt (3, 3, 0);
103 ilt (5, 2, 0);
105 ile (1, 4, 1);
106 ile (3, 3, 1);
107 ile (5, 2, 0);
109 igt (1, 4, 0);
110 igt (3, 3, 0);
111 igt (5, 2, 1);
113 ige (1, 4, 0);
114 ige (3, 3, 1);
115 ige (5, 2, 1);
117 return 0;