Browse Source

Fix compilation.

ncgrtti.pas, TRTTIWriter:
  * get_rtti_label_ord2str & get_rtti_label_str2ord: adjust due to the change of ordering for the indirect suffix and o2s/s2o

git-svn-id: branches/svenbarth/packages@32493 -
svenbarth 9 years ago
parent
commit
ee4d51bad6
1 changed files with 12 additions and 2 deletions
  1. 12 2
      compiler/ncgrtti.pas

+ 12 - 2
compiler/ncgrtti.pas

@@ -1387,16 +1387,26 @@ implementation
       end;
       end;
 
 
     function TRTTIWriter.get_rtti_label_ord2str(def:tdef;rt:trttitype;indirect:boolean):tasmsymbol;
     function TRTTIWriter.get_rtti_label_ord2str(def:tdef;rt:trttitype;indirect:boolean):tasmsymbol;
+      var
+        name : tsymstr;
       begin
       begin
-        result:=current_asmdata.RefAsmSymbol(def.rtti_mangledname(rt,indirect)+'_o2s',AT_DATA);
+        name:=def.rtti_mangledname(rt,false)+'_o2s';
+        if indirect then
+          name:=name+indirect_suffix;
+        result:=current_asmdata.RefAsmSymbol(name,AT_DATA);
         if (cs_create_pic in current_settings.moduleswitches) and
         if (cs_create_pic in current_settings.moduleswitches) and
            assigned(current_procinfo) then
            assigned(current_procinfo) then
           include(current_procinfo.flags,pi_needs_got);
           include(current_procinfo.flags,pi_needs_got);
       end;
       end;
 
 
     function TRTTIWriter.get_rtti_label_str2ord(def:tdef;rt:trttitype;indirect:boolean):tasmsymbol;
     function TRTTIWriter.get_rtti_label_str2ord(def:tdef;rt:trttitype;indirect:boolean):tasmsymbol;
+      var
+        name : tsymstr;
       begin
       begin
-        result:=current_asmdata.RefAsmSymbol(def.rtti_mangledname(rt,indirect)+'_s2o',AT_DATA);
+        name:=def.rtti_mangledname(rt,false)+'_s2o';
+        if indirect then
+          name:=name+indirect_suffix;
+        result:=current_asmdata.RefAsmSymbol(name,AT_DATA);
         if (cs_create_pic in current_settings.moduleswitches) and
         if (cs_create_pic in current_settings.moduleswitches) and
            assigned(current_procinfo) then
            assigned(current_procinfo) then
           include(current_procinfo.flags,pi_needs_got);
           include(current_procinfo.flags,pi_needs_got);