|
@@ -205,8 +205,7 @@ implementation
|
|
|
para : tparavarsym;
|
|
|
begin
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
totalcount:=0;
|
|
|
rtticount:=0;
|
|
@@ -241,8 +240,7 @@ implementation
|
|
|
def.init_paraloc_info(callerside);
|
|
|
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
write_rtti_reference(tcb,def.returndef,fullrtti);
|
|
|
write_callconv(tcb,def);
|
|
@@ -256,8 +254,7 @@ implementation
|
|
|
para:=tparavarsym(def.paras[k]);
|
|
|
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
if is_open_array(para.vardef) or is_array_of_const(para.vardef) then
|
|
|
write_rtti_reference(tcb,tarraydef(para.vardef).elementdef,fullrtti)
|
|
@@ -297,8 +294,7 @@ implementation
|
|
|
{ TTypeInfo, always packed and doesn't need alignment }
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_header]+tostr(length(name)),1,1,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
if def.typ=arraydef then
|
|
|
InternalError(201012211);
|
|
|
tcb.emit_tai(Tai_const.Create_8bit(typekind),u8inttype);
|
|
@@ -400,14 +396,12 @@ implementation
|
|
|
loctcb:=ctai_typedconstbuilder.create([tcalo_is_lab,tcalo_make_dead_strippable,tcalo_apply_constalign]);
|
|
|
|
|
|
loctcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
loctcb.emit_ord_const(length(locs),u8inttype);
|
|
|
for i:=low(locs) to high(locs) do
|
|
|
begin
|
|
|
loctcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
loctcb.emit_ord_const(locs[i].loctype,u8inttype);
|
|
|
loctcb.emit_ord_const(locs[i].regsub,u8inttype);
|
|
|
loctcb.emit_ord_const(locs[i].regindex,u16inttype);
|
|
@@ -519,8 +513,7 @@ implementation
|
|
|
tcb.start_internal_data_builder(current_asmdata.AsmLists[al_rtti],sec_rodata,'',datatcb,tbllbl);
|
|
|
|
|
|
datatcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
datatcb.emit_ord_const(list.count,u32inttype);
|
|
|
|
|
|
entrydef:=get_recorddef(itp_init_mop_offset_entry,[voidcodepointertype,sizeuinttype],defaultpacking);
|
|
@@ -865,8 +858,7 @@ implementation
|
|
|
|
|
|
begin
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
tcb.emit_ord_const(published_properties_count(st),u16inttype);
|
|
|
for i:=0 to st.SymList.Count-1 do
|
|
|
begin
|
|
@@ -886,8 +878,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
propdefname,
|
|
|
1,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
if ppo_indexed in tpropertysym(sym).propoptions then
|
|
|
proctypesinfo:=$40
|
|
|
else
|
|
@@ -950,8 +941,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_ansistr],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
tcb.emit_ord_const(def.encoding,u16inttype);
|
|
|
tcb.end_anonymous_record;
|
|
@@ -997,13 +987,11 @@ implementation
|
|
|
and o2s arrays for llvm (otherwise we have to write out the entire
|
|
|
type definition every time we access an element from this record) }
|
|
|
tcb.begin_anonymous_record(internaltypeprefixName[itp_rtti_enum_size_start_rec]+def.unique_id_str,defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
tcb.next_field_name:='typ_union_rec';
|
|
|
tcb.begin_anonymous_record(internaltypeprefixName[itp_rtti_enum_size_start_rec2]+def.unique_id_str,defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
case longint(def.size) of
|
|
|
1 :
|
|
|
tcb.emit_ord_const(otUByte,u8inttype);
|
|
@@ -1021,16 +1009,14 @@ implementation
|
|
|
We need to adhere to this, otherwise things will break. }
|
|
|
tcb.next_field_name:='min_max_rec';
|
|
|
tcb.begin_anonymous_record(internaltypeprefixName[itp_rtti_enum_min_max_rec]+def.unique_id_str,defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
tcb.emit_ord_const(def.min,s32inttype);
|
|
|
tcb.emit_ord_const(def.max,s32inttype);
|
|
|
tcb.next_field_name:='basetype_array_rec';
|
|
|
{ all strings must appear right after each other -> from now on
|
|
|
packrecords 1 (but the start must still be aligned) }
|
|
|
tcb.begin_anonymous_record(internaltypeprefixName[itp_rtti_enum_basetype_array_rec]+def.unique_id_str,1,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
{ write base type }
|
|
|
write_rtti_reference(tcb,def.basedef,rt);
|
|
|
for i:=0 to def.symtable.SymList.Count-1 do
|
|
@@ -1101,15 +1087,13 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_ord_outer]+elesize,
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
tcb.emit_ord_const(byte(trans[def.ordtype]),u8inttype);
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_ord_inner]+elesize,
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
{Convert to longint to smuggle values in high(longint)+1..high(cardinal) into asmlist.}
|
|
|
case deftrans of
|
|
|
otUQWord:
|
|
@@ -1166,8 +1150,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_1byte],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
tcb.emit_ord_const(ftCurr,u8inttype);
|
|
|
tcb.end_anonymous_record;
|
|
@@ -1188,8 +1171,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_1byte],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
tcb.emit_ord_const(translate[def.floattype],u8inttype);
|
|
|
tcb.end_anonymous_record;
|
|
@@ -1202,14 +1184,12 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_set_outer],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_set_middle],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
case def.size of
|
|
|
1:
|
|
|
tcb.emit_ord_const(otUByte,u8inttype);
|
|
@@ -1223,8 +1203,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_set_inner],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
tcb.emit_ord_const(def.size,sizesinttype);
|
|
|
write_rtti_reference(tcb,def.elementdef,rt);
|
|
|
tcb.end_anonymous_record;
|
|
@@ -1264,8 +1243,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_normal_array]+tostr(dimcount),
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
{ total size = elecount * elesize of the first arraydef }
|
|
|
tcb.emit_tai(Tai_const.Create_sizeint(def.elecount*def.elesize),sizeuinttype);
|
|
@@ -1296,8 +1274,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_dyn_array],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
{ size of elements }
|
|
|
tcb.emit_tai(Tai_const.Create_sizeint(def.elesize),sizeuinttype);
|
|
@@ -1322,8 +1299,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_ref],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
write_rtti_reference(tcb,def.pointeddef,rt);
|
|
|
tcb.end_anonymous_record;
|
|
@@ -1335,8 +1311,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_ref],
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
write_rtti_reference(tcb,def.pointeddef,rt);
|
|
|
tcb.end_anonymous_record;
|
|
@@ -1360,8 +1335,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
rttilab.Name,
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin
|
|
|
);
|
|
|
|
|
|
{ use "succ" to omit first enum item "mop_none" }
|
|
@@ -1394,8 +1368,7 @@ implementation
|
|
|
only be aligned to 4 even on 64 bit target (while the rtti code
|
|
|
in typinfo expects alignments to sizeof(pointer)) }
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
|
|
@@ -1451,8 +1424,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_proc_param]+tostr(length(parasym.realname)),
|
|
|
defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
{ write flags for current parameter }
|
|
|
write_param_flag(tcb,parasym);
|
|
|
{ write param type }
|
|
@@ -1476,8 +1448,7 @@ implementation
|
|
|
{ write method id and name }
|
|
|
write_header(tcb,def,tkMethod);
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
|
|
@@ -1520,8 +1491,7 @@ implementation
|
|
|
begin
|
|
|
write_header(tcb,def,tkProcvar);
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
|
|
@@ -1632,8 +1602,7 @@ implementation
|
|
|
collect_propnamelist(propnamelist,def);
|
|
|
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
{ write parent typeinfo }
|
|
|
write_rtti_reference(tcb,def.childof,fullrtti);
|
|
@@ -1659,8 +1628,7 @@ implementation
|
|
|
tcb.emit_shortstring_const(current_module.realmodulename^);
|
|
|
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
{ write iidstr }
|
|
|
if def.objecttype=odt_interfacecorba then
|
|
@@ -1704,8 +1672,7 @@ implementation
|
|
|
tcb.emit_shortstring_const(def.objrealname^);
|
|
|
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
write_common_rtti_data(tcb,def,rt);
|
|
|
|
|
@@ -1798,8 +1765,7 @@ implementation
|
|
|
argtcb:=ctai_typedconstbuilder.create([tcalo_is_lab,tcalo_make_dead_strippable,tcalo_apply_constalign]);
|
|
|
|
|
|
argtcb.begin_anonymous_record('',defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
|
|
|
arglen:=0;
|
|
|
for i:=0 to High(attr.paras) do
|
|
@@ -1860,14 +1826,12 @@ implementation
|
|
|
tbltcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rtti_attr_list]+tostr(count),
|
|
|
defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
tbltcb.emit_ord_const(count,u16inttype);
|
|
|
for i:=0 to count-1 do
|
|
|
begin
|
|
|
tbltcb.begin_anonymous_record(internaltypeprefixName[itp_rtti_attr_entry],defaultpacking,min(reqalign,SizeOf(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
attr:=trtti_attribute(attr_list.rtti_attributes[i]);
|
|
|
|
|
|
write_rtti_reference(tbltcb,ttypesym(attr.typesym).typedef,fullrtti);
|
|
@@ -1979,14 +1943,12 @@ implementation
|
|
|
tcb:=ctai_typedconstbuilder.create([tcalo_make_dead_strippable,tcalo_data_force_indirect]);
|
|
|
{ use TConstPtrUInt packrecords to ensure good alignment }
|
|
|
tcb.begin_anonymous_record('',defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
{ now emit the data: first the mode }
|
|
|
tcb.emit_tai(Tai_const.create_32bit(longint(mode)),u32inttype);
|
|
|
{ align }
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,sizeof(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
if mode=lookup then
|
|
|
begin
|
|
|
o:=tenumsym(syms[0]).value; {Start with min value.}
|
|
@@ -2013,8 +1975,7 @@ implementation
|
|
|
begin
|
|
|
tcb.emit_ord_const(sym_count,u32inttype);
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,sizeof(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
for i:=0 to sym_count-1 do
|
|
|
begin
|
|
|
tcb.emit_ord_const(tenumsym(syms[i]).value,s32inttype);
|
|
@@ -2058,13 +2019,11 @@ implementation
|
|
|
tcb:=ctai_typedconstbuilder.create([tcalo_make_dead_strippable,tcalo_data_force_indirect]);
|
|
|
{ begin of Tstring_to_ord }
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,sizeof(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
tcb.emit_ord_const(syms.count,s32inttype);
|
|
|
{ begin of "data" array in Tstring_to_ord }
|
|
|
tcb.begin_anonymous_record('',defaultpacking,min(reqalign,sizeof(PInt)),
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign);
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin);
|
|
|
for i:=0 to syms.count-1 do
|
|
|
begin
|
|
|
tcb.emit_ord_const(tenumsym(syms[i]).value,s32inttype);
|
|
@@ -2249,8 +2208,7 @@ implementation
|
|
|
tcb.begin_anonymous_record(
|
|
|
internaltypeprefixName[itp_rttidef]+tstoreddef(def).rtti_mangledname(rt),
|
|
|
defaultpacking,reqalign,
|
|
|
- targetinfos[target_info.system]^.alignment.recordalignmin,
|
|
|
- targetinfos[target_info.system]^.alignment.maxCrecordalign
|
|
|
+ targetinfos[target_info.system]^.alignment.recordalignmin
|
|
|
);
|
|
|
write_rtti_data(tcb,def,rt);
|
|
|
rttidef:=tcb.end_anonymous_record;
|