Use switch based on mode in ast_jump_statement::hir

This commit is contained in:
Ian Romanick
2010-04-05 16:53:19 -07:00
parent d6313d7a01
commit c0e76d8352

View File

@@ -1967,7 +1967,8 @@ ast_jump_statement::hir(exec_list *instructions,
struct _mesa_glsl_parse_state *state) struct _mesa_glsl_parse_state *state)
{ {
if (mode == ast_return) { switch (mode) {
case ast_return: {
ir_return *inst; ir_return *inst;
assert(state->current_function); assert(state->current_function);
@@ -2005,9 +2006,10 @@ ast_jump_statement::hir(exec_list *instructions,
} }
instructions->push_tail(inst); instructions->push_tail(inst);
break;
} }
if (mode == ast_discard) { case ast_discard:
/* FINISHME: discard support */ /* FINISHME: discard support */
if (state->target != fragment_shader) { if (state->target != fragment_shader) {
YYLTYPE loc = this->get_location(); YYLTYPE loc = this->get_location();
@@ -2015,6 +2017,11 @@ ast_jump_statement::hir(exec_list *instructions,
_mesa_glsl_error(& loc, state, _mesa_glsl_error(& loc, state,
"`discard' may only appear in a fragment shader"); "`discard' may only appear in a fragment shader");
} }
break;
case ast_break:
case ast_continue:
break;
} }
/* Jump instructions do not have r-values. /* Jump instructions do not have r-values.