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);