Răsfoiți Sursa

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

git-svn-id: trunk@24454 -
paul 12 ani în urmă
părinte
comite
39cee28f01
1 a modificat fișierele cu 4 adăugiri și 1 ștergeri
  1. 4 1
      compiler/ncgrtti.pas

+ 4 - 1
compiler/ncgrtti.pas

@@ -624,7 +624,10 @@ implementation
         begin
         begin
           write_header(def,tkClassRef);
           write_header(def,tkClassRef);
           maybe_write_align;
           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;
         end;
 
 
         procedure pointerdef_rtti(def:tpointerdef);
         procedure pointerdef_rtti(def:tpointerdef);