mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-10-21 21:41:37 +02:00
* fixed dup rtti writing for classes
This commit is contained in:
parent
0f11acb568
commit
bf32e168f9
@ -396,19 +396,21 @@
|
||||
{ rtti generation }
|
||||
procedure tdef.generate_rtti;
|
||||
begin
|
||||
has_rtti:=true;
|
||||
getdatalabel(rtti_label);
|
||||
write_child_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol,init(rtti_label,0)));
|
||||
write_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol_end,init(rtti_label)));
|
||||
if not has_rtti then
|
||||
begin
|
||||
has_rtti:=true;
|
||||
getdatalabel(rtti_label);
|
||||
write_child_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol,init(rtti_label,0)));
|
||||
write_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol_end,init(rtti_label)));
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
function tdef.get_rtti_label : string;
|
||||
begin
|
||||
if not(has_rtti) then
|
||||
generate_rtti;
|
||||
generate_rtti;
|
||||
get_rtti_label:=rtti_label^.name;
|
||||
end;
|
||||
|
||||
@ -3718,13 +3720,16 @@ Const local_symtable_index : longint = $8001;
|
||||
|
||||
procedure tobjectdef.generate_rtti;
|
||||
begin
|
||||
has_rtti:=true;
|
||||
getdatalabel(rtti_label);
|
||||
write_child_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol,initname_global(rtti_name,0)));
|
||||
rttilist^.concat(new(pai_label,init(rtti_label)));
|
||||
write_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol_end,initname(rtti_name)));
|
||||
if not has_rtti then
|
||||
begin
|
||||
has_rtti:=true;
|
||||
getdatalabel(rtti_label);
|
||||
write_child_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol,initname_global(rtti_name,0)));
|
||||
rttilist^.concat(new(pai_label,init(rtti_label)));
|
||||
write_rtti_data;
|
||||
rttilist^.concat(new(pai_symbol_end,initname(rtti_name)));
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -3806,11 +3811,11 @@ Const local_symtable_index : longint = $8001;
|
||||
function tobjectdef.get_rtti_label : string;
|
||||
|
||||
begin
|
||||
if not(has_rtti) then
|
||||
generate_rtti;
|
||||
generate_rtti;
|
||||
get_rtti_label:=rtti_name;
|
||||
end;
|
||||
|
||||
|
||||
{****************************************************************************
|
||||
TFORWARDDEF
|
||||
****************************************************************************}
|
||||
@ -3863,7 +3868,10 @@ Const local_symtable_index : longint = $8001;
|
||||
|
||||
{
|
||||
$Log$
|
||||
Revision 1.190 2000-01-28 23:17:53 florian
|
||||
Revision 1.191 2000-01-30 23:29:06 peter
|
||||
* fixed dup rtti writing for classes
|
||||
|
||||
Revision 1.190 2000/01/28 23:17:53 florian
|
||||
* virtual XXXX; support for objects, only if -dWITHDMT is defined
|
||||
|
||||
Revision 1.189 2000/01/26 12:02:29 peter
|
||||
|
Loading…
Reference in New Issue
Block a user