浏览代码

compiler: don't write reference to objc classes/protocols when writing tkClassRef rtti

git-svn-id: trunk@24454 -
paul 12 年之前
父节点
当前提交
39cee28f01
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      compiler/ncgrtti.pas

+ 4 - 1
compiler/ncgrtti.pas

@@ -624,7 +624,10 @@ implementation
         begin
           write_header(def,tkClassRef);
           maybe_write_align;
-          current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(ref_rtti(def.pointeddef,rt)));
+          if is_objc_class_or_protocol(def.pointeddef) then
+            current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(nil))
+          else
+            current_asmdata.asmlists[al_rtti].concat(Tai_const.Create_sym(ref_rtti(def.pointeddef,rt)));
         end;
 
         procedure pointerdef_rtti(def:tpointerdef);