Mercurial > hg > CbC > CbC_gcc
comparison CbC-examples/test_cs.c @ 16:4c6926a2b9bc
examples.
author | kent <kent@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 24 Sep 2009 12:51:25 +0900 |
parents | |
children | 5d30d517ebed |
comparison
equal
deleted
inserted
replaced
15:11a6cbe2d14c | 16:4c6926a2b9bc |
---|---|
1 //#include<stdio.h> | |
2 //#include<stdlib.h> | |
3 | |
4 __code cs_exit(int , double , char ); | |
5 __code cs1(int, int, int, int); | |
6 __code cs2(double, double, int, double); | |
7 void test_goto(void); | |
8 | |
9 int main(int argc, char **argv){ | |
10 printf("main start\n"); | |
11 //goto cs2(2.22, 3.33, 4, 5.55); | |
12 test_goto(); | |
13 return 0; | |
14 } | |
15 | |
16 void test_goto(){ | |
17 goto cs1(10, 20, 30, 40); | |
18 } | |
19 | |
20 __code cs1(int a, int b, int c, int d){ | |
21 printf("%4d, %4d, %4d, %4d\n", a, b, c, d); | |
22 a += 40, b += 40, c += 40, d += 40; | |
23 goto cs2((double)a, (double)b, c, (double)d); | |
24 } | |
25 | |
26 __code cs2(double a, double b, int c, double d){ | |
27 printf("%4d, %4d, %4d, %4d\n", (int)a, (int)b, (int)c, (int)d); | |
28 a += 40, b += 40, c += 40, d += 40; | |
29 goto cs_exit((int)a, b, (char)c); | |
30 } | |
31 | |
32 __code cs_exit(int a, double b, char c){ | |
33 printf("%4d, %4d, %4d\n", (int)a, (int)b, (int)c); | |
34 printf("cs_exit was called!\n"); | |
35 exit(0); | |
36 } | |
37 | |
38 | |
39 void caller(int a, double b){ | |
40 cs2(b,20.0,a, 40.4); | |
41 cs1(10,20,30, 40); | |
42 } | |
43 |