* uppercase manglednames

This commit is contained in:
peter 2000-11-06 23:13:53 +00:00
parent 11b74e236f
commit e2fd02814d
3 changed files with 22 additions and 13 deletions

View File

@ -755,8 +755,8 @@ implementation
function gintfgetvtbllabelname(_class: pobjectdef; intfindex: integer): string; function gintfgetvtbllabelname(_class: pobjectdef; intfindex: integer): string;
begin begin
gintfgetvtbllabelname:='_$$_'+_class^.objname^+'_$$_'+ gintfgetvtbllabelname:='_$$_'+upper(_class^.objname^)+'_$$_'+
_class^.implementedinterfaces^.interfaces(intfindex)^.objname^+'_$$_VTBL'; upper(_class^.implementedinterfaces^.interfaces(intfindex)^.objname^)+'_$$_VTBL';
end; end;
procedure gintfcreatevtbl(_class: pobjectdef; intfindex: integer; rawdata,rawcode: paasmoutput); procedure gintfcreatevtbl(_class: pobjectdef; intfindex: integer; rawdata,rawcode: paasmoutput);
@ -773,7 +773,7 @@ implementation
count:=implintf^.implproccount(intfindex); count:=implintf^.implproccount(intfindex);
for i:=1 to count do for i:=1 to count do
begin begin
tmps:=implintf^.implprocs(intfindex,i)^.mangledname+'_$$_'+curintf^.objname^; tmps:=implintf^.implprocs(intfindex,i)^.mangledname+'_$$_'+upper(curintf^.objname^);
{ create wrapper code } { create wrapper code }
cgintfwrapper(rawcode,implintf^.implprocs(intfindex,i),tmps,implintf^.ioffsets(intfindex)^); cgintfwrapper(rawcode,implintf^.implprocs(intfindex,i),tmps,implintf^.ioffsets(intfindex)^);
{ create reference } { create reference }
@ -1046,7 +1046,7 @@ implementation
if c^.owner^.name=nil then if c^.owner^.name=nil then
s1:='' s1:=''
else else
s1:=c^.owner^.name^; s1:=upper(c^.owner^.name^);
if c^.objname=nil then if c^.objname=nil then
s2:='' s2:=''
else else
@ -1073,7 +1073,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.11 2000-11-04 17:31:00 florian Revision 1.12 2000-11-06 23:13:53 peter
* uppercase manglednames
Revision 1.11 2000/11/04 17:31:00 florian
* fixed some problems of previous commit * fixed some problems of previous commit
Revision 1.10 2000/11/04 14:25:19 florian Revision 1.10 2000/11/04 14:25:19 florian

View File

@ -4414,7 +4414,7 @@ Const local_symtable_index : longint = $8001;
if owner^.name=nil then if owner^.name=nil then
s1:='' s1:=''
else else
s1:=owner^.name^; s1:=upper(owner^.name^);
if objname=nil then if objname=nil then
s2:='' s2:=''
else else
@ -4430,7 +4430,7 @@ Const local_symtable_index : longint = $8001;
if owner^.name=nil then if owner^.name=nil then
s1:='' s1:=''
else else
s1:=owner^.name^; s1:=upper(owner^.name^);
if objname=nil then if objname=nil then
s2:='' s2:=''
else else
@ -5521,7 +5521,10 @@ Const local_symtable_index : longint = $8001;
end. end.
{ {
$Log$ $Log$
Revision 1.7 2000-11-06 23:11:38 florian Revision 1.8 2000-11-06 23:13:53 peter
* uppercase manglednames
Revision 1.7 2000/11/06 23:11:38 florian
* writeln debugger uninstalled ;) * writeln debugger uninstalled ;)
Revision 1.6 2000/11/06 23:05:52 florian Revision 1.6 2000/11/06 23:05:52 florian

View File

@ -884,7 +884,7 @@ implementation
if assigned(owner) then if assigned(owner) then
begin begin
if (owner^.symtabletype = objectsymtable) then if (owner^.symtabletype = objectsymtable) then
obj := owner^.name^+'__'+name; obj := upper(owner^.name^)+'__'+name;
{ this code was correct only as long as the local symboltable { this code was correct only as long as the local symboltable
of the parent had the same name as the function of the parent had the same name as the function
but this is no true anymore !! PM but this is no true anymore !! PM
@ -1393,13 +1393,13 @@ implementation
case owner^.symtabletype of case owner^.symtabletype of
staticsymtable : staticsymtable :
if (cs_create_smart in aktmoduleswitches) then if (cs_create_smart in aktmoduleswitches) then
prefix:='_'+owner^.name^+'$$$_' prefix:='_'+upper(owner^.name^)+'$$$_'
else else
prefix:='_'; prefix:='_';
unitsymtable, unitsymtable,
globalsymtable : globalsymtable :
prefix:= prefix:=
'U_'+owner^.name^+'_'; 'U_'+upper(owner^.name^)+'_';
else else
Message(sym_e_invalid_call_tvarsymmangledname); Message(sym_e_invalid_call_tvarsymmangledname);
end; end;
@ -1708,7 +1708,7 @@ implementation
(sp_static in symoptions) then (sp_static in symoptions) then
begin begin
if (cs_gdb_gsym in aktglobalswitches) then st := 'G'+st else st := 'S'+st; if (cs_gdb_gsym in aktglobalswitches) then st := 'G'+st else st := 'S'+st;
stabstring := strpnew('"'+owner^.name^+'__'+name+':'+st+ stabstring := strpnew('"'+upper(owner^.name^)+'__'+name+':'+st+
'",'+ '",'+
tostr(N_LCSYM)+',0,'+tostr(fileinfo.line)+','+mangledname); tostr(N_LCSYM)+',0,'+tostr(fileinfo.line)+','+mangledname);
end end
@ -2464,7 +2464,10 @@ implementation
end. end.
{ {
$Log$ $Log$
Revision 1.2 2000-11-01 23:04:38 peter Revision 1.3 2000-11-06 23:13:53 peter
* uppercase manglednames
Revision 1.2 2000/11/01 23:04:38 peter
* tprocdef.fullprocname added for better casesensitve writing of * tprocdef.fullprocname added for better casesensitve writing of
procedures procedures