|
@@ -102,7 +102,7 @@ interface
|
|
procedure buildderef;override;
|
|
procedure buildderef;override;
|
|
procedure deref;override;
|
|
procedure deref;override;
|
|
function GetTypeName:string;override;
|
|
function GetTypeName:string;override;
|
|
- function getmangledparaname:string;override;
|
|
|
|
|
|
+ function getmangledparaname:TSymStr;override;
|
|
procedure setsize;
|
|
procedure setsize;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -147,7 +147,7 @@ interface
|
|
constructor create;
|
|
constructor create;
|
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
|
function GetTypeName:string;override;
|
|
function GetTypeName:string;override;
|
|
- function getmangledparaname : string;override;
|
|
|
|
|
|
+ function getmangledparaname : TSymStr;override;
|
|
end;
|
|
end;
|
|
|
|
|
|
tabstractpointerdef = class(tstoreddef)
|
|
tabstractpointerdef = class(tstoreddef)
|
|
@@ -322,7 +322,7 @@ interface
|
|
function is_related(d : tdef) : boolean;override;
|
|
function is_related(d : tdef) : boolean;override;
|
|
function needs_inittable : boolean;override;
|
|
function needs_inittable : boolean;override;
|
|
function rtti_mangledname(rt:trttitype):string;override;
|
|
function rtti_mangledname(rt:trttitype):string;override;
|
|
- function vmt_mangledname : string;
|
|
|
|
|
|
+ function vmt_mangledname : TSymStr;
|
|
procedure check_forwards; override;
|
|
procedure check_forwards; override;
|
|
procedure insertvmt;
|
|
procedure insertvmt;
|
|
procedure set_parent(c : tobjectdef);
|
|
procedure set_parent(c : tobjectdef);
|
|
@@ -379,7 +379,7 @@ interface
|
|
function getcopy : tstoreddef;override;
|
|
function getcopy : tstoreddef;override;
|
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
|
function GetTypeName:string;override;
|
|
function GetTypeName:string;override;
|
|
- function getmangledparaname : string;override;
|
|
|
|
|
|
+ function getmangledparaname : TSymStr;override;
|
|
procedure buildderef;override;
|
|
procedure buildderef;override;
|
|
procedure deref;override;
|
|
procedure deref;override;
|
|
function size : asizeint;override;
|
|
function size : asizeint;override;
|
|
@@ -473,7 +473,7 @@ interface
|
|
function is_publishable : boolean;override;
|
|
function is_publishable : boolean;override;
|
|
function is_methodpointer:boolean;override;
|
|
function is_methodpointer:boolean;override;
|
|
function is_addressonly:boolean;override;
|
|
function is_addressonly:boolean;override;
|
|
- function getmangledparaname:string;override;
|
|
|
|
|
|
+ function getmangledparaname:TSymStr;override;
|
|
end;
|
|
end;
|
|
|
|
|
|
tmessageinf = record
|
|
tmessageinf = record
|
|
@@ -517,7 +517,11 @@ interface
|
|
|
|
|
|
tprocdef = class(tabstractprocdef)
|
|
tprocdef = class(tabstractprocdef)
|
|
private
|
|
private
|
|
|
|
+{$ifdef symansistr}
|
|
|
|
+ _mangledname : ansistring;
|
|
|
|
+{$else symansistr}
|
|
_mangledname : pshortstring;
|
|
_mangledname : pshortstring;
|
|
|
|
+{$endif}
|
|
public
|
|
public
|
|
messageinf : tmessageinf;
|
|
messageinf : tmessageinf;
|
|
dispid : longint;
|
|
dispid : longint;
|
|
@@ -614,14 +618,14 @@ interface
|
|
}
|
|
}
|
|
function getcopy: tstoreddef; override;
|
|
function getcopy: tstoreddef; override;
|
|
function GetTypeName : string;override;
|
|
function GetTypeName : string;override;
|
|
- function mangledname : string;
|
|
|
|
- procedure setmangledname(const s : string);
|
|
|
|
|
|
+ function mangledname : TSymStr;
|
|
|
|
+ procedure setmangledname(const s : TSymStr);
|
|
function fullprocname(showhidden:boolean):string;
|
|
function fullprocname(showhidden:boolean):string;
|
|
function customprocname(pno: tprocnameoptions):ansistring;
|
|
function customprocname(pno: tprocnameoptions):ansistring;
|
|
- function defaultmangledname: string;
|
|
|
|
- function cplusplusmangledname : string;
|
|
|
|
- function objcmangledname : string;
|
|
|
|
- function jvmmangledbasename(signature: boolean): string;
|
|
|
|
|
|
+ function defaultmangledname: TSymStr;
|
|
|
|
+ function cplusplusmangledname : TSymStr;
|
|
|
|
+ function objcmangledname : TSymStr;
|
|
|
|
+ function jvmmangledbasename(signature: boolean): TSymStr;
|
|
function is_methodpointer:boolean;override;
|
|
function is_methodpointer:boolean;override;
|
|
function is_addressonly:boolean;override;
|
|
function is_addressonly:boolean;override;
|
|
procedure make_external;
|
|
procedure make_external;
|
|
@@ -652,7 +656,7 @@ interface
|
|
function stringtypname:string;
|
|
function stringtypname:string;
|
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
|
procedure ppuwrite(ppufile:tcompilerppufile);override;
|
|
function GetTypeName:string;override;
|
|
function GetTypeName:string;override;
|
|
- function getmangledparaname:string;override;
|
|
|
|
|
|
+ function getmangledparaname:TSymStr;override;
|
|
function is_publishable : boolean;override;
|
|
function is_publishable : boolean;override;
|
|
function alignment : shortint;override;
|
|
function alignment : shortint;override;
|
|
function needs_inittable : boolean;override;
|
|
function needs_inittable : boolean;override;
|
|
@@ -857,9 +861,9 @@ interface
|
|
pbestrealtype : ^tdef = @s64floattype;
|
|
pbestrealtype : ^tdef = @s64floattype;
|
|
{$endif JVM}
|
|
{$endif JVM}
|
|
|
|
|
|
- function make_mangledname(const typeprefix:string;st:TSymtable;const suffix:string):string;
|
|
|
|
- function make_dllmangledname(const dllname,importname:string;
|
|
|
|
- import_nr : word; pco : tproccalloption):string;
|
|
|
|
|
|
+ function make_mangledname(const typeprefix:TSymStr;st:TSymtable;const suffix:TSymStr):TSymStr;
|
|
|
|
+ function make_dllmangledname(const dllname,importname:TSymStr;
|
|
|
|
+ import_nr : word; pco : tproccalloption):TSymStr;
|
|
|
|
|
|
{ should be in the types unit, but the types unit uses the node stuff :( }
|
|
{ should be in the types unit, but the types unit uses the node stuff :( }
|
|
function is_interfacecom(def: tdef): boolean;
|
|
function is_interfacecom(def: tdef): boolean;
|
|
@@ -920,10 +924,10 @@ implementation
|
|
Helpers
|
|
Helpers
|
|
****************************************************************************}
|
|
****************************************************************************}
|
|
|
|
|
|
- function make_mangledname(const typeprefix:string;st:TSymtable;const suffix:string):string;
|
|
|
|
|
|
+ function make_mangledname(const typeprefix:TSymStr;st:TSymtable;const suffix:TSymStr):TSymStr;
|
|
var
|
|
var
|
|
s,hs,
|
|
s,hs,
|
|
- prefix : string;
|
|
|
|
|
|
+ prefix : TSymStr;
|
|
oldlen,
|
|
oldlen,
|
|
newlen,
|
|
newlen,
|
|
i : longint;
|
|
i : longint;
|
|
@@ -1016,12 +1020,12 @@ implementation
|
|
result := '_' + result;
|
|
result := '_' + result;
|
|
end;
|
|
end;
|
|
|
|
|
|
- function make_dllmangledname(const dllname,importname:string;import_nr : word; pco : tproccalloption):string;
|
|
|
|
|
|
+ function make_dllmangledname(const dllname,importname:TSymStr;import_nr : word; pco : tproccalloption):TSymStr;
|
|
var
|
|
var
|
|
crc : cardinal;
|
|
crc : cardinal;
|
|
i : longint;
|
|
i : longint;
|
|
use_crc : boolean;
|
|
use_crc : boolean;
|
|
- dllprefix : string;
|
|
|
|
|
|
+ dllprefix : TSymStr;
|
|
begin
|
|
begin
|
|
if (target_info.system in (systems_all_windows + systems_nativent +
|
|
if (target_info.system in (systems_all_windows + systems_nativent +
|
|
[system_i386_emx, system_i386_os2]))
|
|
[system_i386_emx, system_i386_os2]))
|
|
@@ -1655,7 +1659,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tstringdef.getmangledparaname : string;
|
|
|
|
|
|
+ function tstringdef.getmangledparaname : TSymStr;
|
|
begin
|
|
begin
|
|
getmangledparaname:='STRING';
|
|
getmangledparaname:='STRING';
|
|
end;
|
|
end;
|
|
@@ -2249,7 +2253,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tfiledef.getmangledparaname : string;
|
|
|
|
|
|
+ function tfiledef.getmangledparaname : TSymStr;
|
|
begin
|
|
begin
|
|
case filetyp of
|
|
case filetyp of
|
|
ft_untyped:
|
|
ft_untyped:
|
|
@@ -2873,7 +2877,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tarraydef.getmangledparaname : string;
|
|
|
|
|
|
+ function tarraydef.getmangledparaname : TSymStr;
|
|
begin
|
|
begin
|
|
if ado_isarrayofconst in arrayoptions then
|
|
if ado_isarrayofconst in arrayoptions then
|
|
getmangledparaname:='array_of_const'
|
|
getmangledparaname:='array_of_const'
|
|
@@ -3654,7 +3658,11 @@ implementation
|
|
begin
|
|
begin
|
|
inherited create(procdef,level);
|
|
inherited create(procdef,level);
|
|
localst:=tlocalsymtable.create(self,parast.symtablelevel);
|
|
localst:=tlocalsymtable.create(self,parast.symtablelevel);
|
|
|
|
+{$ifdef symansistr}
|
|
|
|
+ _mangledname:='';
|
|
|
|
+{$else symansistr}
|
|
_mangledname:=nil;
|
|
_mangledname:=nil;
|
|
|
|
+{$endif symansistr}
|
|
fileinfo:=current_filepos;
|
|
fileinfo:=current_filepos;
|
|
extnumber:=$ffff;
|
|
extnumber:=$ffff;
|
|
aliasnames:=TCmdStrList.create;
|
|
aliasnames:=TCmdStrList.create;
|
|
@@ -3681,10 +3689,17 @@ implementation
|
|
level : byte;
|
|
level : byte;
|
|
begin
|
|
begin
|
|
inherited ppuload(procdef,ppufile);
|
|
inherited ppuload(procdef,ppufile);
|
|
|
|
+{$ifdef symansistr}
|
|
|
|
+ if po_has_mangledname in procoptions then
|
|
|
|
+ _mangledname:=ppufile.getansistring
|
|
|
|
+ else
|
|
|
|
+ _mangledname:='';
|
|
|
|
+{$else symansistr}
|
|
if po_has_mangledname in procoptions then
|
|
if po_has_mangledname in procoptions then
|
|
_mangledname:=stringdup(ppufile.getstring)
|
|
_mangledname:=stringdup(ppufile.getstring)
|
|
else
|
|
else
|
|
_mangledname:=nil;
|
|
_mangledname:=nil;
|
|
|
|
+{$endif symansistr}
|
|
extnumber:=ppufile.getword;
|
|
extnumber:=ppufile.getword;
|
|
level:=ppufile.getbyte;
|
|
level:=ppufile.getbyte;
|
|
ppufile.getderef(structderef);
|
|
ppufile.getderef(structderef);
|
|
@@ -3806,6 +3821,7 @@ implementation
|
|
stringdispose(deprecatedmsg);
|
|
stringdispose(deprecatedmsg);
|
|
if (po_msgstr in procoptions) then
|
|
if (po_msgstr in procoptions) then
|
|
stringdispose(messageinf.str);
|
|
stringdispose(messageinf.str);
|
|
|
|
+{$ifndef symansistr}
|
|
if assigned(_mangledname) then
|
|
if assigned(_mangledname) then
|
|
begin
|
|
begin
|
|
{$ifdef MEMDEBUG}
|
|
{$ifdef MEMDEBUG}
|
|
@@ -3816,6 +3832,7 @@ implementation
|
|
memmanglednames.stop;
|
|
memmanglednames.stop;
|
|
{$endif MEMDEBUG}
|
|
{$endif MEMDEBUG}
|
|
end;
|
|
end;
|
|
|
|
+{$endif symansistr}
|
|
inherited destroy;
|
|
inherited destroy;
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -3831,8 +3848,13 @@ implementation
|
|
exit;
|
|
exit;
|
|
|
|
|
|
inherited ppuwrite(ppufile);
|
|
inherited ppuwrite(ppufile);
|
|
|
|
+{$ifdef symansistr}
|
|
|
|
+ if po_has_mangledname in procoptions then
|
|
|
|
+ ppufile.putansistring(_mangledname);
|
|
|
|
+{$else symansistr}
|
|
if po_has_mangledname in procoptions then
|
|
if po_has_mangledname in procoptions then
|
|
ppufile.putstring(_mangledname^);
|
|
ppufile.putstring(_mangledname^);
|
|
|
|
+{$endif symansistr}
|
|
|
|
|
|
ppufile.putword(extnumber);
|
|
ppufile.putword(extnumber);
|
|
ppufile.putbyte(parast.symtablelevel);
|
|
ppufile.putbyte(parast.symtablelevel);
|
|
@@ -4210,15 +4232,24 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tprocdef.mangledname : string;
|
|
|
|
|
|
+ function tprocdef.mangledname : TSymStr;
|
|
begin
|
|
begin
|
|
|
|
+{$ifdef symansistr}
|
|
|
|
+ if _mangledname<>'' then
|
|
|
|
+{$else symansistr}
|
|
if assigned(_mangledname) then
|
|
if assigned(_mangledname) then
|
|
- begin
|
|
|
|
- {$ifdef compress}
|
|
|
|
|
|
+{$endif symansistr}
|
|
|
|
+ begin
|
|
|
|
+{$ifdef compress}
|
|
|
|
+ {$error add support for ansistrings in case of symansistr}
|
|
mangledname:=minilzw_decode(_mangledname^);
|
|
mangledname:=minilzw_decode(_mangledname^);
|
|
- {$else}
|
|
|
|
|
|
+{$else}
|
|
|
|
+ {$ifdef symansistr}
|
|
|
|
+ mangledname:=_mangledname;
|
|
|
|
+ {$else symansistr}
|
|
mangledname:=_mangledname^;
|
|
mangledname:=_mangledname^;
|
|
- {$endif}
|
|
|
|
|
|
+ {$endif symansistr}
|
|
|
|
+{$endif}
|
|
exit;
|
|
exit;
|
|
end;
|
|
end;
|
|
{$ifndef jvm}
|
|
{$ifndef jvm}
|
|
@@ -4236,18 +4267,23 @@ implementation
|
|
else
|
|
else
|
|
jvmaddtypeownerprefix(owner,mangledname);
|
|
jvmaddtypeownerprefix(owner,mangledname);
|
|
{$endif not jvm}
|
|
{$endif not jvm}
|
|
- {$ifdef compress}
|
|
|
|
|
|
+{$ifdef compress}
|
|
|
|
+ {$error add support for ansistrings in case of symansistr}
|
|
_mangledname:=stringdup(minilzw_encode(mangledname));
|
|
_mangledname:=stringdup(minilzw_encode(mangledname));
|
|
- {$else}
|
|
|
|
|
|
+{$else}
|
|
|
|
+ {$ifdef symansistr}
|
|
|
|
+ _mangledname:=mangledname;
|
|
|
|
+ {$else symansistr}
|
|
_mangledname:=stringdup(mangledname);
|
|
_mangledname:=stringdup(mangledname);
|
|
- {$endif}
|
|
|
|
|
|
+ {$endif symansistr}
|
|
|
|
+{$endif}
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tprocdef.defaultmangledname: string;
|
|
|
|
|
|
+ function tprocdef.defaultmangledname: TSymStr;
|
|
var
|
|
var
|
|
hp : TParavarsym;
|
|
hp : TParavarsym;
|
|
- hs : string;
|
|
|
|
|
|
+ hs : TSymStr;
|
|
crc : dword;
|
|
crc : dword;
|
|
newlen,
|
|
newlen,
|
|
oldlen,
|
|
oldlen,
|
|
@@ -4290,9 +4326,9 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tprocdef.cplusplusmangledname : string;
|
|
|
|
|
|
+ function tprocdef.cplusplusmangledname : TSymStr;
|
|
|
|
|
|
- function getcppparaname(p : tdef) : string;
|
|
|
|
|
|
+ function getcppparaname(p : tdef) : TSymStr;
|
|
|
|
|
|
const
|
|
const
|
|
{$ifdef NAMEMANGLING_GCC2}
|
|
{$ifdef NAMEMANGLING_GCC2}
|
|
@@ -4317,7 +4353,7 @@ implementation
|
|
{$endif NAMEMANGLING_GCC2}
|
|
{$endif NAMEMANGLING_GCC2}
|
|
|
|
|
|
var
|
|
var
|
|
- s : string;
|
|
|
|
|
|
+ s : TSymStr;
|
|
|
|
|
|
begin
|
|
begin
|
|
case p.typ of
|
|
case p.typ of
|
|
@@ -4336,7 +4372,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
var
|
|
var
|
|
- s,s2 : string;
|
|
|
|
|
|
+ s,s2 : TSymStr;
|
|
hp : TParavarsym;
|
|
hp : TParavarsym;
|
|
i : integer;
|
|
i : integer;
|
|
|
|
|
|
@@ -4435,7 +4471,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tprocdef.objcmangledname : string;
|
|
|
|
|
|
+ function tprocdef.objcmangledname : TSymStr;
|
|
var
|
|
var
|
|
manglednamelen: longint;
|
|
manglednamelen: longint;
|
|
iscatmethod : boolean;
|
|
iscatmethod : boolean;
|
|
@@ -4466,12 +4502,12 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tprocdef.jvmmangledbasename(signature: boolean): string;
|
|
|
|
|
|
+ function tprocdef.jvmmangledbasename(signature: boolean): TSymStr;
|
|
var
|
|
var
|
|
vs: tparavarsym;
|
|
vs: tparavarsym;
|
|
i: longint;
|
|
i: longint;
|
|
founderror: tdef;
|
|
founderror: tdef;
|
|
- tmpresult: string;
|
|
|
|
|
|
+ tmpresult: TSymStr;
|
|
container: tsymtable;
|
|
container: tsymtable;
|
|
begin
|
|
begin
|
|
{ format:
|
|
{ format:
|
|
@@ -4561,33 +4597,47 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- procedure tprocdef.setmangledname(const s : string);
|
|
|
|
|
|
+ procedure tprocdef.setmangledname(const s : TSymStr);
|
|
begin
|
|
begin
|
|
{ This is not allowed anymore, the forward declaration
|
|
{ This is not allowed anymore, the forward declaration
|
|
already needs to create the correct mangledname, no changes
|
|
already needs to create the correct mangledname, no changes
|
|
afterwards are allowed (PFV) }
|
|
afterwards are allowed (PFV) }
|
|
{ Exception: interface definitions in mode macpas, since in that }
|
|
{ Exception: interface definitions in mode macpas, since in that }
|
|
{ case no reference to the old name can exist yet (JM) }
|
|
{ case no reference to the old name can exist yet (JM) }
|
|
|
|
+{$ifdef symansistr}
|
|
|
|
+ if _mangledname<>'' then
|
|
|
|
+ if ((m_mac in current_settings.modeswitches) and
|
|
|
|
+ (interfacedef)) then
|
|
|
|
+ _mangledname:=''
|
|
|
|
+ else
|
|
|
|
+ internalerror(200411171);
|
|
|
|
+{$else symansistr}
|
|
if assigned(_mangledname) then
|
|
if assigned(_mangledname) then
|
|
if ((m_mac in current_settings.modeswitches) and
|
|
if ((m_mac in current_settings.modeswitches) and
|
|
(interfacedef)) then
|
|
(interfacedef)) then
|
|
stringdispose(_mangledname)
|
|
stringdispose(_mangledname)
|
|
else
|
|
else
|
|
internalerror(200411171);
|
|
internalerror(200411171);
|
|
- {$ifdef jvm}
|
|
|
|
|
|
+{$endif symansistr}
|
|
|
|
+{$ifdef jvm}
|
|
{ this routine can be called for compilerproces. can't set mangled
|
|
{ this routine can be called for compilerproces. can't set mangled
|
|
name since it must be calculated, but it uses import_name when set
|
|
name since it must be calculated, but it uses import_name when set
|
|
-> set that one }
|
|
-> set that one }
|
|
import_name:=stringdup(s);
|
|
import_name:=stringdup(s);
|
|
include(procoptions,po_has_importname);
|
|
include(procoptions,po_has_importname);
|
|
include(procoptions,po_has_mangledname);
|
|
include(procoptions,po_has_mangledname);
|
|
- {$else}
|
|
|
|
- {$ifdef compress}
|
|
|
|
|
|
+{$else}
|
|
|
|
+ {$ifdef compress}
|
|
|
|
+ {$error add support for symansistr}
|
|
_mangledname:=stringdup(minilzw_encode(s));
|
|
_mangledname:=stringdup(minilzw_encode(s));
|
|
- {$else}
|
|
|
|
|
|
+ {$else}
|
|
|
|
+ {$ifdef symansistr}
|
|
|
|
+ _mangledname:=s;
|
|
|
|
+ {$else symansistr}
|
|
_mangledname:=stringdup(s);
|
|
_mangledname:=stringdup(s);
|
|
- {$endif}
|
|
|
|
- {$endif jvm}
|
|
|
|
|
|
+ {$endif symansistr}
|
|
|
|
+ {$endif}
|
|
|
|
+{$endif jvm}
|
|
include(procoptions,po_has_mangledname);
|
|
include(procoptions,po_has_mangledname);
|
|
end;
|
|
end;
|
|
|
|
|
|
@@ -4696,7 +4746,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tprocvardef.getmangledparaname:string;
|
|
|
|
|
|
+ function tprocvardef.getmangledparaname:TSymStr;
|
|
begin
|
|
begin
|
|
if not(po_methodpointer in procoptions) then
|
|
if not(po_methodpointer in procoptions) then
|
|
if not is_nested_pd(self) then
|
|
if not is_nested_pd(self) then
|
|
@@ -5437,7 +5487,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function tobjectdef.vmt_mangledname : string;
|
|
|
|
|
|
+ function tobjectdef.vmt_mangledname : TSymStr;
|
|
begin
|
|
begin
|
|
if not(oo_has_vmt in objectoptions) then
|
|
if not(oo_has_vmt in objectoptions) then
|
|
Message1(parser_n_object_has_no_vmt,objrealname^);
|
|
Message1(parser_n_object_has_no_vmt,objrealname^);
|
|
@@ -6040,7 +6090,7 @@ implementation
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|
|
- function terrordef.getmangledparaname:string;
|
|
|
|
|
|
+ function terrordef.getmangledparaname:TSymStr;
|
|
begin
|
|
begin
|
|
getmangledparaname:='error';
|
|
getmangledparaname:='error';
|
|
end;
|
|
end;
|