/* stack type check mask */
#define STK_MASK_POP_USED STK_ALT_FLAG
#define STK_MASK_POP_HANDLED 0x0010
+#define STK_MASK_POP_HANDLED_TIL (STK_MASK_POP_HANDLED | 0x0004)
#define STK_MASK_TO_VOID_TARGET 0x100e
#define STK_MASK_MEM_END_OR_MARK 0x8000 /* MEM_END or MEM_END_MARK */
while (1) {\
stk--;\
STACK_BASE_CHECK(stk, (aname));\
- if (stk->type == (til_type)) break;\
- else if ((stk->type & STK_MASK_POP_HANDLED) != 0) {\
- if (stk->type == STK_MEM_START) {\
+ if ((stk->type & STK_MASK_POP_HANDLED_TIL) != 0) {\
+ if (stk->type == (til_type)) break;\
+ else if (stk->type == STK_MEM_START) {\
mem_start_stk[stk->id] = stk->u.mem.start;\
mem_end_stk[stk->id] = stk->u.mem.end;\
}\