Mercurial > hg > CbC > old > device
diff test/tmp4.c @ 0:d35df41eac69
Initial revision
author | kono |
---|---|
date | Thu, 13 Jan 2000 02:41:41 +0900 |
parents | |
children | 096559f07a70 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/tmp4.c Thu Jan 13 02:41:41 2000 +0900 @@ -0,0 +1,58 @@ +#include "stdio.h" + +int +main(ac,av) +int ac; +char *av[]; +{ + int i; + i=main0(ac,av); + fprintf(stderr,"1: %s %d\n",av[0],i); + return i; +} + +int +main0(ac,av) +int ac; +char *av[]; +{ + int i,j,k; + i=123; + j=456; + k=789; + fprintf(stderr,"2: av=%x av[0]=%x %s\n",av,av[0],av[0]); + goto code0(i,j,k,av,return,environment); +} + +code code0(i,j,k,av,ret,retenv) +int i,j,k; +char *av[]; +code (*ret)(); +void *retenv; +{ + char *p; + p = av[0]; + fprintf(stderr,"3: i=%d j=%d k=%d av=%x p=%s\n",i,j,k,av,p); + goto code1(i,j,k,av,ret,retenv); +} + +code code1(i,j,k,av,ret,retenv) +int i,j,k; +char *av[]; +code (*ret)(); +void *retenv; +{ + fprintf(stderr,"4: %s\n",av[0]); + goto code2(i,j,k,av,ret,retenv); +} + +code code2(i,j,k,av,ret,retenv) +int i,j,k; +char *av[]; +code (*ret)(); +void *retenv; +{ + fprintf(stderr,"5: %s\n",av[0]); + fprintf(stderr,"5: i=%d j=%d k=%d av=%x\n",i,j,k,av); + goto (*ret)(1234),retenv; +}