From: Ian Romanick Date: Fri, 16 Apr 2010 23:42:43 +0000 (-0700) Subject: While-loops also start a new scope. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=484606610e36ec7598f7733e9787d888b6a63d64;p=mesa.git While-loops also start a new scope. --- diff --git a/ast_to_hir.cpp b/ast_to_hir.cpp index e89b3ff228f..83dac584b2b 100644 --- a/ast_to_hir.cpp +++ b/ast_to_hir.cpp @@ -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.