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