* fixed for callparatemp

This commit is contained in:
Jonas Maebe 2003-06-09 14:38:52 +00:00
parent ff431f21ae
commit c8978e3440

View File

@ -807,9 +807,21 @@ implementation
if assigned(left) then
begin
{$ifdef callparatemp}
{ process object (may contain a call) }
secondpass(left);
if codegenerror then
exit;
{$endif callparatemp}
{ multiple parameters? }
if assigned(right) then
begin
{$ifdef callparatemp}
{ process address (in case it contains a call) }
secondpass(right);
if codegenerror then
exit;
{$endif callparatemp}
{ push frame }
if assigned(frametree) then
begin
@ -820,10 +832,12 @@ implementation
end
else
cg.a_param_const(exprasmlist,OS_INT,0,paramanager.getintparaloc(exprasmlist,3));
{$ifndef callparatemp}
{ push address }
secondpass(right);
if codegenerror then
exit;
{$endif not callparatemp}
cg.a_param_loc(exprasmlist,right.location,paramanager.getintparaloc(exprasmlist,2));
end
else
@ -839,10 +853,12 @@ implementation
{ push current address }
cg.a_paramaddr_ref(exprasmlist,href2,paramanager.getintparaloc(exprasmlist,2));
end;
{$ifndef callparatemp}
{ push object }
secondpass(left);
if codegenerror then
exit;
{$endif not callparatemp}
cg.a_param_loc(exprasmlist,left.location,paramanager.getintparaloc(exprasmlist,1));
cg.a_call_name(exprasmlist,'FPC_RAISEEXCEPTION');
paramanager.freeintparaloc(exprasmlist,3);
@ -1427,7 +1443,10 @@ begin
end.
{
$Log$
Revision 1.70 2003-06-09 12:23:30 peter
Revision 1.71 2003-06-09 14:38:52 jonas
* fixed for callparatemp
Revision 1.70 2003/06/09 12:23:30 peter
* init/final of procedure data splitted from genentrycode
* use asmnode getposition to insert final at the correct position
als for the implicit try...finally