mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-07 19:31:13 +02:00
* if a mangledbasename is set for staticvarsyms, also use if when emitting
definitions git-svn-id: branches/jvmbackend@18814 -
This commit is contained in:
parent
54f9947406
commit
7010116096
@ -837,6 +837,9 @@ implementation
|
||||
if (sym.typ=fieldvarsym) and
|
||||
assigned(tfieldvarsym(sym).externalname) then
|
||||
result:=jvmmangledbasename(sym,tfieldvarsym(sym).externalname^,withsignature)
|
||||
else if (sym.typ=staticvarsym) and
|
||||
(tstaticvarsym(sym).mangledbasename<>'') then
|
||||
result:=jvmmangledbasename(sym,tstaticvarsym(sym).mangledbasename,withsignature)
|
||||
else
|
||||
result:=jvmmangledbasename(sym,sym.RealName,withsignature);
|
||||
end;
|
||||
|
@ -226,6 +226,7 @@ interface
|
||||
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
||||
function mangledname:TSymStr;override;
|
||||
procedure set_mangledbasename(const s: TSymStr);
|
||||
function mangledbasename: TSymStr;
|
||||
procedure set_mangledname(const s:TSymStr);
|
||||
procedure set_raw_mangledname(const s:TSymStr);
|
||||
end;
|
||||
@ -1594,8 +1595,12 @@ implementation
|
||||
procedure tstaticvarsym.set_mangledbasename(const s: TSymStr);
|
||||
begin
|
||||
{$ifdef symansistr}
|
||||
if _mangledname<>'' then
|
||||
internalerror(2011082202);
|
||||
_mangledbasename:=s;
|
||||
{$else symansistr}
|
||||
if assigned(_mangledname) then
|
||||
internalerror(2011082202);
|
||||
stringdispose(_mangledbasename);
|
||||
_mangledbasename:=stringdup(s);
|
||||
{$endif symansistr}
|
||||
@ -1603,6 +1608,19 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
function tstaticvarsym.mangledbasename: TSymStr;
|
||||
begin
|
||||
{$ifdef symansistr}
|
||||
result:=_mangledbasename;
|
||||
{$else symansistr}
|
||||
if assigned(_mangledbasename) then
|
||||
result:=_mangledbasename^
|
||||
else
|
||||
result:='';
|
||||
{$endif symansistr}
|
||||
end;
|
||||
|
||||
|
||||
procedure tstaticvarsym.set_mangledname(const s:TSymStr);
|
||||
begin
|
||||
{$ifndef symansistr}
|
||||
|
Loading…
Reference in New Issue
Block a user