Mercurial > octave
view libinterp/parse-tree/pt-exp.cc @ 32095:28ef2991fb5a
Emit warning about infinite loop if for loop range starts with infinite value.
* pt-eval.cc (execute_range_loop): Check base of range, in addition to limit of
range, for infinite value and emit warning if found.
* for.tst: Add tests for new behavior. Recode tests so that they don't emit
warnings if file 'for.tst' is tested outside of test suite.
author | Rik <rik@octave.org> |
---|---|
date | Wed, 17 May 2023 20:29:17 -0700 |
parents | 21f9b34eb893 |
children | 2e484f9f1f18 |
line wrap: on
line source
//////////////////////////////////////////////////////////////////////// // // Copyright (C) 1996-2023 The Octave Project Developers // // See the file COPYRIGHT.md in the top-level directory of this // distribution or <https://octave.org/copyright/>. // // This file is part of Octave. // // Octave is free software: you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Octave is distributed in the hope that it will be useful, but // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Octave; see the file COPYING. If not, see // <https://www.gnu.org/licenses/>. // //////////////////////////////////////////////////////////////////////// #if defined (HAVE_CONFIG_H) # include "config.h" #endif #include <string> #include "error.h" #include "pager.h" #include "oct-lvalue.h" #include "ov.h" #include "pt-exp.h" OCTAVE_BEGIN_NAMESPACE(octave) // Expressions. octave_lvalue tree_expression::lvalue (tree_evaluator&) { error ("invalid lvalue function called in expression"); } std::string tree_expression::original_text () const { return ""; } OCTAVE_END_NAMESPACE(octave)