* fixed procedures declared as "interrupt" for non-x86

This commit is contained in:
Jonas Maebe 2003-12-28 21:57:43 +00:00
parent e9a522fdae
commit 85e84512fb

View File

@ -1564,10 +1564,12 @@ implementation
else else
cg.g_restore_frame_pointer(list); cg.g_restore_frame_pointer(list);
{$endif} {$endif}
{$ifdef x86}
{ at last, the return is generated } { at last, the return is generated }
if (po_interrupt in current_procinfo.procdef.procoptions) then if (po_interrupt in current_procinfo.procdef.procoptions) then
cg.g_interrupt_stackframe_exit(list,usesacc,usesacchi) cg.g_interrupt_stackframe_exit(list,usesacc,usesacchi)
else else
{$endif x86}
begin begin
if current_procinfo.procdef.proccalloption in clearstack_pocalls then if current_procinfo.procdef.proccalloption in clearstack_pocalls then
begin begin
@ -1579,6 +1581,13 @@ implementation
retsize:=current_procinfo.para_stack_size; retsize:=current_procinfo.para_stack_size;
cg.g_return_from_proc(list,retsize); cg.g_return_from_proc(list,retsize);
end; end;
if usesacchi then
begin
cg.a_reg_dealloc(list,NR_FUNCTION_RETURN64_LOW_REG);
cg.a_reg_dealloc(list,NR_FUNCTION_RETURN64_HIGH_REG);
end
else if usesacc then
cg.a_reg_dealloc(list,NR_FUNCTION_RETURN_REG);
end; end;
@ -2048,7 +2057,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.179 2003-12-26 13:19:16 florian Revision 1.180 2003-12-28 21:57:43 jonas
* fixed procedures declared as "interrupt" for non-x86
Revision 1.179 2003/12/26 13:19:16 florian
* rtl and compiler compile with -Cfsse2 * rtl and compiler compile with -Cfsse2
Revision 1.178 2003/12/26 00:32:21 florian Revision 1.178 2003/12/26 00:32:21 florian