While-loops also start a new scope.

This commit is contained in:
Ian Romanick
2010-04-16 16:42:43 -07:00
parent 44b694e1f6
commit 484606610e

View File

@@ -2284,9 +2284,9 @@ ir_rvalue *
ast_iteration_statement::hir(exec_list *instructions,
struct _mesa_glsl_parse_state *state)
{
/* For loops start a new scope, but while and do-while loops do not.
/* For-loops and while-loops start a new scope, but do-while loops do not.
*/
if (mode == ast_for)
if (mode != ast_do_while)
state->symbols->push_scope();
if (init_statement != NULL)
@@ -2317,7 +2317,7 @@ ast_iteration_statement::hir(exec_list *instructions,
if (mode == ast_do_while)
condition_to_hir(stmt, state);
if (mode == ast_for)
if (mode != ast_do_while)
state->symbols->pop_scope();
/* Restore previous nesting before returning.