summary refs log tree commit diff
path: root/bin/order.y
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-05-19 19:08:21 -0400
committerJune McEnroe <june@causal.agency>2019-05-19 19:08:21 -0400
commite33a5a661e3d0c8a0e1f605b43be6c1390392c20 (patch)
tree7c4f302fc30d5121f378f05f99bcc92c7b5c90e8 /bin/order.y
parentAdd compound assignment operators to order (diff)
downloadsrc-e33a5a661e3d0c8a0e1f605b43be6c1390392c20.tar.gz
src-e33a5a661e3d0c8a0e1f605b43be6c1390392c20.zip
Specify precedence of unary versions of operators
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); }