v0_8: clear expression look aside for transient thread.

This is a back port of code from the development branch. The problem is
that for named blocks (which create a transient thread) the look aside
was not being cleared for the new thread. This resulted in an invalid
variable reference optimization.
This commit is contained in:
Cary R 2007-10-30 14:51:13 -07:00 committed by Stephen Williams
parent 85652e24e0
commit 1775c78aa9
1 changed files with 4 additions and 0 deletions

View File

@ -759,6 +759,10 @@ static int show_stmt_block_named(ivl_statement_t net, ivl_scope_t scope)
fprintf(vvp_out, " %%jmp t_%u;\n", out_id);
fprintf(vvp_out, "t_%u ;\n", sub_id);
/* The statement within the fork is in a new thread, so no
expression lookaside is valid. */
clear_expression_lookaside();
rc = show_stmt_block(net, subscope);
fprintf(vvp_out, " %%end;\n");