Browse Source

* fix for problem in tbs0299 for 4 byte stack alignment

pierre 25 years ago
parent
commit
8dc1494e52
1 changed files with 5 additions and 2 deletions
  1. 5 2
      compiler/cgai386.pas

+ 5 - 2
compiler/cgai386.pas

@@ -1783,7 +1783,7 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
                              pobjectdef(p^.resulttype)^.is_class) then
                              pobjectdef(p^.resulttype)^.is_class) then
                            begin
                            begin
                               if (p^.resulttype^.size>2) or
                               if (p^.resulttype^.size>2) or
-                                 (alignment=4) then
+                                 ((alignment=4) and (p^.resulttype^.size>0)) then
                                 begin
                                 begin
                                   inc(pushedparasize,4);
                                   inc(pushedparasize,4);
                                   if inlined then
                                   if inlined then
@@ -3843,7 +3843,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.89  2000-03-21 23:36:46  pierre
+  Revision 1.90  2000-03-28 22:31:46  pierre
+   * fix for problem in tbs0299 for 4 byte stack alignment
+
+  Revision 1.89  2000/03/21 23:36:46  pierre
    fix for bug 312
    fix for bug 312
 
 
   Revision 1.88  2000/03/19 11:55:08  peter
   Revision 1.88  2000/03/19 11:55:08  peter