Add the precedence of the conditional operator.
diff --git a/tools/widl/parser.y b/tools/widl/parser.y
index 6448d8f..55c7862 100644
--- a/tools/widl/parser.y
+++ b/tools/widl/parser.y
@@ -205,6 +205,7 @@
%type <str> libraryhdr
%left ','
+%right COND
%left '|'
%left '&'
%left '-' '+'
@@ -460,7 +461,7 @@
expr: aNUM { $$ = make_exprl(EXPR_NUM, $1); }
| aHEXNUM { $$ = make_exprl(EXPR_HEXNUM, $1); }
| aIDENTIFIER { $$ = make_exprs(EXPR_IDENTIFIER, $1); }
- | expr '?' expr ':' expr { $$ = make_expr3(EXPR_COND, $1, $3, $5); }
+ | expr '?' expr ':' expr %prec COND { $$ = make_expr3(EXPR_COND, $1, $3, $5); }
| expr '|' expr { $$ = make_expr2(EXPR_OR , $1, $3); }
| expr '&' expr { $$ = make_expr2(EXPR_AND, $1, $3); }
| expr '+' expr { $$ = make_expr2(EXPR_ADD, $1, $3); }