Mercurial > hg > CbC > old > device
comparison mc-codegen.c @ 305:117baacd1ed0
stdarg powerpc passed except long long (macro problem)
author | kono |
---|---|
date | Wed, 09 Jun 2004 15:18:32 +0900 |
parents | 0f79c95df73a |
children | f73b93de216a |
comparison
equal
deleted
inserted
replaced
304:9df8aa0497ea | 305:117baacd1ed0 |
---|---|
648 { | 648 { |
649 int type = fnptr->ty; | 649 int type = fnptr->ty; |
650 return type==FUNCTION || (type>0 && car(type)==FUNCTION); | 650 return type==FUNCTION || (type>0 && car(type)==FUNCTION); |
651 } | 651 } |
652 | 652 |
653 int | |
654 function_type(int e1,int *dots) | |
655 { | |
656 int ret_type,t; | |
657 ret_type = cadr(e1); | |
658 if (ret_type==CHAR) ret_type=INT; | |
659 | |
660 /* check argments type is DOTS? */ | |
661 t = caddr(e1); | |
662 if (t==0 || t==DOTS) *dots = 1; | |
663 else { | |
664 *dots = 0; | |
665 for(;t;t = cadr(t)) { | |
666 if (car(t)==DOTS) *dots = 1; | |
667 } | |
668 } | |
669 | |
670 return ret_type; | |
671 } | |
653 | 672 |
654 static int | 673 static int |
655 register_to_lvar(int e) | 674 register_to_lvar(int e) |
656 { | 675 { |
657 error(REG_ERR); | 676 error(REG_ERR); |