summary refs log tree commit diff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--bin/order.y6
1 files changed, 3 insertions, 3 deletions
diff --git a/bin/order.y b/bin/order.y
index e6377771..25dce32b 100644
--- a/bin/order.y
+++ b/bin/order.y
@@ -80,9 +80,9 @@ expr:
 	| Dec expr { $$ = fmt("(--%s)", $2); }
 	| expr Inc { $$ = fmt("(%s++)", $1); }
 	| expr Dec { $$ = fmt("(%s--)", $1); }
-	| '-' expr { $$ = fmt("(-%s)", $2); }
-	| '*' expr { $$ = fmt("(*%s)", $2); }
-	| '&' expr { $$ = fmt("(&%s)", $2); }
+	| '-' expr %prec '!' { $$ = fmt("(-%s)", $2); }
+	| '*' expr %prec '!' { $$ = fmt("(*%s)", $2); }
+	| '&' expr %prec '!' { $$ = fmt("(&%s)", $2); }
 	| Sizeof expr { $$ = fmt("(sizeof %s)", $2); }
 	| expr '*' expr { $$ = fmt("(%s * %s)", $1, $3); }
 	| expr '/' expr { $$ = fmt("(%s / %s)", $1, $3); }