X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCsymt.c;h=a34b6bb736d602c8ddbc209803c53f2cbbffef60;hb=830f8429290c5ab30fe839957c7f62af51f482c9;hp=c1bdae25ea296d09230145938c6e19770ee8b39a;hpb=edae25c7ae2b0749ca7d491b391b99967652a0fd;p=fw%2Fsdcc diff --git a/src/SDCCsymt.c b/src/SDCCsymt.c index c1bdae25..a34b6bb7 100644 --- a/src/SDCCsymt.c +++ b/src/SDCCsymt.c @@ -1521,6 +1521,7 @@ checkSClass (symbol * sym, int isProto) /* arrays & pointers cannot be defined for bits */ /* SBITS or SFRs or BIT */ if ((IS_ARRAY (sym->type) || IS_PTR (sym->type)) && + !IS_FUNCPTR (sym->type) && (SPEC_NOUN (sym->etype) == V_BIT || SPEC_NOUN (sym->etype) == V_SBIT || SPEC_NOUN (sym->etype) == V_BITFIELD || @@ -2587,7 +2588,7 @@ processFuncArgs (symbol * func) the function does not have VA_ARG and as port dictates */ if (!IFFUNC_HASVARARGS(funcType) && - (argreg = (*port->reg_parm) (val->type))) + (argreg = (*port->reg_parm) (val->type, FUNC_ISREENT(funcType)))) { SPEC_REGPARM (val->etype) = 1; SPEC_ARGREG(val->etype) = argreg;