浏览代码

* For object fullrtti, add a parent 'field' regardless of whether its type needs inittable.

git-svn-id: trunk@16635 -
sergei 14 年之前
父节点
当前提交
2ff5f7a000
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      compiler/ncgrtti.pas

+ 1 - 1
compiler/ncgrtti.pas

@@ -156,7 +156,7 @@ implementation
           provides correct handling of entire instance with RTL rtti routines. }
           provides correct handling of entire instance with RTL rtti routines. }
         if (def.typ=objectdef) and (tobjectdef(def).objecttype=odt_object) and
         if (def.typ=objectdef) and (tobjectdef(def).objecttype=odt_object) and
             Assigned(tobjectdef(def).childof) and
             Assigned(tobjectdef(def).childof) and
-            tobjectdef(def).childof.needs_inittable then
+            ((rt=fullrtti) or (tobjectdef(def).childof.needs_inittable)) then
           begin
           begin
             current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(ref_rtti(tobjectdef(def).childof,rt)));
             current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(ref_rtti(tobjectdef(def).childof,rt)));
             current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_32bit(0));
             current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_32bit(0));