* fix setting minval for enum with specified values

This commit is contained in:
peter 2005-01-04 16:38:54 +00:00
parent 537dcdde20
commit fd3f6a9017

View File

@ -2281,6 +2281,16 @@ implementation
typ:=enumsym; typ:=enumsym;
definition:=def; definition:=def;
value:=v; value:=v;
{ First entry? Then we need to set the minval }
if def.firstenum=nil then
begin
if v>0 then
def.has_jumps:=true;
def.setmin(v);
def.setmax(v);
end
else
begin
{ check for jumps } { check for jumps }
if v>def.max+1 then if v>def.max+1 then
def.has_jumps:=true; def.has_jumps:=true;
@ -2289,9 +2299,8 @@ implementation
def.setmin(v); def.setmin(v);
if def.max<v then if def.max<v then
def.setmax(v); 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