BSD 4_4_Lite2 development
[unix-history] / usr / src / contrib / gcc-2.3.3 / cross-test.c
CommitLineData
c4ce794d
C
1/* This small function uses all the arithmetic operators that
2 libgcc1.c can handle. If you can link it, then
3 you have provided replacements for all the libgcc1.c functions that
4 your target machine needs. */
5
6int foo ();
7double dfoo ();
8
9main ()
10{
11 int a = foo (), b = foo ();
12 unsigned int au = foo (), bu = foo ();
13 float af = dfoo (), bf = dfoo ();
14 double ad = dfoo (), bd = dfoo ();
15
16 discard (a * b);
17 discard (a / b);
18 discard (a % b);
19
20 discard (au / bu);
21 discard (au % bu);
22
23 discard (a >> b);
24 discard (a << b);
25
26 discard (au >> bu);
27 discard (au << bu);
28
29 ddiscard (ad + bd);
30 ddiscard (ad - bd);
31 ddiscard (ad * bd);
32 ddiscard (ad / bd);
33 ddiscard (-ad);
34
35 ddiscard (af + bf);
36 ddiscard (af - bf);
37 ddiscard (af * bf);
38 ddiscard (af / bf);
39 ddiscard (-af);
40
41 discard ((int) ad);
42 discard ((int) af);
43
44 ddiscard ((double) a);
45 ddiscard ((float) a);
46 ddiscard ((float) ad);
47
48 discard (ad == bd);
49 discard (ad < bd);
50 discard (ad > bd);
51 discard (ad != bd);
52 discard (ad <= bd);
53 discard (ad >= bd);
54
55 discard (af == bf);
56 discard (af < bf);
57 discard (af > bf);
58 discard (af != bf);
59 discard (af <= bf);
60 discard (af >= bf);
61
62 return 0;
63}
64
65discard (x)
66 int x;
67{}
68
69ddiscard (x)
70 double x;
71{}
72
73foo ()
74{
75 static int table[] = {20, 69, 4, 202};
76 static int idx;
77
78 return table[idx++];
79}
80
81double
82dfoo ()
83{
84 static double table[] = {20.4, 69.96, 4.4, 202.202};
85 static int idx;
86
87 return table[idx++];
88}
89