Honza, in calls.c:expand_call, I see the following code: ... #ifdef REG_PARM_STACK_SPACE /* If outgoing reg parm stack space changes, we can not do sibcall. */ || (OUTGOING_REG_PARM_STACK_SPACE (funtype) != OUTGOING_REG_PARM_STACK_SPACE (TREE_TYPE (current_function_decl))) || (reg_parm_stack_space != REG_PARM_STACK_SPACE (fndecl)) #endif ...
I don't understand the last line. reg_parm_stack_space is initialized like this: ... reg_parm_stack_space = REG_PARM_STACK_SPACE (!fndecl ? fntype : fndecl); ... Was this meant perhaps? ... || (reg_parm_stack_space != REG_PARM_STACK_SPACE (current_function_decl)) ... Thanks, - Tom