fixed a very serious codegen bug where stack usage was not corrected when breaking or continuing in while loops. glad I caught this last minute!
--HG-- extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%40646
This commit is contained in:
parent
c6183b14b0
commit
c6166f4b44
@ -6417,8 +6417,8 @@ static void addwhile(int *ptr)
|
||||
{
|
||||
int k;
|
||||
|
||||
ptr[wqBRK]=(int)declared; /* stack pointer (for "break") */
|
||||
ptr[wqCONT]=(int)declared; /* for "continue", possibly adjusted later */
|
||||
ptr[wqBRK]=stackusage->list_id; /* stack pointer (for "break") */
|
||||
ptr[wqCONT]=stackusage->list_id; /* for "continue", possibly adjusted later */
|
||||
ptr[wqLOOP]=getlabel();
|
||||
ptr[wqEXIT]=getlabel();
|
||||
if (wqptr>=(wq+wqTABSZ-wqSIZE))
|
||||
|
Loading…
Reference in New Issue
Block a user