|
@@ -184,6 +184,7 @@ interface
|
|
|
{$ifdef GDB}
|
|
|
function stabstring : pchar;override;
|
|
|
{$endif GDB}
|
|
|
+ function mangledname:string;override;
|
|
|
end;
|
|
|
|
|
|
tabstractnormalvarsym = class(tabstractvarsym)
|
|
@@ -1531,6 +1532,22 @@ implementation
|
|
|
{$endif GDB}
|
|
|
|
|
|
|
|
|
+ function tfieldvarsym.mangledname:string;
|
|
|
+ var
|
|
|
+ srsym : tsym;
|
|
|
+ srsymtable : tsymtable;
|
|
|
+ begin
|
|
|
+ if sp_static in symoptions then
|
|
|
+ begin
|
|
|
+ searchsym(lower(owner.name^)+'_'+name,srsym,srsymtable);
|
|
|
+ if assigned(srsym) then
|
|
|
+ result:=tglobalvarsym(srsym).mangledname;
|
|
|
+ end
|
|
|
+ else
|
|
|
+ result:=inherited mangledname;
|
|
|
+ end;
|
|
|
+
|
|
|
+
|
|
|
{****************************************************************************
|
|
|
TABSTRACTNORMALVARSYM
|
|
|
****************************************************************************}
|