Ruby: include/ruby/internal/intern/eval.h Source File

Ruby 3.4.3p32 (2025-04-14 revision d0b7e5b6a04bde21ca483d20a1546b28b401c2d4)

eval.h
Go to the documentation of this file.
1#ifndef RBIMPL_INTERN_EVAL_H /*-*-C++-*-vi:se ft=cpp:*/
2#define RBIMPL_INTERN_EVAL_H
23#include "ruby/internal/attr/noreturn.h"
24#include "ruby/internal/dllexport.h"
25#include "ruby/internal/value.h"
26
27 RBIMPL_SYMBOL_EXPORT_BEGIN()
28
29/* eval.c */
30 RBIMPL_ATTR_NORETURN()
46void rb_exc_raise(VALUE exc);
47
48 RBIMPL_ATTR_NORETURN()
63void rb_exc_fatal(VALUE exc);
64
65/* process.c */
66
67 RBIMPL_ATTR_NORETURN()
80 VALUE rb_f_exit(int argc, const VALUE *argv);
81
82 RBIMPL_ATTR_NORETURN()
98 VALUE rb_f_abort(int argc, const VALUE *argv);
99
100/* eval.c*/
101
102 RBIMPL_ATTR_NORETURN()
109void rb_interrupt(void);
110
119 ID rb_frame_this_func(void);
120
121 RBIMPL_ATTR_NORETURN()
141void rb_jump_tag(int state);
142
152void rb_obj_call_init(VALUE obj, int argc, const VALUE *argv);
153
168void rb_obj_call_init_kw(VALUE, int, const VALUE*, int);
169
177 ID rb_frame_callee(void);
178
206 VALUE rb_make_exception(int argc, const VALUE *argv);
207
208/* eval_jump.c */
209
218void rb_set_end_proc(void (*func)(VALUE arg), VALUE arg);
219
220 RBIMPL_SYMBOL_EXPORT_END()
221
222#endif /* RBIMPL_INTERN_EVAL_H */
dllexport.h
Tweaking visibility of C variables/functions.
RBIMPL_SYMBOL_EXPORT_END
#define RBIMPL_SYMBOL_EXPORT_END()
Counterpart of RBIMPL_SYMBOL_EXPORT_BEGIN.
Definition dllexport.h:74
RBIMPL_SYMBOL_EXPORT_BEGIN
#define RBIMPL_SYMBOL_EXPORT_BEGIN()
Shortcut macro equivalent to RUBY_SYMBOL_EXPORT_BEGIN extern "C" {.
Definition dllexport.h:65
rb_exc_fatal
void rb_exc_fatal(VALUE mesg)
Raises a fatal error in the current thread.
Definition eval.c:689
rb_f_abort
VALUE rb_f_abort(int argc, const VALUE *argv)
This is similar to rb_f_exit().
Definition process.c:4539
rb_f_exit
VALUE rb_f_exit(int argc, const VALUE *argv)
Identical to rb_exit(), except how arguments are passed.
Definition process.c:4470
noreturn.h
Defines RBIMPL_ATTR_NORETURN.
RBIMPL_ATTR_NORETURN
#define RBIMPL_ATTR_NORETURN()
Wraps (or simulates) [[noreturn]]
Definition noreturn.h:38
value.h
Defines VALUE and ID.
ID
uintptr_t ID
Type that represents a Ruby identifier such as a variable name.
Definition value.h:52
VALUE
uintptr_t VALUE
Type that represents a Ruby object.
Definition value.h:40