comparison test/tmp6.c @ 0:d35df41eac69

Initial revision
author kono
date Thu, 13 Jan 2000 02:41:41 +0900
parents
children bf602558130d
comparison
equal deleted inserted replaced
-1:000000000000 0:d35df41eac69
1 #include "stdio.h"
2
3 int
4 main(ac,av)
5 int ac;
6 char *av[];
7 {
8 int i;
9
10 if(ac!=2)
11 return(0);
12 i=main0(ac,av,return,environment);
13 fprintf(stderr,"1: %s %d\n",av[0],i);
14 return i;
15 }
16
17 int
18 main0(ac,av,ret,retenv)
19 int ac;
20 char *av[];
21 code (*ret)();
22 void *retenv;
23 {
24 int i,j,k;
25 i=123;
26 j=456;
27 k = atoi(av[1]);
28 fprintf(stderr,"2: av=%x av[0]=%x %s\n",av,av[0],av[0]);
29 goto code0(i,j,k,av,ret,retenv,return,environment);
30 }
31
32 code code0(i,j,k,av,ret,retenv,ret1,ret1env)
33 int i,j,k;
34 char *av[];
35 code (*ret)();
36 void *retenv;
37 code (*ret1)();
38 void *ret1env;
39 {
40 char *p;
41 p = av[0];
42 fprintf(stderr,"3: i=%d j=%d k=%d av=%x p=%s\n",i,j,k,av,p);
43 goto code1(i,j,k,av,ret,retenv,ret1,ret1env);
44 }
45
46 code code1(i,j,k,av,ret,retenv,ret1,ret1env)
47 int i,j,k;
48 char *av[];
49 code (*ret)();
50 void *retenv;
51 code (*ret1)();
52 void *ret1env;
53 {
54 fprintf(stderr,"4: %s\n",av[0]);
55 goto code2(i,j,k,av,ret,retenv,ret1,ret1env);
56 }
57
58 code code2(i,j,k,av,ret,retenv,ret1,ret1env)
59 int i,j,k;
60 char *av[];
61 code (*ret)();
62 void *retenv;
63 code (*ret1)();
64 void *ret1env;
65 {
66 fprintf(stderr,"5: %s\n",av[0]);
67 fprintf(stderr,"5: i=%d j=%d k=%d av=%x\n",i,j,k,av);
68 if (k>3)
69 goto (*ret1)(1234),ret1env;
70 goto (*ret)(1234),retenv;
71 }