added another test case
[libfirm] / ir / be / test / bad.c
1 unsigned int
2 f1 (int diff)
3 {
4   return ((unsigned int) (diff < 0 ? -diff : diff));
5 }
6
7 unsigned int
8 f2 (unsigned int diff)
9 {
10   return ((unsigned int) ((signed int) diff < 0 ? -diff : diff));
11 }
12
13 unsigned long long
14 f3 (long long diff)
15 {
16   return ((unsigned long long) (diff < 0 ? -diff : diff));
17 }
18
19 unsigned long long
20 f4 (unsigned long long diff)
21 {
22   return ((unsigned long long) ((signed long long) diff < 0 ? -diff : diff));
23 }
24
25 main ()
26 {
27   int i;
28   for (i = 0; i <= 10; i++)
29     {
30       /*
31       if (f1 (i) != i) {
32         printf("f1(%d)\n", i);
33         abort ();
34       }
35       if (f1 (-i) != i) {
36         printf("f1(%d)\n", -i);
37         abort ();
38       }
39       if (f2 (i) != i) {
40         printf("f2(%d)\n", i);
41         abort ();
42       }
43       */
44       if (f2 (-i) != i) {
45         printf("f2(%d)\n", -i);
46         abort ();
47       }
48       /*
49       if (f3 ((long long) i) != i) {
50         printf("f3(%lld)\n", i);
51         abort ();
52       }
53       if (f3 ((long long) -i) != i) {
54         printf("f3(%lld)\n", -i);
55         abort ();
56       }
57       if (f4 ((long long) i) != i) {
58         printf("f4(%lld)\n", i);
59         abort ();
60       }
61       if (f4 ((long long) -i) != i) {
62         printf("f4(%d)\n", -i);
63         abort ();
64       }
65       */
66     }
67   exit (0);
68 }