* MIPS: allocate 16-byte outgoing parameter area also for procedures declared as 'assembler' without 'nostackframe'. This is a half-measure because there is no way to determine correct size to allocate for such procedures (probably we must add some directive to specify it). The same generally applies to all targets with fixed stack, not just MIPS.

git-svn-id: trunk@23663 -
This commit is contained in:
sergei 2013-02-25 22:47:09 +00:00
parent d2995cbf14
commit 5812cf3b46

View File

@ -106,8 +106,11 @@ implementation
else
begin
{ Fixes the case when there are calls done by low-level means
(cg.a_call_name) but no child callnode }
if (pi_do_call in flags) then
(cg.a_call_name) but no child callnode. !!For assembler procedure
there is no clean way to determine what it calls, unless it is
also declared as nostackframe and everything is managed manually. }
if (pi_do_call in flags) or
((pi_is_assembler in flags) and not (po_nostackframe in procdef.procoptions)) then
allocate_push_parasize(mips_nb_used_registers*sizeof(aint));
if not (po_nostackframe in procdef.procoptions) then