compiler: don't skip objc class/protocols in case of initrtti, fixed crash of dynamic array/record which contains a objc class/protocol and requires an initialization

git-svn-id: trunk@24723 -
This commit is contained in:
paul 2013-06-01 14:45:10 +00:00
parent 3953eed6b3
commit 5ff7bb884e

View File

@ -1298,7 +1298,7 @@ implementation
procedure TRTTIWriter.write_rtti_reference(def:tdef;rt:trttitype);
begin
if not assigned(def) or is_void(def) or is_objc_class_or_protocol(def) then
if not assigned(def) or is_void(def) or ((rt<>initrtti) and is_objc_class_or_protocol(def)) 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,rt)));