view libinterp/corefcn/errwarn.h @ 21109:bd1752782e56

Use err_disabled_feature, warn_disabled_feature throughout code base. In liboctave, use the same error text as err_disabled_feature, but call error_handler directly because err_disabled_feature is in libinterp. * errwarn.cc (err_disabled_feature): Don't print leading "%s:" if calling function is "". * errwarn.cc (warn_disabled_feature): New function. Same msg as err_disabled_feature but uses warning rather than error. * errwarn.h (warn_disabled_feature): prototype for new function. * file-io.cc, gl-render.cc, gl2ps-renderer.cc, load-save.cc, ls-mat5.cc, oct-hdf5-types.cc, pt-jit.cc, syscalls.cc, sysdep.cc, toplev.cc, __delaunayn__.cc, __eigs__.cc, __fltk_uigetfile__.cc, __init_fltk__.cc, __osmesa_print__.cc, __voronoi__.cc, amd.cc, ccolamd.cc, colamd.cc, convhulln.cc, dmperm.cc, fftw.cc, symbfact.cc: Replace calls to error about missing feature with calls to err_disabled_feature. Replace calls to warning about missing feature with calls to warn_disabled_feature. * CSparse.cc, dSparse.cc, SparseCmplxLU.cc, SparseCmplxQR.cc, SparseQR.cc, SparsedbleLU.cc, sparse-base-chol.cc, sparse-dmsolve.cc, oct-shlib.cc: Use same text of message from err_disabled_feature but call (*current_liboctave_error_handler) or (*current_liboctave_warning_with_id_handler).
author Rik <rik@octave.org>
date Tue, 19 Jan 2016 12:44:54 -0800
parents e39e05d90788
children 3d0d84305600
line wrap: on
line source

/*

Copyright (C) 2016 Rik Wehbring

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
<http://www.gnu.org/licenses/>.

*/

#if ! defined (octave_errwarn_h)
#define octave_errwarn_h 1

#include <string>

#include "lo-array-errwarn.h"

class octave_value;
class octave_execution_exception;

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_2_or_3_dim_plot (void);

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

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_indexed_cs_list (void);

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_invalid_inquiry_subscript (void);

OCTAVE_NORETURN OCTINTERP_API extern
void err_nonbraced_cs_list_assignment (void);

OCTAVE_NORETURN OCTINTERP_API extern
void err_nonconformant (void);

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_not_implemented (const char *);

OCTAVE_NORETURN OCTINTERP_API extern
void err_range_invalid (void);

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_string_invalid (void);

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_unrecognized_float_fmt (void);

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

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_user_supplied_eval (octave_execution_exception& e, const char *name);

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

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

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

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

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

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

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

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

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

OCTAVE_NORETURN OCTINTERP_API extern
void err_wrong_type_arg (octave_execution_exception& e, const char *s);

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

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

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

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

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

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

OCTINTERP_API extern
void warn_complex_cmp (void);

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

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

OCTINTERP_API extern
void warn_divide_by_zero (void);

OCTINTERP_API extern
void warn_empty_arg (const char *name);

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

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

OCTINTERP_API extern
void warn_invalid_value_specified (const char *name);

OCTINTERP_API extern
void warn_logical_conversion (void);

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

#endif