aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorAndrei Alexeyev <akari@taisei-project.org>2020-04-02 21:41:22 +0300
committerJussi Pakkanen <jpakkane@gmail.com>2020-04-04 13:31:07 +0300
commit2cfbb36a848d9a730a3318cec34789902ce27658 (patch)
tree603e3f15f21f25d527bdf90844ac862207a1554e /test cases
parentd84daf3e95742910a0e3165c479c0726dcbb40ef (diff)
downloadmeson-2cfbb36a848d9a730a3318cec34789902ce27658.zip
meson-2cfbb36a848d9a730a3318cec34789902ce27658.tar.gz
meson-2cfbb36a848d9a730a3318cec34789902ce27658.tar.bz2
mparser: fix precedence of arithmetic operators
The arithmetic operators are now split into two groups: * The add/sub group: +, - * The mul/div group: *, /, % All operators within the same group are left-associative and have equal precedence. The mul/div group has a higher precedence than the add/sub group, as one would expect. Previously every operator had a different precedence and was right-associative, which resulted in surprising behavior. This is a potentially breaking change for projects that relied on the old incorrect behavior. Fixes #6870
Diffstat (limited to 'test cases')
-rw-r--r--test cases/common/230 arithmetic operators/meson.build8
1 files changed, 8 insertions, 0 deletions
diff --git a/test cases/common/230 arithmetic operators/meson.build b/test cases/common/230 arithmetic operators/meson.build
new file mode 100644
index 0000000..a904bd0
--- /dev/null
+++ b/test cases/common/230 arithmetic operators/meson.build
@@ -0,0 +1,8 @@
+project('arithmetic operators')
+assert(5 - 3 - 1 == 1)
+assert(5 - (3 - 1) == 3)
+assert(5 - 1 * 3 - 3 == -1)
+assert(420 - 300 - 51 == 69)
+assert(1000 / 2 / 2 / 2 == 125)
+assert(4 * 9 / 3 % 8 - 3 - 10 / 2 == -4)
+assert(94 - 30 + (2 - (40 - 6 + 7) - 9) - 10 == 6)