summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/glsl/glsl_parser.yy4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glsl/glsl_parser.yy b/src/glsl/glsl_parser.yy
index 78f5bf6f4f2..e4b7ff7dbdf 100644
--- a/src/glsl/glsl_parser.yy
+++ b/src/glsl/glsl_parser.yy
@@ -248,6 +248,8 @@ static void yyerror(YYLTYPE *loc, _mesa_glsl_parse_state *st, const char *msg)
%type <node> for_init_statement
%type <for_rest_statement> for_rest_statement
%type <n> integer_constant
+
+%right THEN ELSE
%%
translation_unit:
@@ -1738,7 +1740,7 @@ selection_rest_statement:
$$.then_statement = $1;
$$.else_statement = $3;
}
- | statement
+ | statement %prec THEN
{
$$.then_statement = $1;
$$.else_statement = NULL;