diff options
author | Nicolas Schneider <nioncode+git@gmail.com> | 2017-03-21 22:01:21 +0100 |
---|---|---|
committer | Jussi Pakkanen <jpakkane@gmail.com> | 2017-03-23 15:40:00 -0400 |
commit | 1efab9b5a9e9cd361658226ede35ff455f954a44 (patch) | |
tree | b42ee876a3424a94feba0aed99c34051e4ae00de | |
parent | ba2b7f5dfc82c02d8881b66175bb4c0a3aaa4e92 (diff) | |
download | meson-1efab9b5a9e9cd361658226ede35ff455f954a44.zip meson-1efab9b5a9e9cd361658226ede35ff455f954a44.tar.gz meson-1efab9b5a9e9cd361658226ede35ff455f954a44.tar.bz2 |
fix logic operations
Closes #1479.
-rw-r--r-- | mesonbuild/mparser.py | 9 | ||||
-rw-r--r-- | test cases/common/40 logic ops/meson.build | 6 |
2 files changed, 11 insertions, 4 deletions
diff --git a/mesonbuild/mparser.py b/mesonbuild/mparser.py index 6e1e398..fe5ccc5 100644 --- a/mesonbuild/mparser.py +++ b/mesonbuild/mparser.py @@ -193,9 +193,10 @@ class OrNode: self.right = right class AndNode: - def __init__(self, lineno, colno, left, right): - self.lineno = lineno - self.colno = colno + def __init__(self, left, right): + self.subdir = left.subdir + self.lineno = left.lineno + self.colno = left.colno self.left = left self.right = right @@ -436,7 +437,7 @@ class Parser: def e3(self): left = self.e4() while self.accept('and'): - left = AndNode(left.lineno, left.colno, left, self.e4()) + left = AndNode(left, self.e4()) return left def e4(self): diff --git a/test cases/common/40 logic ops/meson.build b/test cases/common/40 logic ops/meson.build index e975c7e..897054e 100644 --- a/test cases/common/40 logic ops/meson.build +++ b/test cases/common/40 logic ops/meson.build @@ -87,3 +87,9 @@ if t and t and t and t and t and t and t and t and f else message('Ok.') endif + +if t and t or t + message('Ok.') +else + error('Combination of and-or failed.') +endif |