Mercurial > octave
comparison test/bug-55758/bug-55758.tst @ 26924:ab9520ef3895
ensure classdef dtor doesn't wipe out expression value (bug #53844, bug #55758)
* pt-eval.cc (tree_evaluator::visit_index_expression): Delete any
temporary values from intermediate expression evaluations prior to
pushing final result value(s).
* test/bug-55758/bug-55758.tst, test/bug-55758/class_bug_55758.m,
test/bug-55758/module.mk: New files.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 15 Mar 2019 17:26:12 +0000 |
parents | |
children | 2838bbd84b87 |
comparison
equal
deleted
inserted
replaced
26923:c81b471cdb28 | 26924:ab9520ef3895 |
---|---|
1 %!test | |
2 %! global class_bug_55758_dtor_called | |
3 %! class_bug_55758_dtor_called = false; | |
4 %! | |
5 %! assert (class_bug_55758 (5).value, 5); | |
6 %! assert (class_bug_55758_dtor_called); | |
7 %! | |
8 %! assert (class_bug_55758 (5)(1), 5); | |
9 %! assert (class_bug_55758_dtor_called); | |
10 %! | |
11 %! assert (size (class_bug_55758 (5)), [1, 1]); | |
12 %! assert (class_bug_55758_dtor_called); | |
13 %! | |
14 %! assert (numel (class_bug_55758 (5)), 1); | |
15 %! assert (class_bug_55758_dtor_called); | |
16 %! clear -global class_bug_55758_dtor_called; # cleanup after test |