Mercurial > hg > CbC > old > device
comparison mc-inline.c @ 519:b6eb97f0c11d
*** empty log message ***
author | kono |
---|---|
date | Mon, 26 Dec 2005 19:54:10 +0900 |
parents | a2047e4555be |
children | 135afeb2e134 |
comparison
equal
deleted
inserted
replaced
518:9f2d6aea201f | 519:b6eb97f0c11d |
---|---|
583 error(TYERR); | 583 error(TYERR); |
584 } | 584 } |
585 case EXTRN: case EXTRN1: case STATIC: | 585 case EXTRN: case EXTRN1: case STATIC: |
586 return pexpr(cadr(e)); | 586 return pexpr(cadr(e)); |
587 default: | 587 default: |
588 v = list3(LVAR,new_lvar(size(n->dsp)),(int)n); | 588 v = list3(LVAR,new_lvar(size(n->ty)),(int)n); |
589 } | 589 } |
590 if (heap[pdisp+dsp]) error(-1); | 590 if (heap[pdisp+dsp]) error(-1); |
591 heap[pdisp+dsp]=v; | 591 heap[pdisp+dsp]=v; |
592 return pexpr(cadr(e)); | 592 return pexpr(cadr(e)); |
593 } | 593 } |
997 | 997 |
998 int narg,arg; | 998 int narg,arg; |
999 NMTBL *n = (NMTBL*)cadr(cadr(e)); | 999 NMTBL *n = (NMTBL*)cadr(cadr(e)); |
1000 int e1 = attr_value(n,INLINE); | 1000 int e1 = attr_value(n,INLINE); |
1001 int parse = car(e1); // inline parse tree | 1001 int parse = car(e1); // inline parse tree |
1002 int arg_disp = cadr(e1); // size of local variable | 1002 int arg_disp = cadr(e1); // number of arguments |
1003 int e2,e3,t,e4,dots; | 1003 int e2,e3,t,e4,dots; |
1004 int ret_type = function_type(cadddr(e),&dots); | 1004 int ret_type = function_type(cadddr(e),&dots); |
1005 | 1005 |
1006 // checkret(); | 1006 // checkret(); |
1007 | 1007 |