diff --git a/compiler/ncgrtti.pas b/compiler/ncgrtti.pas index 5aa5747386..01a8b3f7b6 100644 --- a/compiler/ncgrtti.pas +++ b/compiler/ncgrtti.pas @@ -867,7 +867,10 @@ implementation { FieldOffset } tcb.emit_tai(Tai_const.Create_sizeint(fldsym.fieldoffset),sizeuinttype); { FieldType: PPTypeInfo } - tcb.emit_tai(Tai_const.Create_sym(RTTIWriter.get_rtti_label(fldsym.vardef,fullrtti,true)),voidpointertype); + if is_objc_class_or_protocol(fldsym.vardef) then + tcb.emit_tai(Tai_const.Create_sym(RTTIWriter.get_rtti_label(voidpointertype,fullrtti,true)),voidpointertype) + else + tcb.emit_tai(Tai_const.Create_sym(RTTIWriter.get_rtti_label(fldsym.vardef,fullrtti,true)),voidpointertype); { FieldVisibility } tcb.emit_ord_const(visibility_to_rtti_flags(fldsym.visibility),u8inttype); { Name }