Add prototype for new CloneBasicBlock function
[oota-llvm.git] / test / runtime.c
1 #include <stdio.h>
2 #include <sys/types.h>
3
4 void
5 ll__main()
6 { /* Empty version of GCC's initialization function */
7 }
8
9 void
10 printSByte(char c)
11 {
12   putchar(c);
13 }
14
15 void
16 printUByte(unsigned char c)
17 {
18   putchar(c);
19 }
20
21 void
22 printShort(short i)
23 {
24   printf("%d", i);
25 }
26
27 void
28 printUShort(unsigned short i)
29 {
30   printf("%d", i);
31 }
32
33 void
34 printInt(int i)
35 {
36   printf("%d", i);
37 }
38
39 void
40 printUInt(unsigned int i)
41 {
42   printf("%d", i);
43 }
44
45 void
46 printLong(int64_t l)
47 {
48   printf("%d", l);
49 }
50
51 void
52 printULong(uint64_t l)
53 {
54   printf("%d", l);
55 }
56
57 void
58 printString(const char* str)
59 {
60   printf("%s", str);
61 }
62
63 void
64 printFloat(float f)
65 {
66   printf("%g", f);
67 }
68
69 void
70 printDouble(double d)
71 {
72   printf("%g", d);
73 }
74
75 void
76 printPointer(void* p)
77 {
78   printf("0x%x", p);
79 }
80
81 #undef  TEST_RUNTIME
82 #ifdef  TEST_RUNTIME
83 int
84 main(int argc, char** argv)
85 {
86   int i;
87   printString("argc = ");
88   printLong(argc);
89   printString(" = (as float) ");
90   printFloat(argc * 1.0);
91   printString(" = (as double) ");
92   printDouble(argc * 1.0);
93   for (i=0; i < argc; i++)
94     {
95       printString("\nargv[");
96       printLong(i);
97       printString("] = ");
98       printString(argv[i]);
99       printString("\t@ ");
100       printPointer(argv[i]);
101     }
102   printString("\n");
103 }
104 #endif