Browse Source

* each record with managed field or with any management operator needs init table (update for symdef.pas, trecorddef.needs_inittable)

git-svn-id: trunk@35440 -
maciej-izak 8 years ago
parent
commit
b912deae33
1 changed files with 4 additions and 1 deletions
  1. 4 1
      compiler/symdef.pas

+ 4 - 1
compiler/symdef.pas

@@ -4543,7 +4543,10 @@ implementation
 
 
     function trecorddef.needs_inittable : boolean;
     function trecorddef.needs_inittable : boolean;
       begin
       begin
-        needs_inittable:=trecordsymtable(symtable).needs_init_final
+        { each record with managed field or with any management operator needs
+          init table }
+        needs_inittable:=(trecordsymtable(symtable).managementoperators<>[]) or
+          trecordsymtable(symtable).needs_init_final
       end;
       end;
 
 
     function trecorddef.needs_separate_initrtti : boolean;
     function trecorddef.needs_separate_initrtti : boolean;