* more fixes for the on bug with unknown id

This commit is contained in:
peter 1999-01-25 22:49:09 +00:00
parent 725887d0ba
commit eadf1f63b4

View File

@ -486,7 +486,7 @@ unit pstatmnt;
var var
p_try_block,p_finally_block,first,last, p_try_block,p_finally_block,first,last,
p_default,p_specific : ptree; p_default,p_specific,hp : ptree;
ot : pobjectdef; ot : pobjectdef;
sym : pvarsym; sym : pvarsym;
old_in_except_block : boolean; old_in_except_block : boolean;
@ -552,11 +552,12 @@ unit pstatmnt;
if token=COLON then if token=COLON then
begin begin
consume(COLON); consume(COLON);
getsym(pattern,false); getsym(pattern,true);
consume(ID); consume(ID);
if srsym^.typ=unitsym then if srsym^.typ=unitsym then
begin begin
consume(POINT); consume(POINT);
getsymonlyin(punitsym(srsym)^.unitsymtable,pattern);
consume(ID); consume(ID);
end; end;
if (srsym^.typ=typesym) and if (srsym^.typ=typesym) and
@ -599,14 +600,20 @@ unit pstatmnt;
else else
consume(ID); consume(ID);
consume(_DO); consume(_DO);
hp:=gennode(onn,nil,statement);
if ot^.deftype=errordef then
begin
disposetree(hp);
hp:=genzeronode(errorn);
end;
if p_specific=nil then if p_specific=nil then
begin begin
last:=gennode(onn,nil,statement); last:=hp;
p_specific:=last; p_specific:=last;
end end
else else
begin begin
last^.left:=gennode(onn,nil,statement); last^.left:=hp;
last:=last^.left; last:=last^.left;
end; end;
{ set the informations } { set the informations }
@ -1246,7 +1253,10 @@ unit pstatmnt;
end. end.
{ {
$Log$ $Log$
Revision 1.60 1999-01-23 23:29:38 florian Revision 1.61 1999-01-25 22:49:09 peter
* more fixes for the on bug with unknown id
Revision 1.60 1999/01/23 23:29:38 florian
* first running version of the new code generator * first running version of the new code generator
* when compiling exceptions under Linux fixed * when compiling exceptions under Linux fixed