annotate gcc/testsuite/gcc.dg/complete-port.c @ 111:04ced10e8804

gcc 7
author kono
date Fri, 27 Oct 2017 22:46:09 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
111
kono
parents:
diff changeset
1 /* This small program uses all the arithmetic operators that may
kono
parents:
diff changeset
2 generate calls to library routines which must be implemented in
kono
parents:
diff changeset
3 port-specific assembly language. */
kono
parents:
diff changeset
4 /* { dg-do link } */
kono
parents:
diff changeset
5
kono
parents:
diff changeset
6 #include <stddef.h>
kono
parents:
diff changeset
7
kono
parents:
diff changeset
8 int foo ();
kono
parents:
diff changeset
9 double dfoo ();
kono
parents:
diff changeset
10 void discard (int);
kono
parents:
diff changeset
11 void ddiscard (double);
kono
parents:
diff changeset
12
kono
parents:
diff changeset
13 int
kono
parents:
diff changeset
14 main (void)
kono
parents:
diff changeset
15 {
kono
parents:
diff changeset
16 int a = foo (), b = foo ();
kono
parents:
diff changeset
17 unsigned int au = foo (), bu = foo ();
kono
parents:
diff changeset
18 float af = dfoo (), bf = dfoo ();
kono
parents:
diff changeset
19 double ad = dfoo (), bd = dfoo ();
kono
parents:
diff changeset
20
kono
parents:
diff changeset
21 discard (a * b);
kono
parents:
diff changeset
22 discard (a / b);
kono
parents:
diff changeset
23 discard (a % b);
kono
parents:
diff changeset
24
kono
parents:
diff changeset
25 discard (au / bu);
kono
parents:
diff changeset
26 discard (au % bu);
kono
parents:
diff changeset
27
kono
parents:
diff changeset
28 discard (a >> b);
kono
parents:
diff changeset
29 discard (a << b);
kono
parents:
diff changeset
30
kono
parents:
diff changeset
31 discard (au >> bu);
kono
parents:
diff changeset
32 discard (au << bu);
kono
parents:
diff changeset
33
kono
parents:
diff changeset
34 ddiscard (ad + bd);
kono
parents:
diff changeset
35 ddiscard (ad - bd);
kono
parents:
diff changeset
36 ddiscard (ad * bd);
kono
parents:
diff changeset
37 ddiscard (ad / bd);
kono
parents:
diff changeset
38 ddiscard (-ad);
kono
parents:
diff changeset
39
kono
parents:
diff changeset
40 ddiscard (af + bf);
kono
parents:
diff changeset
41 ddiscard (af - bf);
kono
parents:
diff changeset
42 ddiscard (af * bf);
kono
parents:
diff changeset
43 ddiscard (af / bf);
kono
parents:
diff changeset
44 ddiscard (-af);
kono
parents:
diff changeset
45
kono
parents:
diff changeset
46 discard ((int) ad);
kono
parents:
diff changeset
47 discard ((int) af);
kono
parents:
diff changeset
48
kono
parents:
diff changeset
49 ddiscard ((double) a);
kono
parents:
diff changeset
50 ddiscard ((float) a);
kono
parents:
diff changeset
51 ddiscard ((float) ad);
kono
parents:
diff changeset
52
kono
parents:
diff changeset
53 discard (ad == bd);
kono
parents:
diff changeset
54 discard (ad < bd);
kono
parents:
diff changeset
55 discard (ad > bd);
kono
parents:
diff changeset
56 discard (ad != bd);
kono
parents:
diff changeset
57 discard (ad <= bd);
kono
parents:
diff changeset
58 discard (ad >= bd);
kono
parents:
diff changeset
59
kono
parents:
diff changeset
60 discard (af == bf);
kono
parents:
diff changeset
61 discard (af < bf);
kono
parents:
diff changeset
62 discard (af > bf);
kono
parents:
diff changeset
63 discard (af != bf);
kono
parents:
diff changeset
64 discard (af <= bf);
kono
parents:
diff changeset
65 discard (af >= bf);
kono
parents:
diff changeset
66
kono
parents:
diff changeset
67 return 0;
kono
parents:
diff changeset
68 }
kono
parents:
diff changeset
69
kono
parents:
diff changeset
70 void
kono
parents:
diff changeset
71 discard (x)
kono
parents:
diff changeset
72 int x __attribute__((__unused__));
kono
parents:
diff changeset
73 {}
kono
parents:
diff changeset
74
kono
parents:
diff changeset
75 void
kono
parents:
diff changeset
76 ddiscard (x)
kono
parents:
diff changeset
77 double x __attribute__((__unused__));
kono
parents:
diff changeset
78 {}
kono
parents:
diff changeset
79
kono
parents:
diff changeset
80 int
kono
parents:
diff changeset
81 foo ()
kono
parents:
diff changeset
82 {
kono
parents:
diff changeset
83 static int table[] = {20, 69, 4, 12};
kono
parents:
diff changeset
84 static int idx;
kono
parents:
diff changeset
85
kono
parents:
diff changeset
86 return table[idx++];
kono
parents:
diff changeset
87 }
kono
parents:
diff changeset
88
kono
parents:
diff changeset
89 double
kono
parents:
diff changeset
90 dfoo ()
kono
parents:
diff changeset
91 {
kono
parents:
diff changeset
92 static double table[] = {20.4, 69.96, 4.4, 202.202};
kono
parents:
diff changeset
93 static int idx;
kono
parents:
diff changeset
94
kono
parents:
diff changeset
95 return table[idx++];
kono
parents:
diff changeset
96 }