Browse Source

* change some getglobaldatalabel into getlocaldatalabel to simplify code if pic is used

florian 6 months ago
parent
commit
9355e703d7

+ 5 - 5
compiler/ncgcon.pas

@@ -134,7 +134,7 @@ implementation
              { :-(, we must generate a new entry }
              { :-(, we must generate a new entry }
              if not(assigned(lab_real)) then
              if not(assigned(lab_real)) then
                begin
                begin
-                  current_asmdata.getglobaldatalabel(lastlabel);
+                  current_asmdata.getlocaldatalabel(lastlabel);
                   entry^.Data:=lastlabel;
                   entry^.Data:=lastlabel;
                   lab_real:=lastlabel;
                   lab_real:=lastlabel;
                   maybe_new_object_file(current_asmdata.asmlists[al_typedconsts]);
                   maybe_new_object_file(current_asmdata.asmlists[al_typedconsts]);
@@ -320,7 +320,7 @@ implementation
                         end;
                         end;
                       cst_shortstring:
                       cst_shortstring:
                         begin
                         begin
-                          current_asmdata.getglobaldatalabel(lastlabel.lab);
+                          current_asmdata.getlocaldatalabel(lastlabel.lab);
 
 
                           { truncate strings larger than 255 chars }
                           { truncate strings larger than 255 chars }
                           if len>255 then
                           if len>255 then
@@ -342,7 +342,7 @@ implementation
                         end;
                         end;
                       cst_conststring:
                       cst_conststring:
                         begin
                         begin
-                          current_asmdata.getglobaldatalabel(lastlabel.lab);
+                          current_asmdata.getlocaldatalabel(lastlabel.lab);
 
 
                           { include terminating zero }
                           { include terminating zero }
                           getmem(pc,len+1);
                           getmem(pc,len+1);
@@ -406,7 +406,7 @@ implementation
         i: longint;
         i: longint;
         tcb: ttai_typedconstbuilder;
         tcb: ttai_typedconstbuilder;
       begin
       begin
-        current_asmdata.getglobaldatalabel(lab);
+        current_asmdata.getlocaldatalabel(lab);
         result:=lab;
         result:=lab;
         lab_set:=lab;
         lab_set:=lab;
         tcb:=ctai_typedconstbuilder.create([tcalo_is_lab,tcalo_make_dead_strippable,tcalo_apply_constalign]);
         tcb:=ctai_typedconstbuilder.create([tcalo_is_lab,tcalo_make_dead_strippable,tcalo_apply_constalign]);
@@ -510,7 +510,7 @@ implementation
              { :-(, we must generate a new entry }
              { :-(, we must generate a new entry }
              if not assigned(entry^.Data) then
              if not assigned(entry^.Data) then
                begin
                begin
-                 current_asmdata.getglobaldatalabel(lastlabel);
+                 current_asmdata.getlocaldatalabel(lastlabel);
                  datatcb:=ctai_typedconstbuilder.create([tcalo_is_lab,tcalo_make_dead_strippable,tcalo_apply_constalign]);
                  datatcb:=ctai_typedconstbuilder.create([tcalo_is_lab,tcalo_make_dead_strippable,tcalo_apply_constalign]);
                  datatcb.emit_guid_const(value);
                  datatcb.emit_guid_const(value);
                  current_asmdata.asmlists[al_typedconsts].concatList(
                  current_asmdata.asmlists[al_typedconsts].concatList(

+ 1 - 1
compiler/x86/nx86cnv.pas

@@ -412,7 +412,7 @@ implementation
                      if it is 1 then we add 2**64 as float.
                      if it is 1 then we add 2**64 as float.
                      Since 2**64 can be represented exactly, use a single-precision
                      Since 2**64 can be represented exactly, use a single-precision
                      constant to save space. }
                      constant to save space. }
-                   current_asmdata.getglobaldatalabel(l1);
+                   current_asmdata.getlocaldatalabel(l1);
                    current_asmdata.getjumplabel(l2);
                    current_asmdata.getjumplabel(l2);
                    if not(signtested) then
                    if not(signtested) then
                      begin
                      begin

+ 1 - 1
compiler/x86/nx86mat.pas

@@ -187,7 +187,7 @@ interface
               begin
               begin
                 location_reset(location,LOC_MMREGISTER,def_cgsize(resultdef));
                 location_reset(location,LOC_MMREGISTER,def_cgsize(resultdef));
 
 
-                current_asmdata.getglobaldatalabel(l1);
+                current_asmdata.getlocaldatalabel(l1);
                 new_section(current_asmdata.asmlists[al_typedconsts],sec_rodata_norel,l1.name,const_align(16));
                 new_section(current_asmdata.asmlists[al_typedconsts],sec_rodata_norel,l1.name,const_align(16));
                 current_asmdata.asmlists[al_typedconsts].concat(Tai_label.Create(l1));
                 current_asmdata.asmlists[al_typedconsts].concat(Tai_label.Create(l1));
                 case def_cgsize(resultdef) of
                 case def_cgsize(resultdef) of

+ 1 - 1
compiler/x86/nx86set.pas

@@ -154,7 +154,7 @@ implementation
               end;
               end;
           end;
           end;
 
 
-        current_asmdata.getglobaldatalabel(table);
+        current_asmdata.getlocaldatalabel(table);
         { make it a 32bit register }
         { make it a 32bit register }
         indexreg:=cg.makeregsize(current_asmdata.CurrAsmList,hregister,OS_INT);
         indexreg:=cg.makeregsize(current_asmdata.CurrAsmList,hregister,OS_INT);
         cg.a_load_reg_reg(current_asmdata.CurrAsmList,opcgsize,OS_INT,hregister,indexreg);
         cg.a_load_reg_reg(current_asmdata.CurrAsmList,opcgsize,OS_INT,hregister,indexreg);

+ 1 - 1
compiler/x86_64/nx64cnv.pas

@@ -110,7 +110,7 @@ implementation
                      we load bits 0..62 and then check bit 63:
                      we load bits 0..62 and then check bit 63:
                      if it is 1 then we add $80000000 000000000
                      if it is 1 then we add $80000000 000000000
                      as double                                  }
                      as double                                  }
-                   current_asmdata.getglobaldatalabel(l1);
+                   current_asmdata.getlocaldatalabel(l1);
                    current_asmdata.getjumplabel(l2);
                    current_asmdata.getjumplabel(l2);
 
 
                    { Get sign bit }
                    { Get sign bit }