mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-22 04:09:30 +02:00
* Some more R_NO changes
* Preventive code to loadref added
This commit is contained in:
parent
81d4cc15c7
commit
cdb8a15f4a
@ -1535,6 +1535,8 @@ implementation
|
||||
|
||||
procedure taicpu_abstract.loadref(opidx:longint;const r:treference);
|
||||
begin
|
||||
if (r.base.enum=R_NO) or (r.index.enum=R_NO) then
|
||||
internalerror(200308192);
|
||||
if opidx>=ops then
|
||||
ops:=opidx+1;
|
||||
with oper[opidx] do
|
||||
@ -1899,7 +1901,11 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.33 2003-08-17 20:47:47 daniel
|
||||
Revision 1.34 2003-08-20 20:29:06 daniel
|
||||
* Some more R_NO changes
|
||||
* Preventive code to loadref added
|
||||
|
||||
Revision 1.33 2003/08/17 20:47:47 daniel
|
||||
* Notranslation changed into -sr functionality
|
||||
|
||||
Revision 1.32 2003/08/17 16:59:20 jonas
|
||||
|
@ -332,7 +332,8 @@ implementation
|
||||
{ how much have we already substracted from the x in the }
|
||||
{ "x in [y..z]" expression }
|
||||
adjustment := 0;
|
||||
hr.enum := R_NO;
|
||||
hr.enum:=R_INTREGISTER;
|
||||
hr.number:=NR_NO;
|
||||
|
||||
for i:=1 to numparts do
|
||||
if setparts[i].range then
|
||||
@ -1080,7 +1081,11 @@ begin
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.46 2003-07-23 11:02:53 jonas
|
||||
Revision 1.47 2003-08-20 20:29:06 daniel
|
||||
* Some more R_NO changes
|
||||
* Preventive code to loadref added
|
||||
|
||||
Revision 1.46 2003/07/23 11:02:53 jonas
|
||||
* final (?) fix to in-code
|
||||
|
||||
Revision 1.45 2003/07/20 18:03:27 jonas
|
||||
|
@ -426,7 +426,8 @@ implementation
|
||||
{ if the previous was 64bit release the high register }
|
||||
begin
|
||||
rg.ungetregisterint(list,l.registerhigh);
|
||||
l.registerhigh.enum:=R_NO;
|
||||
l.registerhigh.enum:=R_INTREGISTER;
|
||||
l.registerhigh.number:=NR_NO;
|
||||
end;
|
||||
if l.loc=LOC_REGISTER then
|
||||
rg.ungetregisterint(list,l.register);
|
||||
@ -443,7 +444,8 @@ implementation
|
||||
if l.size in [OS_64,OS_S64] then
|
||||
begin
|
||||
rg.ungetregisterint(list,l.registerhigh);
|
||||
l.registerhigh.enum:=R_NO;
|
||||
l.registerhigh.enum:=R_INTREGISTER;
|
||||
l.registerhigh.number:=NR_NO;
|
||||
end;
|
||||
hregister:=l.register;
|
||||
end
|
||||
@ -1054,7 +1056,7 @@ implementation
|
||||
(tvarsym(p).varspez=vs_value) and
|
||||
(paramanager.push_addr_param(tvarsym(p).vartype.def,current_procinfo.procdef.proccalloption)) then
|
||||
begin
|
||||
loadref := tvarsym(p).reg.enum = R_NO;
|
||||
loadref := (tvarsym(p).reg.enum=R_NO) or ((Tvarsym(p).reg.enum=R_INTREGISTER) and (Tvarsym(p).reg.number=NR_NO));
|
||||
if (loadref) then
|
||||
reference_reset_base(href1,current_procinfo.framepointer,tvarsym(p).adjusted_address)
|
||||
else
|
||||
@ -2077,7 +2079,11 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.136 2003-08-20 17:48:49 peter
|
||||
Revision 1.137 2003-08-20 20:29:06 daniel
|
||||
* Some more R_NO changes
|
||||
* Preventive code to loadref added
|
||||
|
||||
Revision 1.136 2003/08/20 17:48:49 peter
|
||||
* fixed stackalloc to not allocate localst.datasize twice
|
||||
* order of stackalloc code fixed for implicit init/final
|
||||
|
||||
|
@ -1666,7 +1666,8 @@ implementation
|
||||
begin
|
||||
inherited loadsym(ppufile);
|
||||
typ:=varsym;
|
||||
reg.enum:=R_NO;
|
||||
reg.enum:=R_INTREGISTER;
|
||||
reg.number:=NR_NO;
|
||||
refs := 0;
|
||||
varstate:=vs_used;
|
||||
varspez:=tvarspez(ppufile.getbyte);
|
||||
@ -2668,7 +2669,11 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.112 2003-07-05 22:41:59 peter
|
||||
Revision 1.113 2003-08-20 20:29:06 daniel
|
||||
* Some more R_NO changes
|
||||
* Preventive code to loadref added
|
||||
|
||||
Revision 1.112 2003/07/05 22:41:59 peter
|
||||
* check if owner.defowner is valid when checking private/protected
|
||||
|
||||
Revision 1.111 2003/07/04 22:41:41 pierre
|
||||
|
Loading…
Reference in New Issue
Block a user