compiler: don't write rtti for objc classes/protocols (a trial to fix build on mac)

git-svn-id: trunk@24440 -
This commit is contained in:
paul 2013-05-05 03:18:59 +00:00
parent e6489ed7d2
commit 5cd3f9d8fb

View File

@ -627,7 +627,10 @@ implementation
begin
write_header(def,tkPointer);
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 recorddef_rtti(def:trecorddef);
@ -1225,7 +1228,8 @@ implementation
end;
classrefdef,
pointerdef:
write_rtti(tabstractpointerdef(def).pointeddef,rt);
if is_objc_class_or_protocol(tabstractpointerdef(def).pointeddef) then
write_rtti(tabstractpointerdef(def).pointeddef,rt);
end;
end;