mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-10 03:46:00 +02:00
* Another 200301081 fixed
This commit is contained in:
parent
c3321868d5
commit
a86b31c4f0
@ -1503,23 +1503,27 @@ uses
|
||||
if opidx>=ops then
|
||||
ops:=opidx+1;
|
||||
with oper[opidx] do
|
||||
begin
|
||||
if typ<>top_ref then
|
||||
new(ref);
|
||||
ref^:=r;
|
||||
begin
|
||||
if typ<>top_ref then
|
||||
new(ref);
|
||||
ref^:=r;
|
||||
{$ifdef i386}
|
||||
if ref^.segment.enum>lastreg then
|
||||
internalerror(200301081);
|
||||
{ We allow this exception for i386, since overloading this would be
|
||||
too much of a a speed penalty}
|
||||
if not(ref^.segment.enum in [R_DS,R_NO]) then
|
||||
segprefix:=ref^.segment;
|
||||
{ We allow this exception for i386, since overloading this would be
|
||||
too much of a a speed penalty}
|
||||
if ref^.segment.enum=R_INTREGISTER then
|
||||
begin
|
||||
if (ref^.segment.number <> NR_NO) and (ref^.segment.number <> NR_DS) then
|
||||
segprefix:=ref^.segment;
|
||||
end
|
||||
else
|
||||
if not(ref^.segment.enum in [R_DS,R_NO]) then
|
||||
segprefix:=ref^.segment;
|
||||
{$endif}
|
||||
typ:=top_ref;
|
||||
{ mark symbol as used }
|
||||
if assigned(ref^.symbol) then
|
||||
ref^.symbol.increfs;
|
||||
end;
|
||||
typ:=top_ref;
|
||||
{ mark symbol as used }
|
||||
if assigned(ref^.symbol) then
|
||||
ref^.symbol.increfs;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
@ -1750,7 +1754,10 @@ uses
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.18 2003-01-09 20:40:59 daniel
|
||||
Revision 1.19 2003-01-21 08:48:08 daniel
|
||||
* Another 200301081 fixed
|
||||
|
||||
Revision 1.18 2003/01/09 20:40:59 daniel
|
||||
* Converted some code in cgx86.pas to new register numbering
|
||||
|
||||
Revision 1.17 2003/01/09 15:49:56 daniel
|
||||
|
Loading…
Reference in New Issue
Block a user