Mercurial > octave
changeset 28547:66397e171801 stable
error on undefined elements in matrix lists (bug #58695)
* pt-tm-const.cc (tm_row_const::init): Throw error for empty elements
in list. From Fernando Alvarruiz.
Update tests.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Thu, 09 Jul 2020 09:22:58 -0400 |
parents | ac7ab2a9018e |
children | 605b9e811bf3 f48162881819 |
files | libinterp/parse-tree/pt-tm-const.cc |
diffstat | 1 files changed, 5 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-tm-const.cc Thu Jul 09 09:20:10 2020 -0400 +++ b/libinterp/parse-tree/pt-tm-const.cc Thu Jul 09 09:22:58 2020 -0400 @@ -171,7 +171,7 @@ octave_value tmp = elt->evaluate (tw); if (tmp.is_undefined ()) - continue; + error ("undefined element in matrix list"); if (tmp.is_cs_list ()) { @@ -935,18 +935,11 @@ %!shared es %! es = struct ("a", {}); %! -%!assert <58695> ([1, es.a, 3], [1, 3]) -%!assert <58695> ([1, my_undef(), 3], [1, 3]) -%! -%!assert <58695> ([es.a, es.a, 3], 3) -%!assert <58695> ([my_undef(), my_undef(), 3], 3) -%! %!assert <58695> ([1; es.a; 3], [1; 3]) -%!assert <58695> ([1; my_undef(), 3], [1; 3]) +%!test <58695> +%! fail ("undefined element in matrix list", "[1; my_undef(), 3]"); %! %!assert <58695> ([es.a; es.a; 3], 3) -%!assert <58695> ([my_undef(); my_undef(); 3], 3) -%! -%!assert <58695> ([es.a; es.a; 3], 3) -%!assert <58695> ([my_undef(); my_undef(); 3], 3) +%!test <58695> +%! fail ("undefined element in matrix list", "[my_undef(); my_undef(); 3]") */