Mercurial > octave
changeset 31778:9feb455dd514
maint: Merge stable to default.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 25 Jan 2023 19:10:22 -0500 |
parents | 17ec50a2f044 (current diff) e995783d78e7 (diff) |
children | 148ca3633be2 |
files | libinterp/parse-tree/oct-parse.yy libinterp/parse-tree/pt-binop.h |
diffstat | 2 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/oct-parse.yy Wed Jan 25 12:35:19 2023 -0800 +++ b/libinterp/parse-tree/oct-parse.yy Wed Jan 25 19:10:22 2023 -0500 @@ -3164,6 +3164,10 @@ maybe_convert_to_braindead_shortcircuit (lhs); maybe_convert_to_braindead_shortcircuit (rhs); + // Operands may have changed. + binexp->lhs (lhs); + binexp->rhs (rhs); + octave_value::binary_op op_type = binexp->op_type (); if (op_type == octave_value::op_el_and || op_type == octave_value::op_el_or)
--- a/libinterp/parse-tree/pt-binop.h Wed Jan 25 12:35:19 2023 -0800 +++ b/libinterp/parse-tree/pt-binop.h Wed Jan 25 19:10:22 2023 -0500 @@ -90,6 +90,9 @@ tree_expression * lhs () { return m_lhs; } tree_expression * rhs () { return m_rhs; } + void lhs (tree_expression *expr) { m_lhs = expr; } + void rhs (tree_expression *expr) { m_rhs = expr; } + tree_expression * dup (symbol_scope& scope) const; octave_value evaluate (tree_evaluator&, int nargout = 1);