view libinterp/corefcn/errwarn.h @ 30564:796f54d4ddbf stable

update Octave Project Developers copyright for the new year In files that have the "Octave Project Developers" copyright notice, update for 2021. In all .txi and .texi files except gpl.txi and gpl.texi in the doc/liboctave and doc/interpreter directories, change the copyright to "Octave Project Developers", the same as used for other source files. Update copyright notices for 2022 (not done since 2019). For gpl.txi and gpl.texi, change the copyright notice to be "Free Software Foundation, Inc." and leave the date at 2007 only because this file only contains the text of the GPL, not anything created by the Octave Project Developers. Add Paul Thomas to contributors.in.
author John W. Eaton <jwe@octave.org>
date Tue, 28 Dec 2021 18:22:40 -0500
parents 4c88a452519c
children 83f9f8bda883
line wrap: on
line source

////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2016-2022 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 (octave_errwarn_h)
#define octave_errwarn_h 1

#include "octave-config.h"

#include <string>

#include "lo-array-errwarn.h"

class octave_value;
namespace octave
{
  class execution_exception;
}

////////////////////////////////////////////////////////////////////////////////
// Alphabetized list of common errors and warnings.
////////////////////////////////////////////////////////////////////////////////

OCTAVE_NORETURN extern OCTINTERP_API void
err_2_or_3_dim_plot (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_data_conversion (const char *from, const char *to);

OCTAVE_NORETURN extern OCTINTERP_API void
err_disabled_feature (const std::string& fcn, const std::string& feature,
                      const std::string& pkg = "Octave");

OCTAVE_NORETURN extern OCTINTERP_API void
err_indexed_cs_list (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_invalid_conversion (const std::string& from, const std::string& to);

OCTAVE_NORETURN extern OCTINTERP_API void
err_invalid_inquiry_subscript (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_invalid_structure_assignment (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_nonbraced_cs_list_assignment (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_nonconformant (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_nonconformant (octave_idx_type r1, octave_idx_type c1,
                   octave_idx_type r2, octave_idx_type c2);

OCTAVE_NORETURN extern OCTINTERP_API void
err_not_implemented (const char *);

OCTAVE_NORETURN extern OCTINTERP_API void
err_range_invalid (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_square_matrix_required (const char *fcn, const char *name);

OCTAVE_NORETURN extern OCTINTERP_API void
err_string_invalid (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_unrecognized_data_fmt (const char *name);

OCTAVE_NORETURN extern OCTINTERP_API void
err_unrecognized_float_fmt (void);

OCTAVE_NORETURN extern OCTINTERP_API void
err_user_returned_invalid (const char *name);

OCTAVE_NORETURN extern OCTINTERP_API void
err_user_supplied_eval (const char *name);

OCTAVE_NORETURN extern OCTINTERP_API void
err_user_supplied_eval (octave::execution_exception& ee, const char *name);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const char *name, const char *s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const char *name,
                    const char *s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const char *name, const std::string& s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const char *name,
                    const std::string& s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const char *name, const octave_value& tc);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const char *name,
                    const octave_value& tc);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const std::string& name, const octave_value& tc);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const std::string& name,
                    const octave_value& tc);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const char *s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const char *s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const std::string& s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const std::string& s);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (const octave_value& tc);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg (octave::execution_exception& ee, const octave_value& tc);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg_for_binary_op (const octave_value& op);

OCTAVE_NORETURN extern OCTINTERP_API void
err_wrong_type_arg_for_unary_op (const octave_value& op);

extern OCTINTERP_API void
warn_array_as_logical (const dim_vector& dv);

extern OCTINTERP_API void
warn_complex_cmp (void);

extern OCTINTERP_API void
warn_data_file_in_path (const std::string& fcn, const std::string& file);

extern OCTINTERP_API void
warn_disabled_feature (const std::string& fcn, const std::string& feature,
                       const std::string& pkg = "Octave");

extern OCTINTERP_API void
warn_empty_arg (const char *name);

extern OCTINTERP_API void
warn_empty_index (const std::string& type_name);

extern OCTINTERP_API void
warn_implicit_conversion (const char *id, const char *from, const char *to);

extern OCTINTERP_API void
warn_implicit_conversion (const std::string& id, const std::string& from,
                          const std::string& to);

extern OCTINTERP_API void
warn_invalid_value_specified (const char *name);

extern OCTINTERP_API void
warn_logical_conversion (void);

extern OCTINTERP_API void
warn_wrong_type_arg (const char *name, const octave_value& tc);

#if defined (OCTAVE_PROVIDE_DEPRECATED_SYMBOLS)
OCTAVE_DEPRECATED (6, "this function will be removed in a future version of Octave")
inline void
warn_divide_by_zero (void)
{ }
#endif

#endif