mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-17 05:39:19 +02:00
* fix setting minval for enum with specified values
This commit is contained in:
parent
537dcdde20
commit
fd3f6a9017
@ -2281,17 +2281,26 @@ implementation
|
|||||||
typ:=enumsym;
|
typ:=enumsym;
|
||||||
definition:=def;
|
definition:=def;
|
||||||
value:=v;
|
value:=v;
|
||||||
{ check for jumps }
|
{ First entry? Then we need to set the minval }
|
||||||
if v>def.max+1 then
|
if def.firstenum=nil then
|
||||||
def.has_jumps:=true;
|
begin
|
||||||
{ update low and high }
|
if v>0 then
|
||||||
if def.min>v then
|
def.has_jumps:=true;
|
||||||
def.setmin(v);
|
def.setmin(v);
|
||||||
if def.max<v then
|
def.setmax(v);
|
||||||
def.setmax(v);
|
end
|
||||||
|
else
|
||||||
|
begin
|
||||||
|
{ check for jumps }
|
||||||
|
if v>def.max+1 then
|
||||||
|
def.has_jumps:=true;
|
||||||
|
{ update low and high }
|
||||||
|
if def.min>v then
|
||||||
|
def.setmin(v);
|
||||||
|
if def.max<v then
|
||||||
|
def.setmax(v);
|
||||||
|
end;
|
||||||
order;
|
order;
|
||||||
{ nextenum:=Tenumsym(def.firstenum);
|
|
||||||
def.firstenum:=self;}
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
@ -2560,7 +2569,10 @@ implementation
|
|||||||
end.
|
end.
|
||||||
{
|
{
|
||||||
$Log$
|
$Log$
|
||||||
Revision 1.197 2005-01-03 22:27:56 peter
|
Revision 1.198 2005-01-04 16:38:54 peter
|
||||||
|
* fix setting minval for enum with specified values
|
||||||
|
|
||||||
|
Revision 1.197 2005/01/03 22:27:56 peter
|
||||||
* insert stack_check helper call before doing register allocation
|
* insert stack_check helper call before doing register allocation
|
||||||
so the used registers can't be reused when parameters are loaded
|
so the used registers can't be reused when parameters are loaded
|
||||||
into register variables
|
into register variables
|
||||||
|
Loading…
Reference in New Issue
Block a user