Commit | Line | Data |
---|---|---|
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 | ||
6 | int foo (); | |
7 | double dfoo (); | |
8 | ||
9 | main () | |
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 | ||
65 | discard (x) | |
66 | int x; | |
67 | {} | |
68 | ||
69 | ddiscard (x) | |
70 | double x; | |
71 | {} | |
72 | ||
73 | foo () | |
74 | { | |
75 | static int table[] = {20, 69, 4, 202}; | |
76 | static int idx; | |
77 | ||
78 | return table[idx++]; | |
79 | } | |
80 | ||
81 | double | |
82 | dfoo () | |
83 | { | |
84 | static double table[] = {20.4, 69.96, 4.4, 202.202}; | |
85 | static int idx; | |
86 | ||
87 | return table[idx++]; | |
88 | } | |
89 |