Browse Source

* more fixes for inittable call

florian 26 years ago
parent
commit
36c8c81845
1 changed files with 8 additions and 5 deletions
  1. 8 5
      compiler/cgai386.pas

+ 8 - 5
compiler/cgai386.pas

@@ -2260,9 +2260,9 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
     begin
     begin
        if (psym(p)^.typ=varsym) and
        if (psym(p)^.typ=varsym) and
           assigned(pvarsym(p)^.definition) and
           assigned(pvarsym(p)^.definition) and
-          pvarsym(p)^.definition^.needs_inittable and
           not((pvarsym(p)^.definition^.deftype=objectdef) and
           not((pvarsym(p)^.definition^.deftype=objectdef) and
-            pobjectdef(pvarsym(p)^.definition)^.isclass) then
+            pobjectdef(pvarsym(p)^.definition)^.isclass) and
+          pvarsym(p)^.definition^.needs_inittable then
          begin
          begin
             procinfo.flags:=procinfo.flags or pi_needs_implicit_finally;
             procinfo.flags:=procinfo.flags or pi_needs_implicit_finally;
             reset_reference(hr);
             reset_reference(hr);
@@ -2319,9 +2319,9 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
     begin
     begin
        if (psym(p)^.typ=varsym) and
        if (psym(p)^.typ=varsym) and
           assigned(pvarsym(p)^.definition) and
           assigned(pvarsym(p)^.definition) and
-          pvarsym(p)^.definition^.needs_inittable and
           not((pvarsym(p)^.definition^.deftype=objectdef) and
           not((pvarsym(p)^.definition^.deftype=objectdef) and
-            pobjectdef(pvarsym(p)^.definition)^.isclass) then
+          pobjectdef(pvarsym(p)^.definition)^.isclass) and
+          pvarsym(p)^.definition^.needs_inittable then
          begin
          begin
             { not all kind of parameters need to be finalized  }
             { not all kind of parameters need to be finalized  }
             if (psym(p)^.owner^.symtabletype=parasymtable) and
             if (psym(p)^.owner^.symtabletype=parasymtable) and
@@ -3118,7 +3118,10 @@ procedure mov_reg_to_dest(p : ptree; s : topsize; reg : tregister);
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.20  1999-08-01 17:17:37  florian
+  Revision 1.21  1999-08-01 17:32:31  florian
+    * more fixes for inittable call
+
+  Revision 1.20  1999/08/01 17:17:37  florian
     * tried to fix a bug with init table
     * tried to fix a bug with init table
 
 
   Revision 1.19  1999/07/29 20:53:58  peter
   Revision 1.19  1999/07/29 20:53:58  peter