2020-04-10 01:11:40 -04:00
|
|
|
#ifndef RUBY_RUBY_BACKWARD_H /*-*-C++-*-vi:se ft=cpp:*/
|
2016-01-06 21:34:33 -05:00
|
|
|
#define RUBY_RUBY_BACKWARD_H 1
|
2020-04-10 01:11:40 -04:00
|
|
|
/**
|
|
|
|
* @file
|
|
|
|
* @author Ruby developers <ruby-core@ruby-lang.org>
|
|
|
|
* @copyright This file is a part of the programming language Ruby.
|
|
|
|
* Permission is hereby granted, to either redistribute and/or
|
|
|
|
* modify this file, provided that the conditions mentioned in the
|
|
|
|
* file COPYING are met. Consult the file for details.
|
|
|
|
*/
|
2020-05-08 05:31:09 -04:00
|
|
|
#include "ruby/internal/value.h"
|
|
|
|
#include "ruby/internal/interpreter.h"
|
2020-04-08 00:28:13 -04:00
|
|
|
#include "ruby/backward/2/attributes.h"
|
2016-01-06 21:34:33 -05:00
|
|
|
|
2017-02-21 00:17:41 -05:00
|
|
|
#define DECLARE_DEPRECATED_FEATURE(ver, func) \
|
|
|
|
NORETURN(ERRORFUNC(("deprecated since "#ver), DEPRECATED(void func(void))))
|
|
|
|
|
|
|
|
/* eval.c */
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_disable_super);
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_enable_super);
|
|
|
|
|
|
|
|
/* hash.c */
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_hash_iter_lev);
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_hash_ifnone);
|
|
|
|
|
|
|
|
/* string.c */
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_str_associate);
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_str_associated);
|
|
|
|
|
2017-02-21 01:16:50 -05:00
|
|
|
/* variable.c */
|
|
|
|
DEPRECATED(void rb_autoload(VALUE, ID, const char*));
|
|
|
|
|
2017-02-21 00:17:41 -05:00
|
|
|
/* vm.c */
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_clear_cache);
|
|
|
|
DECLARE_DEPRECATED_FEATURE(2.2, rb_frame_pop);
|
|
|
|
|
2017-02-21 01:07:22 -05:00
|
|
|
#define DECLARE_DEPRECATED_INTERNAL_FEATURE(func) \
|
|
|
|
NORETURN(ERRORFUNC(("deprecated internal function"), DEPRECATED(void func(void))))
|
|
|
|
|
2018-07-27 09:57:14 -04:00
|
|
|
/* eval.c */
|
|
|
|
NORETURN(ERRORFUNC(("internal function"), void rb_frozen_class_p(VALUE)));
|
2019-08-12 04:44:30 -04:00
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_exec_end_proc);
|
2018-07-27 09:57:14 -04:00
|
|
|
|
2017-02-21 01:07:22 -05:00
|
|
|
/* error.c */
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_compile_error);
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_compile_error_with_enc);
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_compile_error_append);
|
|
|
|
|
2019-08-12 04:44:30 -04:00
|
|
|
/* gc.c */
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_gc_call_finalizer_at_exit);
|
|
|
|
|
|
|
|
/* signal.c */
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_trap_exit);
|
|
|
|
|
2017-02-21 01:07:22 -05:00
|
|
|
/* struct.c */
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_struct_ptr);
|
|
|
|
|
2019-08-12 04:44:30 -04:00
|
|
|
/* thread.c */
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_clear_trace_func);
|
|
|
|
|
2017-02-21 01:16:49 -05:00
|
|
|
/* variable.c */
|
|
|
|
DECLARE_DEPRECATED_INTERNAL_FEATURE(rb_generic_ivar_table);
|
2018-02-02 20:57:00 -05:00
|
|
|
NORETURN(ERRORFUNC(("internal function"), VALUE rb_mod_const_missing(VALUE, VALUE)));
|
2017-02-21 01:16:49 -05:00
|
|
|
|
2017-02-21 00:17:41 -05:00
|
|
|
/* from version.c */
|
2020-07-21 22:30:05 -04:00
|
|
|
#if defined(RUBY_SHOW_COPYRIGHT_TO_DIE) && !!(RUBY_SHOW_COPYRIGHT_TO_DIE+0)
|
2016-01-06 21:34:33 -05:00
|
|
|
/* for source code backward compatibility */
|
2020-07-21 22:30:05 -04:00
|
|
|
RBIMPL_ATTR_DEPRECATED(("since 2.4"))
|
2016-01-06 21:34:33 -05:00
|
|
|
static inline int
|
|
|
|
ruby_show_copyright_to_die(int exitcode)
|
|
|
|
{
|
|
|
|
ruby_show_copyright();
|
|
|
|
return exitcode;
|
|
|
|
}
|
|
|
|
#define ruby_show_copyright() /* defer EXIT_SUCCESS */ \
|
|
|
|
(exit(ruby_show_copyright_to_die(EXIT_SUCCESS)))
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* RUBY_RUBY_BACKWARD_H */
|