From e45b7754bee4d139d9876bb4cda605edbbc57efd Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 27 Sep 1999 23:37:26 +0000 Subject: [PATCH] * fixed push/restore bug in div/mod --- compiler/cg386mat.pas | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/compiler/cg386mat.pas b/compiler/cg386mat.pas index 4bd74c3dbc..d16b788847 100644 --- a/compiler/cg386mat.pas +++ b/compiler/cg386mat.pas @@ -65,10 +65,11 @@ implementation shrdiv := false; andmod := false; secondpass(p^.left); - set_location(p^.location,p^.left^.location); - pushed:=maybe_push(p^.right^.registers32,p,is_64bitint(p^.left^.resulttype)); + pushed:=maybe_push(p^.right^.registers32,p^.left,is_64bitint(p^.left^.resulttype)); secondpass(p^.right); - if pushed then restore(p,is_64bitint(p^.left^.resulttype)); + if pushed then + restore(p^.left,is_64bitint(p^.left^.resulttype)); + set_location(p^.location,p^.left^.location); if is_64bitint(p^.resulttype) then begin @@ -939,7 +940,10 @@ implementation end. { $Log$ - Revision 1.32 1999-09-02 17:07:38 florian + Revision 1.33 1999-09-27 23:37:26 peter + * fixed push/restore bug in div/mod + + Revision 1.32 1999/09/02 17:07:38 florian * problems with -Or fixed: tdef.isfpuregable was wrong! Revision 1.31 1999/08/19 13:08:50 pierre