mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 03:19:29 +02:00
* change some getglobaldatalabel into getlocaldatalabel to simplify code if pic is used
This commit is contained in:
parent
d3c3b79e79
commit
9355e703d7
@ -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(
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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);
|
||||||
|
@ -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 }
|
||||||
|
Loading…
Reference in New Issue
Block a user