mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-13 21:11:23 +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
|
if (sym.typ=fieldvarsym) and
|
||||||
assigned(tfieldvarsym(sym).externalname) then
|
assigned(tfieldvarsym(sym).externalname) then
|
||||||
result:=jvmmangledbasename(sym,tfieldvarsym(sym).externalname^,withsignature)
|
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
|
else
|
||||||
result:=jvmmangledbasename(sym,sym.RealName,withsignature);
|
result:=jvmmangledbasename(sym,sym.RealName,withsignature);
|
||||||
end;
|
end;
|
||||||
|
@ -226,6 +226,7 @@ interface
|
|||||||
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
||||||
function mangledname:TSymStr;override;
|
function mangledname:TSymStr;override;
|
||||||
procedure set_mangledbasename(const s: TSymStr);
|
procedure set_mangledbasename(const s: TSymStr);
|
||||||
|
function mangledbasename: TSymStr;
|
||||||
procedure set_mangledname(const s:TSymStr);
|
procedure set_mangledname(const s:TSymStr);
|
||||||
procedure set_raw_mangledname(const s:TSymStr);
|
procedure set_raw_mangledname(const s:TSymStr);
|
||||||
end;
|
end;
|
||||||
@ -1594,8 +1595,12 @@ implementation
|
|||||||
procedure tstaticvarsym.set_mangledbasename(const s: TSymStr);
|
procedure tstaticvarsym.set_mangledbasename(const s: TSymStr);
|
||||||
begin
|
begin
|
||||||
{$ifdef symansistr}
|
{$ifdef symansistr}
|
||||||
|
if _mangledname<>'' then
|
||||||
|
internalerror(2011082202);
|
||||||
_mangledbasename:=s;
|
_mangledbasename:=s;
|
||||||
{$else symansistr}
|
{$else symansistr}
|
||||||
|
if assigned(_mangledname) then
|
||||||
|
internalerror(2011082202);
|
||||||
stringdispose(_mangledbasename);
|
stringdispose(_mangledbasename);
|
||||||
_mangledbasename:=stringdup(s);
|
_mangledbasename:=stringdup(s);
|
||||||
{$endif symansistr}
|
{$endif symansistr}
|
||||||
@ -1603,6 +1608,19 @@ implementation
|
|||||||
end;
|
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);
|
procedure tstaticvarsym.set_mangledname(const s:TSymStr);
|
||||||
begin
|
begin
|
||||||
{$ifndef symansistr}
|
{$ifndef symansistr}
|
||||||
|
Loading…
Reference in New Issue
Block a user