aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/interpreterbase.py
diff options
context:
space:
mode:
authorElliot <35050275+Apache-HB@users.noreply.github.com>2020-08-18 10:07:59 -0400
committerGitHub <noreply@github.com>2020-08-18 07:07:59 -0700
commitadfee4460a6a01de975b25e6faf9fd9261238ebd (patch)
treefd24c125763def814ecd422f6ce860fa00c95159 /mesonbuild/interpreterbase.py
parent7092efabb5a0488b694418c823463048ddbb310c (diff)
downloadmeson-adfee4460a6a01de975b25e6faf9fd9261238ebd.zip
meson-adfee4460a6a01de975b25e6faf9fd9261238ebd.tar.gz
meson-adfee4460a6a01de975b25e6faf9fd9261238ebd.tar.bz2
prevent disabler() object from overwriting arrays (#7484)
* prevent disabler object from overwriting arrays fixes #7107 * fix failing test forgot that func() != func(void) in c
Diffstat (limited to 'mesonbuild/interpreterbase.py')
-rw-r--r--mesonbuild/interpreterbase.py6
1 files changed, 2 insertions, 4 deletions
diff --git a/mesonbuild/interpreterbase.py b/mesonbuild/interpreterbase.py
index 822167c..6c4f273 100644
--- a/mesonbuild/interpreterbase.py
+++ b/mesonbuild/interpreterbase.py
@@ -810,9 +810,7 @@ The result of this is undefined and will become a hard error in a future Meson r
assert(isinstance(node, mparser.PlusAssignmentNode))
varname = node.var_name
addition = self.evaluate_statement(node.value)
- if is_disabler(addition):
- self.set_variable(varname, addition)
- return
+
# Remember that all variables are immutable. We must always create a
# full new variable and then assign it.
old_variable = self.get_variable(varname)
@@ -836,7 +834,7 @@ The result of this is undefined and will become a hard error in a future Meson r
new_value = {**old_variable, **addition}
# Add other data types here.
else:
- raise InvalidArguments('The += operator currently only works with arrays, dicts, strings or ints ')
+ raise InvalidArguments('The += operator currently only works with arrays, dicts, strings or ints')
self.set_variable(varname, new_value)
def evaluate_indexing(self, node: mparser.IndexNode) -> TYPE_var: