Browse Source

* uppercase manglednames

peter 25 years ago
parent
commit
e2fd02814d
3 changed files with 22 additions and 13 deletions
  1. 8 5
      compiler/hcgdata.pas
  2. 6 3
      compiler/symdef.pas
  3. 8 5
      compiler/symsym.pas

+ 8 - 5
compiler/hcgdata.pas

@@ -755,8 +755,8 @@ implementation
 
 
     function  gintfgetvtbllabelname(_class: pobjectdef; intfindex: integer): string;
     function  gintfgetvtbllabelname(_class: pobjectdef; intfindex: integer): string;
       begin
       begin
-        gintfgetvtbllabelname:='_$$_'+_class^.objname^+'_$$_'+
-          _class^.implementedinterfaces^.interfaces(intfindex)^.objname^+'_$$_VTBL';
+        gintfgetvtbllabelname:='_$$_'+upper(_class^.objname^)+'_$$_'+
+          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

+ 6 - 3
compiler/symdef.pas

@@ -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

+ 8 - 5
compiler/symsym.pas

@@ -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