fixed lots of warnings in testprograms
[libfirm] / ir / be / test / LongLong.c
1 /*
2  * Project:     GCC-firm
3  * File name:   test/Long.c
4  * Purpose:     Long integer test program
5  * Author:      Goetz Lindenmaier
6  * Modified by: Michael Beck
7  * Created:     XX.04.2002
8  * CVS-ID:      $Id$
9  * Copyright:   (c) 2002 Universitaet Karlsruhe
10  * Licence:
11  */
12
13 #include <stdio.h>
14
15 static int hide_int (int i) {
16     return i;
17 }
18
19 int main (int argc, char *argv[]) {
20     long long lmax, lmin, lmin1, limax, limin1, limin, l1, l;
21     int i;
22
23     printf("LongLong.c\n");
24
25     lmax   =  9223372036854775807LL; /* java.lang.Long.MAX_VALUE */
26     lmin1  = -9223372036854775807LL; /* java.lang.Long.MIN_VALUE */
27     lmin   = -9223372036854775808LL; /* java.lang.Long.MIN_VALUE */
28     limax  =  2147483647L;          /* java.lang.Integer.MAX_VALUE */
29     limin1 = -2147483647L;          /* java.lang.Integer.MAX_VALUE-1 */
30     limin  = -2147483648L;          /* java.lang.Integer.MIN_VALUE */
31
32     printf(" Long long values allowed in C:\n");
33     /* So far, these values are not representable by libfirm. */
34     printf("  LongLong.MAX_VALUE   ( 9223372036854775807LL) = %lld\n", lmax);
35     printf("  LongLong.MIN_VALUE-1 (-9223372036854775807LL) = %lld\n", lmin1);
36     printf("  LongLong.MIN_VALUE   (-9223372036854775808LL) = %lld\n", lmin);
37
38     printf("\n Extreme integer values represented as long long:\n");
39     printf("  Long.MAX_VALUE   ( 2147483647L) = %lld\n", limax);
40     printf("  Long.MIN_VALUE-1 (-2147483647L) = %lld\n", limin1);
41     printf("  Long.MIN_VALUE   (-2147483648L) = %lld\n", limin);
42
43     printf("\n Computations exceeding these barriers:\n");
44     i =  2147483647;
45     //i =  2;
46     l =  hide_int(i) + 3LL;
47     printf("  long long l = (int i = 2147483647) + 3LL (2147483650): %lld\n", l);
48     l = 2 * l;
49     printf("  long long l = 2 * l (4294967300): %lld\n", l);
50     l = l * -1;
51     printf("  long long l = l * -1 (-4294967300): %lld\n", l);
52     l = l / 3;
53     printf("  long long l = l / 3 (-1431655766): %lld\n", l);
54     l = l % 1000000000;
55     printf("  long long l = l %% 1000000000 (-431655766): %lld\n", l);
56
57     return 0;
58 }