mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-10 05:46:14 +02:00
* converted ncgrtti to the high level typed constant builder
o the result is still not very clean due to the fact that this data is almost completely unstructured due to variable-length strings everywhere, which means that a) we cannot just load recorddefs from the system or typeinfo unit and use those as templates b) we cannot easily reuse the recorddefs we create ourselves (except if the strings have the same length -- this is the reason for all of the names specified to begin_anonymous_record: to reuse defs as much as possible rather than creating new ones all the time) c) we have to add explicitly aligned subrecords everywhere to insert explicit alignment on platforms that need it git-svn-id: trunk@31255 -
This commit is contained in:
parent
c946a85ae6
commit
d7f6744f7b
File diff suppressed because it is too large
Load Diff
@ -632,6 +632,7 @@ type
|
||||
{ prefixes for internally generated type names (centralised to avoid
|
||||
accidental collisions) }
|
||||
tinternaltypeprefix = (
|
||||
itp_1byte,
|
||||
itp_llvmstruct,
|
||||
itp_vmtdef,
|
||||
itp_vmt_tstringmesssagetable,
|
||||
@ -639,7 +640,17 @@ type
|
||||
itp_vmt_tmethod_name_table,
|
||||
itp_vmt_intern_msgint_table,
|
||||
itp_vmt_intern_tmethodnamerec,
|
||||
itp_vmt_intern_tmethodnametable
|
||||
itp_vmt_intern_tmethodnametable,
|
||||
itp_rttidef,
|
||||
itp_rtti_header,
|
||||
itp_rtti_prop,
|
||||
itp_rtti_ansistr,
|
||||
itp_rtti_ord_outer,
|
||||
itp_rtti_ord_inner,
|
||||
itp_rtti_ord_64bit,
|
||||
itp_rtti_normal_array,
|
||||
itp_rtti_dyn_array,
|
||||
itp_rtti_proc_param
|
||||
);
|
||||
|
||||
{ The order is from low priority to high priority,
|
||||
@ -742,6 +753,7 @@ inherited_objectoptions : tobjectoptions = [oo_has_virtual,oo_has_private,oo_has
|
||||
);
|
||||
|
||||
internaltypeprefixName : array[tinternaltypeprefix] of TSymStr = (
|
||||
'$1byte$',
|
||||
'$llvmstruct$',
|
||||
'$vmtdef$',
|
||||
'$vmt_TStringMesssageTable$',
|
||||
@ -749,7 +761,17 @@ inherited_objectoptions : tobjectoptions = [oo_has_virtual,oo_has_private,oo_has
|
||||
'$vmt_tmethod_name_table$',
|
||||
'$vmt_intern_msgint_table$',
|
||||
'$vmt_intern_tmethodnamerec$',
|
||||
'$vmt_intern_tmethodnametable$'
|
||||
'$vmt_intern_tmethodnametable$',
|
||||
'$rttidef$',
|
||||
'$rtti_header$',
|
||||
'$rtti_prop$',
|
||||
'$rtti_ansistr$',
|
||||
'$rtti_ord_outer$',
|
||||
'$rtti_ord_inner$',
|
||||
'$rtti_ord_64bit$',
|
||||
'$rtti_normal_array$',
|
||||
'$rtti_dyn_array$',
|
||||
'$rtti_proc_param$'
|
||||
);
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user