summaryrefslogtreecommitdiff
path: root/include/ruby
diff options
context:
space:
mode:
Diffstat (limited to 'include/ruby')
-rw-r--r--include/ruby/assert.h10
-rw-r--r--include/ruby/backward.h6
-rw-r--r--include/ruby/backward/2/assume.h6
-rw-r--r--include/ruby/backward/2/attributes.h34
-rw-r--r--include/ruby/backward/2/bool.h2
-rw-r--r--include/ruby/backward/2/extern.h2
-rw-r--r--include/ruby/backward/2/gcc_version_since.h2
-rw-r--r--include/ruby/backward/2/inttypes.h4
-rw-r--r--include/ruby/backward/2/limits.h2
-rw-r--r--include/ruby/backward/2/long_long.h6
-rw-r--r--include/ruby/backward/2/stdalign.h2
-rw-r--r--include/ruby/backward/cxxanyargs.hpp24
-rw-r--r--include/ruby/debug.h6
-rw-r--r--include/ruby/defines.h8
-rw-r--r--include/ruby/encoding.h4
-rw-r--r--include/ruby/impl/anyargs.h20
-rw-r--r--include/ruby/impl/arithmetic.h30
-rw-r--r--include/ruby/impl/arithmetic/char.h16
-rw-r--r--include/ruby/impl/arithmetic/double.h6
-rw-r--r--include/ruby/impl/arithmetic/gid_t.h4
-rw-r--r--include/ruby/impl/arithmetic/int.h24
-rw-r--r--include/ruby/impl/arithmetic/intptr_t.h6
-rw-r--r--include/ruby/impl/arithmetic/long.h26
-rw-r--r--include/ruby/impl/arithmetic/long_long.h6
-rw-r--r--include/ruby/impl/arithmetic/mode_t.h4
-rw-r--r--include/ruby/impl/arithmetic/off_t.h8
-rw-r--r--include/ruby/impl/arithmetic/pid_t.h4
-rw-r--r--include/ruby/impl/arithmetic/short.h6
-rw-r--r--include/ruby/impl/arithmetic/size_t.h8
-rw-r--r--include/ruby/impl/arithmetic/st_data_t.h14
-rw-r--r--include/ruby/impl/arithmetic/uid_t.h4
-rw-r--r--include/ruby/impl/assume.h10
-rw-r--r--include/ruby/impl/attr/alloc_size.h2
-rw-r--r--include/ruby/impl/attr/artificial.h2
-rw-r--r--include/ruby/impl/attr/cold.h4
-rw-r--r--include/ruby/impl/attr/const.h6
-rw-r--r--include/ruby/impl/attr/constexpr.h6
-rw-r--r--include/ruby/impl/attr/deprecated.h12
-rw-r--r--include/ruby/impl/attr/diagnose_if.h4
-rw-r--r--include/ruby/impl/attr/enum_extensibility.h2
-rw-r--r--include/ruby/impl/attr/error.h2
-rw-r--r--include/ruby/impl/attr/flag_enum.h2
-rw-r--r--include/ruby/impl/attr/forceinline.h4
-rw-r--r--include/ruby/impl/attr/format.h2
-rw-r--r--include/ruby/impl/attr/maybe_unused.h6
-rw-r--r--include/ruby/impl/attr/noalias.h2
-rw-r--r--include/ruby/impl/attr/nodiscard.h6
-rw-r--r--include/ruby/impl/attr/noexcept.h4
-rw-r--r--include/ruby/impl/attr/noinline.h4
-rw-r--r--include/ruby/impl/attr/nonnull.h2
-rw-r--r--include/ruby/impl/attr/noreturn.h8
-rw-r--r--include/ruby/impl/attr/pure.h4
-rw-r--r--include/ruby/impl/attr/restrict.h6
-rw-r--r--include/ruby/impl/attr/returns_nonnull.h2
-rw-r--r--include/ruby/impl/attr/warning.h2
-rw-r--r--include/ruby/impl/attr/weakref.h2
-rw-r--r--include/ruby/impl/cast.h6
-rw-r--r--include/ruby/impl/compiler_is.h12
-rw-r--r--include/ruby/impl/compiler_is/clang.h2
-rw-r--r--include/ruby/impl/compiler_is/gcc.h6
-rw-r--r--include/ruby/impl/compiler_is/msvc.h4
-rw-r--r--include/ruby/impl/compiler_since.h2
-rw-r--r--include/ruby/impl/config.h2
-rw-r--r--include/ruby/impl/constant_p.h2
-rw-r--r--include/ruby/impl/core.h24
-rw-r--r--include/ruby/impl/core/rarray.h26
-rw-r--r--include/ruby/impl/core/rbasic.h18
-rw-r--r--include/ruby/impl/core/rbignum.h8
-rw-r--r--include/ruby/impl/core/rclass.h6
-rw-r--r--include/ruby/impl/core/rdata.h20
-rw-r--r--include/ruby/impl/core/rfile.h4
-rw-r--r--include/ruby/impl/core/rhash.h6
-rw-r--r--include/ruby/impl/core/rmatch.h14
-rw-r--r--include/ruby/impl/core/robject.h14
-rw-r--r--include/ruby/impl/core/rregexp.h14
-rw-r--r--include/ruby/impl/core/rstring.h20
-rw-r--r--include/ruby/impl/core/rstruct.h12
-rw-r--r--include/ruby/impl/core/rtypeddata.h24
-rw-r--r--include/ruby/impl/ctype.h10
-rw-r--r--include/ruby/impl/dllexport.h4
-rw-r--r--include/ruby/impl/error.h4
-rw-r--r--include/ruby/impl/eval.h4
-rw-r--r--include/ruby/impl/event.h4
-rw-r--r--include/ruby/impl/fl_type.h26
-rw-r--r--include/ruby/impl/gc.h4
-rw-r--r--include/ruby/impl/glob.h4
-rw-r--r--include/ruby/impl/globals.h12
-rw-r--r--include/ruby/impl/has/attribute.h6
-rw-r--r--include/ruby/impl/has/builtin.h6
-rw-r--r--include/ruby/impl/has/cpp_attribute.h6
-rw-r--r--include/ruby/impl/has/declspec_attribute.h4
-rw-r--r--include/ruby/impl/has/extension.h2
-rw-r--r--include/ruby/impl/intern/array.h4
-rw-r--r--include/ruby/impl/intern/bignum.h6
-rw-r--r--include/ruby/impl/intern/class.h4
-rw-r--r--include/ruby/impl/intern/compar.h4
-rw-r--r--include/ruby/impl/intern/complex.h6
-rw-r--r--include/ruby/impl/intern/cont.h6
-rw-r--r--include/ruby/impl/intern/dir.h4
-rw-r--r--include/ruby/impl/intern/enum.h4
-rw-r--r--include/ruby/impl/intern/enumerator.h10
-rw-r--r--include/ruby/impl/intern/error.h6
-rw-r--r--include/ruby/impl/intern/eval.h6
-rw-r--r--include/ruby/impl/intern/file.h4
-rw-r--r--include/ruby/impl/intern/gc.h4
-rw-r--r--include/ruby/impl/intern/hash.h4
-rw-r--r--include/ruby/impl/intern/io.h4
-rw-r--r--include/ruby/impl/intern/load.h4
-rw-r--r--include/ruby/impl/intern/marshal.h4
-rw-r--r--include/ruby/impl/intern/numeric.h4
-rw-r--r--include/ruby/impl/intern/object.h6
-rw-r--r--include/ruby/impl/intern/parse.h6
-rw-r--r--include/ruby/impl/intern/proc.h6
-rw-r--r--include/ruby/impl/intern/process.h8
-rw-r--r--include/ruby/impl/intern/random.h4
-rw-r--r--include/ruby/impl/intern/range.h4
-rw-r--r--include/ruby/impl/intern/rational.h6
-rw-r--r--include/ruby/impl/intern/re.h4
-rw-r--r--include/ruby/impl/intern/ruby.h4
-rw-r--r--include/ruby/impl/intern/select.h10
-rw-r--r--include/ruby/impl/intern/select/largesize.h6
-rw-r--r--include/ruby/impl/intern/select/posix.h6
-rw-r--r--include/ruby/impl/intern/select/win32.h10
-rw-r--r--include/ruby/impl/intern/signal.h6
-rw-r--r--include/ruby/impl/intern/sprintf.h6
-rw-r--r--include/ruby/impl/intern/string.h14
-rw-r--r--include/ruby/impl/intern/struct.h6
-rw-r--r--include/ruby/impl/intern/thread.h8
-rw-r--r--include/ruby/impl/intern/time.h6
-rw-r--r--include/ruby/impl/intern/variable.h6
-rw-r--r--include/ruby/impl/intern/vm.h6
-rw-r--r--include/ruby/impl/interpreter.h6
-rw-r--r--include/ruby/impl/iterator.h6
-rw-r--r--include/ruby/impl/memory.h30
-rw-r--r--include/ruby/impl/method.h4
-rw-r--r--include/ruby/impl/module.h4
-rw-r--r--include/ruby/impl/newobj.h12
-rw-r--r--include/ruby/impl/rgengc.h12
-rw-r--r--include/ruby/impl/scan_args.h30
-rw-r--r--include/ruby/impl/special_consts.h12
-rw-r--r--include/ruby/impl/static_assert.h4
-rw-r--r--include/ruby/impl/stdalign.h14
-rw-r--r--include/ruby/impl/stdbool.h2
-rw-r--r--include/ruby/impl/symbol.h18
-rw-r--r--include/ruby/impl/token_paste.h8
-rw-r--r--include/ruby/impl/value.h2
-rw-r--r--include/ruby/impl/value_type.h30
-rw-r--r--include/ruby/impl/variable.h6
-rw-r--r--include/ruby/impl/warning_push.h4
-rw-r--r--include/ruby/impl/xmalloc.h14
-rw-r--r--include/ruby/intern.h74
-rw-r--r--include/ruby/io.h4
-rw-r--r--include/ruby/missing.h4
-rw-r--r--include/ruby/re.h6
-rw-r--r--include/ruby/ruby.h54
-rw-r--r--include/ruby/thread.h2
-rw-r--r--include/ruby/util.h4
-rw-r--r--include/ruby/vm.h2
158 files changed, 673 insertions, 673 deletions
diff --git a/include/ruby/assert.h b/include/ruby/assert.h
index 54a7618720..01ef6a2eca 100644
--- a/include/ruby/assert.h
+++ b/include/ruby/assert.h
@@ -20,11 +20,11 @@
* We assume C99 for ruby itself but we don't assume languages of
* extension libraries. They could be written in C++98.
*/
-#include "ruby/3/assume.h"
-#include "ruby/3/attr/cold.h"
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/assume.h"
+#include "ruby/impl/attr/cold.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/dllexport.h"
#include "ruby/backward/2/assume.h"
#ifndef RUBY_DEBUG
diff --git a/include/ruby/backward.h b/include/ruby/backward.h
index 8380152db5..15040d5aaa 100644
--- a/include/ruby/backward.h
+++ b/include/ruby/backward.h
@@ -8,9 +8,9 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/value.h"
-#include "ruby/3/interpreter.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/interpreter.h"
#include "ruby/backward/2/attributes.h"
#define RClass RClassDeprecated
diff --git a/include/ruby/backward/2/assume.h b/include/ruby/backward/2/assume.h
index 095a43876d..54448895f0 100644
--- a/include/ruby/backward/2/assume.h
+++ b/include/ruby/backward/2/assume.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #ASSUME / #RB_LIKELY / #UNREACHABLE
*/
-#include "ruby/3/config.h"
-#include "ruby/3/assume.h"
-#include "ruby/3/has/builtin.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/assume.h"
+#include "ruby/impl/has/builtin.h"
#undef ASSUME /* Kill config.h definition */
#undef UNREACHABLE /* Kill config.h definition */
diff --git a/include/ruby/backward/2/attributes.h b/include/ruby/backward/2/attributes.h
index 043646eb4b..8bf72ba458 100644
--- a/include/ruby/backward/2/attributes.h
+++ b/include/ruby/backward/2/attributes.h
@@ -28,23 +28,23 @@
* - A: Don't know. Don't blame me. Backward compatibility is the key here.
* I'm just preserving what they have been.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/attr/alloc_size.h"
-#include "ruby/3/attr/cold.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/deprecated.h"
-#include "ruby/3/attr/error.h"
-#include "ruby/3/attr/forceinline.h"
-#include "ruby/3/attr/format.h"
-#include "ruby/3/attr/maybe_unused.h"
-#include "ruby/3/attr/noinline.h"
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/attr/restrict.h"
-#include "ruby/3/attr/returns_nonnull.h"
-#include "ruby/3/attr/warning.h"
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/attr/alloc_size.h"
+#include "ruby/impl/attr/cold.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/deprecated.h"
+#include "ruby/impl/attr/error.h"
+#include "ruby/impl/attr/forceinline.h"
+#include "ruby/impl/attr/format.h"
+#include "ruby/impl/attr/maybe_unused.h"
+#include "ruby/impl/attr/noinline.h"
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/attr/restrict.h"
+#include "ruby/impl/attr/returns_nonnull.h"
+#include "ruby/impl/attr/warning.h"
+#include "ruby/impl/has/attribute.h"
/* function attributes */
#undef CONSTFUNC
diff --git a/include/ruby/backward/2/bool.h b/include/ruby/backward/2/bool.h
index b2cca2a206..df3e5fdc07 100644
--- a/include/ruby/backward/2/bool.h
+++ b/include/ruby/backward/2/bool.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines old #TRUE / #FALSE
*/
-#include "ruby/3/stdbool.h"
+#include "ruby/impl/stdbool.h"
#ifndef FALSE
# define FALSE false
diff --git a/include/ruby/backward/2/extern.h b/include/ruby/backward/2/extern.h
index 697c593000..40d86c8cad 100644
--- a/include/ruby/backward/2/extern.h
+++ b/include/ruby/backward/2/extern.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines old #EXTERN
*/
-#include "ruby/3/config.h" /* for STRINGIZE */
+#include "ruby/impl/config.h" /* for STRINGIZE */
/**
* @brief Synonym of #RUBY_EXTERN.
diff --git a/include/ruby/backward/2/gcc_version_since.h b/include/ruby/backward/2/gcc_version_since.h
index 03f767aedb..1db20f0e88 100644
--- a/include/ruby/backward/2/gcc_version_since.h
+++ b/include/ruby/backward/2/gcc_version_since.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines old #GCC_VERSION_SINCE
*/
-#include "ruby/3/compiler_since.h"
+#include "ruby/impl/compiler_since.h"
#ifndef GCC_VERSION_SINCE
#define GCC_VERSION_SINCE(x, y, z) RUBY3_COMPILER_SINCE(GCC, (x), (y), (z))
diff --git a/include/ruby/backward/2/inttypes.h b/include/ruby/backward/2/inttypes.h
index c6419bc7b3..ae52573665 100644
--- a/include/ruby/backward/2/inttypes.h
+++ b/include/ruby/backward/2/inttypes.h
@@ -20,13 +20,13 @@
* extension libraries. They could be written in C++98.
* @brief C99 shim for `<inttypes.h>`
*/
-#include "ruby/3/config.h" /* PRI_LL_PREFIX etc. are here */
+#include "ruby/impl/config.h" /* PRI_LL_PREFIX etc. are here */
#ifdef HAVE_INTTYPES_H
# include <inttypes.h>
#endif
-#include "ruby/3/value.h" /* PRI_VALUE_PREFIX is here. */
+#include "ruby/impl/value.h" /* PRI_VALUE_PREFIX is here. */
#ifndef PRI_INT_PREFIX
# define PRI_INT_PREFIX ""
diff --git a/include/ruby/backward/2/limits.h b/include/ruby/backward/2/limits.h
index f003d86057..d728247000 100644
--- a/include/ruby/backward/2/limits.h
+++ b/include/ruby/backward/2/limits.h
@@ -23,7 +23,7 @@
* The macros in this header file are obsolescent. Does anyone really need our
* own definition of #CHAR_BIT today?
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_LIMITS_H
# include <limits.h>
diff --git a/include/ruby/backward/2/long_long.h b/include/ruby/backward/2/long_long.h
index 3b2261b71f..cb63dc676e 100644
--- a/include/ruby/backward/2/long_long.h
+++ b/include/ruby/backward/2/long_long.h
@@ -25,9 +25,9 @@
* while ago (some time back in 2013). The macros are for backwards
* compatibility only.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/has/warning.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/has/warning.h"
+#include "ruby/impl/warning_push.h"
#if RUBY3_HAS_WARNING("-Wc++11-long-long")
# define HAVE_TRUE_LONG_LONG 1
diff --git a/include/ruby/backward/2/stdalign.h b/include/ruby/backward/2/stdalign.h
index bdea030a41..112421be23 100644
--- a/include/ruby/backward/2/stdalign.h
+++ b/include/ruby/backward/2/stdalign.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY_ALIGNAS / #RUBY_ALIGNOF
*/
-#include "ruby/3/stdalign.h"
+#include "ruby/impl/stdalign.h"
#undef RUBY_ALIGNAS
#undef RUBY_ALIGNOF
diff --git a/include/ruby/backward/cxxanyargs.hpp b/include/ruby/backward/cxxanyargs.hpp
index c30ab46f43..3cc36c15d6 100644
--- a/include/ruby/backward/cxxanyargs.hpp
+++ b/include/ruby/backward/cxxanyargs.hpp
@@ -10,18 +10,18 @@
/// meant to be a backwards compatibility shim. Please stick to
/// C++ 98 and never use newer features, like `constexpr`.
/// @brief Provides old prototypes for C++ programs.
-#include "ruby/3/config.h"
-#include "ruby/3/intern/class.h"
-#include "ruby/3/intern/cont.h"
-#include "ruby/3/intern/hash.h"
-#include "ruby/3/intern/proc.h"
-#include "ruby/3/intern/thread.h"
-#include "ruby/3/intern/variable.h"
-#include "ruby/3/intern/vm.h"
-#include "ruby/3/iterator.h"
-#include "ruby/3/method.h"
-#include "ruby/3/value.h"
-#include "ruby/3/variable.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/intern/class.h"
+#include "ruby/impl/intern/cont.h"
+#include "ruby/impl/intern/hash.h"
+#include "ruby/impl/intern/proc.h"
+#include "ruby/impl/intern/thread.h"
+#include "ruby/impl/intern/variable.h"
+#include "ruby/impl/intern/vm.h"
+#include "ruby/impl/iterator.h"
+#include "ruby/impl/method.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/variable.h"
#include "ruby/backward/2/stdarg.h"
#include "ruby/st.h"
diff --git a/include/ruby/debug.h b/include/ruby/debug.h
index 86e147cd6c..e6293fe08c 100644
--- a/include/ruby/debug.h
+++ b/include/ruby/debug.h
@@ -10,9 +10,9 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/event.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/event.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/defines.h b/include/ruby/defines.h
index 0d5a9b2c22..51aa54cf49 100644
--- a/include/ruby/defines.h
+++ b/include/ruby/defines.h
@@ -10,7 +10,7 @@
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
/* AC_INCLUDES_DEFAULT */
#include <stdio.h>
@@ -67,9 +67,9 @@
# include <setjmpex.h>
#endif
-#include "ruby/3/dllexport.h"
-#include "ruby/3/dosish.h"
-#include "ruby/3/xmalloc.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/dosish.h"
+#include "ruby/impl/xmalloc.h"
#include "ruby/backward/2/assume.h"
#include "ruby/backward/2/attributes.h"
#include "ruby/backward/2/bool.h"
diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h
index 79bf7fc60c..dda6e9593d 100644
--- a/include/ruby/encoding.h
+++ b/include/ruby/encoding.h
@@ -10,11 +10,11 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#include <stdarg.h>
#include "ruby/ruby.h"
#include "ruby/oniguruma.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dllexport.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/anyargs.h b/include/ruby/impl/anyargs.h
index d85a49b8a1..5d9a96cdbd 100644
--- a/include/ruby/impl/anyargs.h
+++ b/include/ruby/impl/anyargs.h
@@ -67,16 +67,16 @@
* `__builtin_types_compatible_p`, and in doing so we need to distinguish
* ::rb_f_notimplement from others, by type.
*/
-#include "ruby/3/attr/maybe_unused.h"
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/weakref.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/config.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/intern/class.h"
-#include "ruby/3/intern/vm.h"
-#include "ruby/3/method.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/maybe_unused.h"
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/weakref.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/intern/class.h"
+#include "ruby/impl/intern/vm.h"
+#include "ruby/impl/method.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/stdarg.h"
#if defined(__cplusplus)
diff --git a/include/ruby/impl/arithmetic.h b/include/ruby/impl/arithmetic.h
index 5dcdfcd9e4..4c9f9333de 100644
--- a/include/ruby/impl/arithmetic.h
+++ b/include/ruby/impl/arithmetic.h
@@ -20,19 +20,19 @@
* extension libraries. They could be written in C++98.
* @brief Conversion between C's arithmtic types and Ruby's numeric types.
*/
-#include "ruby/3/arithmetic/char.h"
-#include "ruby/3/arithmetic/double.h"
-#include "ruby/3/arithmetic/fixnum.h"
-#include "ruby/3/arithmetic/gid_t.h"
-#include "ruby/3/arithmetic/int.h"
-#include "ruby/3/arithmetic/intptr_t.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/arithmetic/long_long.h"
-#include "ruby/3/arithmetic/mode_t.h"
-#include "ruby/3/arithmetic/off_t.h"
-#include "ruby/3/arithmetic/pid_t.h"
-#include "ruby/3/arithmetic/short.h"
-#include "ruby/3/arithmetic/size_t.h"
-#include "ruby/3/arithmetic/st_data_t.h"
-#include "ruby/3/arithmetic/uid_t.h"
+#include "ruby/impl/arithmetic/char.h"
+#include "ruby/impl/arithmetic/double.h"
+#include "ruby/impl/arithmetic/fixnum.h"
+#include "ruby/impl/arithmetic/gid_t.h"
+#include "ruby/impl/arithmetic/int.h"
+#include "ruby/impl/arithmetic/intptr_t.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/arithmetic/long_long.h"
+#include "ruby/impl/arithmetic/mode_t.h"
+#include "ruby/impl/arithmetic/off_t.h"
+#include "ruby/impl/arithmetic/pid_t.h"
+#include "ruby/impl/arithmetic/short.h"
+#include "ruby/impl/arithmetic/size_t.h"
+#include "ruby/impl/arithmetic/st_data_t.h"
+#include "ruby/impl/arithmetic/uid_t.h"
#endif /* RUBY3_ARITHMETIC_H */
diff --git a/include/ruby/impl/arithmetic/char.h b/include/ruby/impl/arithmetic/char.h
index 03afa0a406..7b6de911c0 100644
--- a/include/ruby/impl/arithmetic/char.h
+++ b/include/ruby/impl/arithmetic/char.h
@@ -20,14 +20,14 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `char` and Ruby's.
*/
-#include "ruby/3/arithmetic/int.h" /* NUM2INT is here, but */
-#include "ruby/3/arithmetic/long.h" /* INT2FIX is here.*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rstring.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/arithmetic/int.h" /* NUM2INT is here, but */
+#include "ruby/impl/arithmetic/long.h" /* INT2FIX is here.*/
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rstring.h"
+#include "ruby/impl/value_type.h"
#define RB_NUM2CHR rb_num2char_inline
#define NUM2CHR RB_NUM2CHR
diff --git a/include/ruby/impl/arithmetic/double.h b/include/ruby/impl/arithmetic/double.h
index 4a37611a21..f41aa29103 100644
--- a/include/ruby/impl/arithmetic/double.h
+++ b/include/ruby/impl/arithmetic/double.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `double` and Ruby's.
*/
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#define NUM2DBL rb_num2dbl
#define RFLOAT_VALUE rb_float_value
diff --git a/include/ruby/impl/arithmetic/gid_t.h b/include/ruby/impl/arithmetic/gid_t.h
index 7c4c1b00ed..57efa3370a 100644
--- a/include/ruby/impl/arithmetic/gid_t.h
+++ b/include/ruby/impl/arithmetic/gid_t.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `gid_t` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/long.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/long.h"
#ifndef GIDT2NUM
# define GIDT2NUM RB_LONG2NUM
diff --git a/include/ruby/impl/arithmetic/int.h b/include/ruby/impl/arithmetic/int.h
index 2ebf8081f9..ba6aede883 100644
--- a/include/ruby/impl/arithmetic/int.h
+++ b/include/ruby/impl/arithmetic/int.h
@@ -20,18 +20,18 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `int` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/fixnum.h"
-#include "ruby/3/arithmetic/intptr_t.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/compiler_is.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/value.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/fixnum.h"
+#include "ruby/impl/arithmetic/intptr_t.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/compiler_is.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/warning_push.h"
#include "ruby/assert.h"
#define RB_INT2NUM rb_int2num_inline
diff --git a/include/ruby/impl/arithmetic/intptr_t.h b/include/ruby/impl/arithmetic/intptr_t.h
index 7eabf75a80..f6dc2bbd33 100644
--- a/include/ruby/impl/arithmetic/intptr_t.h
+++ b/include/ruby/impl/arithmetic/intptr_t.h
@@ -20,14 +20,14 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `intptr_t` and Ruby's.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
-#include "ruby/3/value.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/dllexport.h"
#define rb_int_new rb_int2inum
#define rb_uint_new rb_uint2inum
diff --git a/include/ruby/impl/arithmetic/long.h b/include/ruby/impl/arithmetic/long.h
index 3263c616b0..0874c6db7b 100644
--- a/include/ruby/impl/arithmetic/long.h
+++ b/include/ruby/impl/arithmetic/long.h
@@ -28,19 +28,19 @@
* understand the difference of `int` and `long` when they designed those
* macros.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/fixnum.h" /* FIXABLE */
-#include "ruby/3/arithmetic/intptr_t.h" /* rb_int2big etc.*/
-#include "ruby/3/assume.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/cold.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h" /* FIXNUM_FLAG */
-#include "ruby/3/value.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/fixnum.h" /* FIXABLE */
+#include "ruby/impl/arithmetic/intptr_t.h" /* rb_int2big etc.*/
+#include "ruby/impl/assume.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/cold.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h" /* FIXNUM_FLAG */
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#define FIX2LONG RB_FIX2LONG
diff --git a/include/ruby/impl/arithmetic/long_long.h b/include/ruby/impl/arithmetic/long_long.h
index 1dfe0f6f71..1dd5207b9a 100644
--- a/include/ruby/impl/arithmetic/long_long.h
+++ b/include/ruby/impl/arithmetic/long_long.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `long long` and Ruby's.
*/
-#include "ruby/3/value.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h"
#include "ruby/backward/2/long_long.h"
#define RB_LL2NUM rb_ll2inum
diff --git a/include/ruby/impl/arithmetic/mode_t.h b/include/ruby/impl/arithmetic/mode_t.h
index ea6386305a..c75200123b 100644
--- a/include/ruby/impl/arithmetic/mode_t.h
+++ b/include/ruby/impl/arithmetic/mode_t.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `mode_t` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/int.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/int.h"
#ifndef NUM2MODET
# define NUM2MODET RB_NUM2INT
diff --git a/include/ruby/impl/arithmetic/off_t.h b/include/ruby/impl/arithmetic/off_t.h
index 03d0756257..c2a88b948f 100644
--- a/include/ruby/impl/arithmetic/off_t.h
+++ b/include/ruby/impl/arithmetic/off_t.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `off_t` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/int.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/arithmetic/long_long.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/int.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/arithmetic/long_long.h"
#include "ruby/backward/2/long_long.h"
#ifdef OFFT2NUM
diff --git a/include/ruby/impl/arithmetic/pid_t.h b/include/ruby/impl/arithmetic/pid_t.h
index e63d9e3049..e268793391 100644
--- a/include/ruby/impl/arithmetic/pid_t.h
+++ b/include/ruby/impl/arithmetic/pid_t.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `pid_t` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/long.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/long.h"
#ifndef PIDT2NUM
# define PIDT2NUM RB_LONG2NUM
diff --git a/include/ruby/impl/arithmetic/short.h b/include/ruby/impl/arithmetic/short.h
index 4fb07a8d03..5eb92cff24 100644
--- a/include/ruby/impl/arithmetic/short.h
+++ b/include/ruby/impl/arithmetic/short.h
@@ -23,9 +23,9 @@
* Shyouhei wonders: why there is no SHORT2NUM, given there are both
* #USHORT2NUM and #CHR2FIX?
*/
-#include "ruby/3/value.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h"
#define RB_NUM2SHORT rb_num2short_inline
#define RB_NUM2USHORT rb_num2ushort
diff --git a/include/ruby/impl/arithmetic/size_t.h b/include/ruby/impl/arithmetic/size_t.h
index 848a3f1271..8e771921da 100644
--- a/include/ruby/impl/arithmetic/size_t.h
+++ b/include/ruby/impl/arithmetic/size_t.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `size_t` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/int.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/arithmetic/long_long.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/int.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/arithmetic/long_long.h"
#include "ruby/backward/2/long_long.h"
#if SIZEOF_SIZE_T == SIZEOF_LONG_LONG
diff --git a/include/ruby/impl/arithmetic/st_data_t.h b/include/ruby/impl/arithmetic/st_data_t.h
index f9a28ce1db..ecd9097b9e 100644
--- a/include/ruby/impl/arithmetic/st_data_t.h
+++ b/include/ruby/impl/arithmetic/st_data_t.h
@@ -20,13 +20,13 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `st_data_t` and Ruby's.
*/
-#include "ruby/3/arithmetic/fixnum.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/arithmetic/fixnum.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#include "ruby/st.h"
diff --git a/include/ruby/impl/arithmetic/uid_t.h b/include/ruby/impl/arithmetic/uid_t.h
index c49b79e934..4b2526d0f3 100644
--- a/include/ruby/impl/arithmetic/uid_t.h
+++ b/include/ruby/impl/arithmetic/uid_t.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Arithmetic conversion between C's `uid_t` and Ruby's.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/long.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/long.h"
#ifndef UIDT2NUM
# define UIDT2NUM RB_LONG2NUM
diff --git a/include/ruby/impl/assume.h b/include/ruby/impl/assume.h
index 98059d7cbf..9d2a5fbf35 100644
--- a/include/ruby/impl/assume.h
+++ b/include/ruby/impl/assume.h
@@ -25,11 +25,11 @@
* - #RUBY3_ASSUME could fallback to #RUBY3_UNREACHABLE.
* - #RUBY3_UNREACHABLE could fallback to #RUBY3_ASSUME.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/builtin.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/builtin.h"
+#include "ruby/impl/warning_push.h"
/** @cond INTERNAL_MACRO */
#if RUBY3_COMPILER_SINCE(MSVC, 13, 10, 0)
diff --git a/include/ruby/impl/attr/alloc_size.h b/include/ruby/impl/attr/alloc_size.h
index 5d4ece08a1..4d514ca00e 100644
--- a/include/ruby/impl/attr/alloc_size.h
+++ b/include/ruby/impl/attr/alloc_size.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_ALLOC_SIZE.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((alloc_size))` */
#if RUBY3_HAS_ATTRIBUTE(alloc_size)
diff --git a/include/ruby/impl/attr/artificial.h b/include/ruby/impl/attr/artificial.h
index f5450e3467..e33d536e3d 100644
--- a/include/ruby/impl/attr/artificial.h
+++ b/include/ruby/impl/attr/artificial.h
@@ -34,7 +34,7 @@
* case it gets vital to know where the inlining happened in the callee.
* See also https://stackoverflow.com/a/21936099
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((artificial))` */
#if RUBY3_HAS_ATTRIBUTE(artificial)
diff --git a/include/ruby/impl/attr/cold.h b/include/ruby/impl/attr/cold.h
index 3822f0a975..ed50a5e266 100644
--- a/include/ruby/impl/attr/cold.h
+++ b/include/ruby/impl/attr/cold.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_COLD.
*/
-#include "ruby/3/compiler_is.h"
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/compiler_is.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((cold))` */
#if RUBY3_COMPILER_IS(SunPro)
diff --git a/include/ruby/impl/attr/const.h b/include/ruby/impl/attr/const.h
index 6c36e9aab2..7054b916ac 100644
--- a/include/ruby/impl/attr/const.h
+++ b/include/ruby/impl/attr/const.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_CONST.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/declspec_attribute.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/declspec_attribute.h"
/** Wraps (or simulates) `__attribute__((const))` */
#if RUBY3_HAS_ATTRIBUTE(const)
diff --git a/include/ruby/impl/attr/constexpr.h b/include/ruby/impl/attr/constexpr.h
index 576ec7fb8f..695ee85c9c 100644
--- a/include/ruby/impl/attr/constexpr.h
+++ b/include/ruby/impl/attr/constexpr.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief #RUBY3_ATTR_CONSTEXPR.
*/
-#include "ruby/3/has/feature.h"
-#include "ruby/3/compiler_is.h"
-#include "ruby/3/token_paste.h"
+#include "ruby/impl/has/feature.h"
+#include "ruby/impl/compiler_is.h"
+#include "ruby/impl/token_paste.h"
/** @cond INTERNAL_MACRO */
#if ! defined(__cplusplus)
diff --git a/include/ruby/impl/attr/deprecated.h b/include/ruby/impl/attr/deprecated.h
index 5c3f508ffc..a9195b17e8 100644
--- a/include/ruby/impl/attr/deprecated.h
+++ b/include/ruby/impl/attr/deprecated.h
@@ -20,12 +20,12 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_DEPRECATED.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/c_attribute.h"
-#include "ruby/3/has/cpp_attribute.h"
-#include "ruby/3/has/declspec_attribute.h"
-#include "ruby/3/has/extension.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/c_attribute.h"
+#include "ruby/impl/has/cpp_attribute.h"
+#include "ruby/impl/has/declspec_attribute.h"
+#include "ruby/impl/has/extension.h"
/** Wraps (or simulates) `[[deprecated]]` */
#if RUBY3_HAS_EXTENSION(attribute_deprecated_with_message)
diff --git a/include/ruby/impl/attr/diagnose_if.h b/include/ruby/impl/attr/diagnose_if.h
index 2f09abc94d..13399600d1 100644
--- a/include/ruby/impl/attr/diagnose_if.h
+++ b/include/ruby/impl/attr/diagnose_if.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_DIAGNOSE_IF.
*/
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/warning_push.h"
/** Wraps (or simulates) `__attribute__((diagnose_if))` */
#if RUBY3_COMPILER_BEFORE(Clang, 5, 0, 0)
diff --git a/include/ruby/impl/attr/enum_extensibility.h b/include/ruby/impl/attr/enum_extensibility.h
index 15a5b063f2..c7a64933d8 100644
--- a/include/ruby/impl/attr/enum_extensibility.h
+++ b/include/ruby/impl/attr/enum_extensibility.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief #RUBY3_ATTR_ENUM_EXTENSIBILITY.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((enum_extensibility))` */
#if RUBY3_HAS_ATTRIBUTE(enum_extensibility)
diff --git a/include/ruby/impl/attr/error.h b/include/ruby/impl/attr/error.h
index 53628259a0..c0d5ed51af 100644
--- a/include/ruby/impl/attr/error.h
+++ b/include/ruby/impl/attr/error.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_ERROR.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((error))` */
#if RUBY3_HAS_ATTRIBUTE(error)
diff --git a/include/ruby/impl/attr/flag_enum.h b/include/ruby/impl/attr/flag_enum.h
index 2081c9c3ed..0649869b4a 100644
--- a/include/ruby/impl/attr/flag_enum.h
+++ b/include/ruby/impl/attr/flag_enum.h
@@ -21,7 +21,7 @@
* @brief Defines #RUBY3_ATTR_FLAG_ENUM.
* @see https://clang.llvm.org/docs/AttributeReference.html#flag_enum
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((flag_enum)` */
#if RUBY3_HAS_ATTRIBUTE(flag_enum)
diff --git a/include/ruby/impl/attr/forceinline.h b/include/ruby/impl/attr/forceinline.h
index bd622eddce..95fe2b843a 100644
--- a/include/ruby/impl/attr/forceinline.h
+++ b/include/ruby/impl/attr/forceinline.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_FORCEINLINE.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/attribute.h"
/**
* Wraps (or simulates) `__forceinline`. MSVC complains on declarations like
diff --git a/include/ruby/impl/attr/format.h b/include/ruby/impl/attr/format.h
index 2624179bda..0ae980afcd 100644
--- a/include/ruby/impl/attr/format.h
+++ b/include/ruby/impl/attr/format.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_FORMAT.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((format))` */
#if RUBY3_HAS_ATTRIBUTE(format)
diff --git a/include/ruby/impl/attr/maybe_unused.h b/include/ruby/impl/attr/maybe_unused.h
index 71904dffa4..decb338c39 100644
--- a/include/ruby/impl/attr/maybe_unused.h
+++ b/include/ruby/impl/attr/maybe_unused.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_MAYBE_UNUSED.
*/
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/c_attribute.h"
-#include "ruby/3/has/cpp_attribute.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/c_attribute.h"
+#include "ruby/impl/has/cpp_attribute.h"
/** Wraps (or simulates) `[[maybe_unused]]` */
#if RUBY3_HAS_CPP_ATTRIBUTE(maybe_unused)
diff --git a/include/ruby/impl/attr/noalias.h b/include/ruby/impl/attr/noalias.h
index 49ad11999d..fc1012f45e 100644
--- a/include/ruby/impl/attr/noalias.h
+++ b/include/ruby/impl/attr/noalias.h
@@ -46,7 +46,7 @@
* has to be passed to the function as a pointer. ::VALUE -taking
* functions thus cannot be attributed as such.
*/
-#include "ruby/3/has/declspec_attribute.h"
+#include "ruby/impl/has/declspec_attribute.h"
/** Wraps (or simulates) `__declspec((noalias))` */
#if RUBY3_HAS_DECLSPEC_ATTRIBUTE(noalias)
diff --git a/include/ruby/impl/attr/nodiscard.h b/include/ruby/impl/attr/nodiscard.h
index 6168bb9002..394221969b 100644
--- a/include/ruby/impl/attr/nodiscard.h
+++ b/include/ruby/impl/attr/nodiscard.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_NODISCARD.
*/
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/c_attribute.h"
-#include "ruby/3/has/cpp_attribute.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/c_attribute.h"
+#include "ruby/impl/has/cpp_attribute.h"
/**
* Wraps (or simulates) `[[nodiscard]]`. In C++ (at least since C++20) a
diff --git a/include/ruby/impl/attr/noexcept.h b/include/ruby/impl/attr/noexcept.h
index aff3b2cb1b..ee7329b735 100644
--- a/include/ruby/impl/attr/noexcept.h
+++ b/include/ruby/impl/attr/noexcept.h
@@ -61,8 +61,8 @@
* Itanium C++ ABI has zero-cost exception handling), but does impact on
* generated binary size. This is bad.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/feature.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/feature.h"
/** Wraps (or simulates) C++11 `noexcept` */
#if ! defined(__cplusplus)
diff --git a/include/ruby/impl/attr/noinline.h b/include/ruby/impl/attr/noinline.h
index 4437f8a32f..58ffbe207c 100644
--- a/include/ruby/impl/attr/noinline.h
+++ b/include/ruby/impl/attr/noinline.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_NOINLINE.
*/
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/declspec_attribute.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/declspec_attribute.h"
/** Wraps (or simulates) `__declspec(noinline)` */
#if RUBY3_HAS_DECLSPEC_ATTRIBUTE(noinline)
diff --git a/include/ruby/impl/attr/nonnull.h b/include/ruby/impl/attr/nonnull.h
index 01b5820c1b..ad883f04db 100644
--- a/include/ruby/impl/attr/nonnull.h
+++ b/include/ruby/impl/attr/nonnull.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_NONNULL.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((nonnull))` */
#if RUBY3_HAS_ATTRIBUTE(nonnull)
diff --git a/include/ruby/impl/attr/noreturn.h b/include/ruby/impl/attr/noreturn.h
index 999a76b8e5..90cec9a01a 100644
--- a/include/ruby/impl/attr/noreturn.h
+++ b/include/ruby/impl/attr/noreturn.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_NORETURN.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/cpp_attribute.h"
-#include "ruby/3/has/declspec_attribute.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/cpp_attribute.h"
+#include "ruby/impl/has/declspec_attribute.h"
/** Wraps (or simulates) `[[noreturn]]` */
#if RUBY3_COMPILER_SINCE(SunPro, 5, 10, 0)
diff --git a/include/ruby/impl/attr/pure.h b/include/ruby/impl/attr/pure.h
index b9ab3622ca..e2cd27279e 100644
--- a/include/ruby/impl/attr/pure.h
+++ b/include/ruby/impl/attr/pure.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_PURE.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/attribute.h"
#include "ruby/assert.h"
/** Wraps (or simulates) `__attribute__((pure))` */
diff --git a/include/ruby/impl/attr/restrict.h b/include/ruby/impl/attr/restrict.h
index 95c85f45ce..09240a2563 100644
--- a/include/ruby/impl/attr/restrict.h
+++ b/include/ruby/impl/attr/restrict.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_RESTRICT.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/token_paste.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/token_paste.h"
/* :FIXME: config.h includes conflicting `#define restrict`. MSVC can be
* detected using `RUBY3_COMPILER_SINCE()`, but Clang & family cannot use
diff --git a/include/ruby/impl/attr/returns_nonnull.h b/include/ruby/impl/attr/returns_nonnull.h
index 786e7e72ee..3eb9180cab 100644
--- a/include/ruby/impl/attr/returns_nonnull.h
+++ b/include/ruby/impl/attr/returns_nonnull.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_RETURNS_NONNULL.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((returns_nonnull))` */
#if defined(_Ret_nonnull_)
diff --git a/include/ruby/impl/attr/warning.h b/include/ruby/impl/attr/warning.h
index a83537e209..5f665c9d17 100644
--- a/include/ruby/impl/attr/warning.h
+++ b/include/ruby/impl/attr/warning.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_WARNING.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((warning))` */
#if RUBY3_HAS_ATTRIBUTE(warning)
diff --git a/include/ruby/impl/attr/weakref.h b/include/ruby/impl/attr/weakref.h
index e9c38f92e7..04d8f77c13 100644
--- a/include/ruby/impl/attr/weakref.h
+++ b/include/ruby/impl/attr/weakref.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ATTR_WEAKREF.
*/
-#include "ruby/3/has/attribute.h"
+#include "ruby/impl/has/attribute.h"
/** Wraps (or simulates) `__attribute__((weakref))` */
#if RUBY3_HAS_ATTRIBUTE(weakref)
diff --git a/include/ruby/impl/cast.h b/include/ruby/impl/cast.h
index 254e10fee3..b4b28b69b1 100644
--- a/include/ruby/impl/cast.h
+++ b/include/ruby/impl/cast.h
@@ -25,9 +25,9 @@
* public headers. They could be used from C++, and C-style casts could issue
* warnings. Ruby internals are pure C so they should not bother.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/warning.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/warning.h"
+#include "ruby/impl/warning_push.h"
#if ! defined(__cplusplus)
# define RUBY3_CAST(expr) (expr)
diff --git a/include/ruby/impl/compiler_is.h b/include/ruby/impl/compiler_is.h
index 3da099a9c1..0eb21cde04 100644
--- a/include/ruby/impl/compiler_is.h
+++ b/include/ruby/impl/compiler_is.h
@@ -29,12 +29,12 @@
*/
#define RUBY3_COMPILER_IS(cc) RUBY3_COMPILER_IS_ ## cc
-#include "ruby/3/compiler_is/apple.h"
-#include "ruby/3/compiler_is/clang.h"
-#include "ruby/3/compiler_is/gcc.h"
-#include "ruby/3/compiler_is/intel.h"
-#include "ruby/3/compiler_is/msvc.h"
-#include "ruby/3/compiler_is/sunpro.h"
+#include "ruby/impl/compiler_is/apple.h"
+#include "ruby/impl/compiler_is/clang.h"
+#include "ruby/impl/compiler_is/gcc.h"
+#include "ruby/impl/compiler_is/intel.h"
+#include "ruby/impl/compiler_is/msvc.h"
+#include "ruby/impl/compiler_is/sunpro.h"
/* :TODO: Other possible compilers to support:
*
* - IBM XL: recent XL are clang-backended so some tweaks like we do for
diff --git a/include/ruby/impl/compiler_is/clang.h b/include/ruby/impl/compiler_is/clang.h
index 5f07b3b5ed..03a24473c7 100644
--- a/include/ruby/impl/compiler_is/clang.h
+++ b/include/ruby/impl/compiler_is/clang.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_COMPILER_IS_Clang.
*/
-#include "ruby/3/compiler_is/apple.h"
+#include "ruby/impl/compiler_is/apple.h"
#if ! defined(__clang__)
# define RUBY3_COMPILER_IS_Clang 0
diff --git a/include/ruby/impl/compiler_is/gcc.h b/include/ruby/impl/compiler_is/gcc.h
index 2fc030c010..e1fac3c5a9 100644
--- a/include/ruby/impl/compiler_is/gcc.h
+++ b/include/ruby/impl/compiler_is/gcc.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_COMPILER_IS_GCC.
*/
-#include "ruby/3/compiler_is/apple.h"
-#include "ruby/3/compiler_is/clang.h"
-#include "ruby/3/compiler_is/intel.h"
+#include "ruby/impl/compiler_is/apple.h"
+#include "ruby/impl/compiler_is/clang.h"
+#include "ruby/impl/compiler_is/intel.h"
#if ! defined(__GNUC__)
# define RUBY3_COMPILER_IS_GCC 0
diff --git a/include/ruby/impl/compiler_is/msvc.h b/include/ruby/impl/compiler_is/msvc.h
index e2c72a1175..89208797cb 100644
--- a/include/ruby/impl/compiler_is/msvc.h
+++ b/include/ruby/impl/compiler_is/msvc.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_COMPILER_IS_MSVC.
*/
-#include "ruby/3/compiler_is/clang.h"
-#include "ruby/3/compiler_is/intel.h"
+#include "ruby/impl/compiler_is/clang.h"
+#include "ruby/impl/compiler_is/intel.h"
#if ! defined(_MSC_VER)
# define RUBY3_COMPILER_IS_MSVC 0
diff --git a/include/ruby/impl/compiler_since.h b/include/ruby/impl/compiler_since.h
index 365f39ffb0..a96da06b34 100644
--- a/include/ruby/impl/compiler_since.h
+++ b/include/ruby/impl/compiler_since.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_COMPILER_SINCE.
*/
-#include "ruby/3/compiler_is.h"
+#include "ruby/impl/compiler_is.h"
/**
* @brief Checks if the compiler is of given brand and is newer than or equal
diff --git a/include/ruby/impl/config.h b/include/ruby/impl/config.h
index 32d50bf0d6..4697aa9d31 100644
--- a/include/ruby/impl/config.h
+++ b/include/ruby/impl/config.h
@@ -26,7 +26,7 @@
# include RUBY_EXTCONF_H
#endif
-#include "ruby/3/compiler_since.h"
+#include "ruby/impl/compiler_since.h"
#if defined(__cplusplus)
#/* __builtin_choose_expr and __builtin_types_compatible aren't available
diff --git a/include/ruby/impl/constant_p.h b/include/ruby/impl/constant_p.h
index 13781f8019..189d4db0be 100644
--- a/include/ruby/impl/constant_p.h
+++ b/include/ruby/impl/constant_p.h
@@ -26,7 +26,7 @@
* @see https://bugs.llvm.org/show_bug.cgi?id=4898
* @see https://gcc.gnu.org/onlinedocs/gcc/Other-Builtins.html
*/
-#include "ruby/3/has/builtin.h"
+#include "ruby/impl/has/builtin.h"
#if RUBY3_HAS_BUILTIN(__builtin_constant_p)
# define RUBY3_CONSTANT_P(expr) __builtin_constant_p(expr)
diff --git a/include/ruby/impl/core.h b/include/ruby/impl/core.h
index 00b3a6104f..53a22caa44 100644
--- a/include/ruby/impl/core.h
+++ b/include/ruby/impl/core.h
@@ -20,16 +20,16 @@
* extension libraries. They could be written in C++98.
* @brief Core data structures, definitions and manupulations.
*/
-#include "ruby/3/core/rarray.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/core/rbignum.h"
-#include "ruby/3/core/rclass.h"
-#include "ruby/3/core/rdata.h"
-#include "ruby/3/core/rfile.h"
-#include "ruby/3/core/rhash.h"
-#include "ruby/3/core/robject.h"
-#include "ruby/3/core/rregexp.h"
-#include "ruby/3/core/rstring.h"
-#include "ruby/3/core/rstruct.h"
-#include "ruby/3/core/rtypeddata.h"
+#include "ruby/impl/core/rarray.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/core/rbignum.h"
+#include "ruby/impl/core/rclass.h"
+#include "ruby/impl/core/rdata.h"
+#include "ruby/impl/core/rfile.h"
+#include "ruby/impl/core/rhash.h"
+#include "ruby/impl/core/robject.h"
+#include "ruby/impl/core/rregexp.h"
+#include "ruby/impl/core/rstring.h"
+#include "ruby/impl/core/rstruct.h"
+#include "ruby/impl/core/rtypeddata.h"
#endif /* RUBY3_CORE_H */
diff --git a/include/ruby/impl/core/rarray.h b/include/ruby/impl/core/rarray.h
index added0c41c..63ebb09d60 100644
--- a/include/ruby/impl/core/rarray.h
+++ b/include/ruby/impl/core/rarray.h
@@ -20,19 +20,19 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RArray.
*/
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/attr/maybe_unused.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/rgengc.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/attr/maybe_unused.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/rgengc.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
#include "ruby/assert.h"
#ifndef USE_TRANSIENT_HEAP
diff --git a/include/ruby/impl/core/rbasic.h b/include/ruby/impl/core/rbasic.h
index 4f6fa576aa..f1c05e57fb 100644
--- a/include/ruby/impl/core/rbasic.h
+++ b/include/ruby/impl/core/rbasic.h
@@ -20,15 +20,15 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RBasic.
*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/attr/forceinline.h"
-#include "ruby/3/attr/noalias.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/attr/forceinline.h"
+#include "ruby/impl/attr/noalias.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#define RBASIC(obj) RUBY3_CAST((struct RBasic *)(obj))
diff --git a/include/ruby/impl/core/rbignum.h b/include/ruby/impl/core/rbignum.h
index 09a478c2f8..5adc82bee8 100644
--- a/include/ruby/impl/core/rbignum.h
+++ b/include/ruby/impl/core/rbignum.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Routines to manipulate struct ::RBignum.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
-#include "ruby/3/stdbool.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
+#include "ruby/impl/stdbool.h"
#define RBIGNUM_SIGN rb_big_sign
diff --git a/include/ruby/impl/core/rclass.h b/include/ruby/impl/core/rclass.h
index e492da5ae5..d9e08a3c75 100644
--- a/include/ruby/impl/core/rclass.h
+++ b/include/ruby/impl/core/rclass.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Routines to manipulate struct ::RClass.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/cast.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/cast.h"
#define RMODULE_IS_OVERLAID RMODULE_IS_OVERLAID
#define RMODULE_IS_REFINEMENT RMODULE_IS_REFINEMENT
diff --git a/include/ruby/impl/core/rdata.h b/include/ruby/impl/core/rdata.h
index 383785af4c..eac05dbf2e 100644
--- a/include/ruby/impl/core/rdata.h
+++ b/include/ruby/impl/core/rdata.h
@@ -20,21 +20,21 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RData.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
#endif
-#include "ruby/3/attr/deprecated.h"
-#include "ruby/3/attr/warning.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/token_paste.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/attr/deprecated.h"
+#include "ruby/impl/attr/warning.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/token_paste.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
#include "ruby/defines.h"
#ifdef RUBY_UNTYPED_DATA_WARNING
diff --git a/include/ruby/impl/core/rfile.h b/include/ruby/impl/core/rfile.h
index 0b12d7bba4..7c162bd9de 100644
--- a/include/ruby/impl/core/rfile.h
+++ b/include/ruby/impl/core/rfile.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RFile.
*/
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/cast.h"
/* rb_io_t is in ruby/io.h. The header file has historically not been included
* into ruby/ruby.h. We follow that tradition. */
diff --git a/include/ruby/impl/core/rhash.h b/include/ruby/impl/core/rhash.h
index e8f9901aa5..7cd0386c6f 100644
--- a/include/ruby/impl/core/rhash.h
+++ b/include/ruby/impl/core/rhash.h
@@ -32,14 +32,14 @@
*
* Shyouhei stopped thinking. Let them be as is.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
#endif
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#if !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY
# include "ruby/backward.h"
#endif
diff --git a/include/ruby/impl/core/rmatch.h b/include/ruby/impl/core/rmatch.h
index f89cea849c..f47b5d966d 100644
--- a/include/ruby/impl/core/rmatch.h
+++ b/include/ruby/impl/core/rmatch.h
@@ -20,13 +20,13 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RMatch.
*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/attr/returns_nonnull.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/attr/returns_nonnull.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
#include "ruby/assert.h"
#define RMATCH(obj) RUBY3_CAST((struct RMatch *)(obj))
diff --git a/include/ruby/impl/core/robject.h b/include/ruby/impl/core/robject.h
index c6101af2d2..7464af74c6 100644
--- a/include/ruby/impl/core/robject.h
+++ b/include/ruby/impl/core/robject.h
@@ -20,18 +20,18 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RObject.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_STDINT_H
# include <stdint.h>
#endif
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
#define ROBJECT(obj) RUBY3_CAST((struct RObject *)(obj))
#define ROBJECT_EMBED_LEN_MAX ROBJECT_EMBED_LEN_MAX
diff --git a/include/ruby/impl/core/rregexp.h b/include/ruby/impl/core/rregexp.h
index 0978c00c74..e40b8d19bd 100644
--- a/include/ruby/impl/core/rregexp.h
+++ b/include/ruby/impl/core/rregexp.h
@@ -20,13 +20,13 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RRegexp.
*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/core/rstring.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/core/rstring.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
#define RREGEXP(obj) RUBY3_CAST((struct RRegexp *)(obj))
#define RREGEXP_PTR(obj) (RREGEXP(obj)->ptr)
diff --git a/include/ruby/impl/core/rstring.h b/include/ruby/impl/core/rstring.h
index 10104c7a55..df0b4c4fb3 100644
--- a/include/ruby/impl/core/rstring.h
+++ b/include/ruby/impl/core/rstring.h
@@ -20,16 +20,16 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RString.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/value_type.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/value_type.h"
+#include "ruby/impl/warning_push.h"
#include "ruby/assert.h"
#define RSTRING(obj) RUBY3_CAST((struct RString *)(obj))
diff --git a/include/ruby/impl/core/rstruct.h b/include/ruby/impl/core/rstruct.h
index d474697e4e..4cbe643244 100644
--- a/include/ruby/impl/core/rstruct.h
+++ b/include/ruby/impl/core/rstruct.h
@@ -20,12 +20,12 @@
* extension libraries. They could be written in C++98.
* @brief Routines to manipulate struct ::RStruct.
*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
-#include "ruby/3/arithmetic/long.h"
-#include "ruby/3/arithmetic/int.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
+#include "ruby/impl/arithmetic/long.h"
+#include "ruby/impl/arithmetic/int.h"
#if !defined RUBY_EXPORT && !defined RUBY_NO_OLD_COMPATIBILITY
# include "ruby/backward.h"
#endif
diff --git a/include/ruby/impl/core/rtypeddata.h b/include/ruby/impl/core/rtypeddata.h
index d46fd5c519..548d316122 100644
--- a/include/ruby/impl/core/rtypeddata.h
+++ b/include/ruby/impl/core/rtypeddata.h
@@ -20,23 +20,23 @@
* extension libraries. They could be written in C++98.
* @brief Defines struct ::RTypedData.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
#endif
-#include "ruby/3/assume.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/core/rdata.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/error.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/assume.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/core/rdata.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/error.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value_type.h"
#define HAVE_TYPE_RB_DATA_TYPE_T 1
#define HAVE_RB_DATA_TYPE_T_FUNCTION 1
diff --git a/include/ruby/impl/ctype.h b/include/ruby/impl/ctype.h
index 76927bf9a1..6b86571e1e 100644
--- a/include/ruby/impl/ctype.h
+++ b/include/ruby/impl/ctype.h
@@ -20,16 +20,16 @@
* extension libraries. They could be written in C++98.
* @brief Our own, locale independent, character handling routines.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <ctype.h>
#endif
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/dllexport.h"
#ifndef ISPRINT
# define ISASCII rb_isascii
diff --git a/include/ruby/impl/dllexport.h b/include/ruby/impl/dllexport.h
index 5d6ae28d41..dfe3986fe2 100644
--- a/include/ruby/impl/dllexport.h
+++ b/include/ruby/impl/dllexport.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Tewaking visibility of C variables/functions.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/compiler_is.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/compiler_is.h"
/* For MinGW, we need __declspec(dllimport) for RUBY_EXTERN on MJIT.
mswin's RUBY_EXTERN already has that. See also: win32/Makefile.sub */
diff --git a/include/ruby/impl/error.h b/include/ruby/impl/error.h
index 49892199d4..0201c10374 100644
--- a/include/ruby/impl/error.h
+++ b/include/ruby/impl/error.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Declares ::rb_raise().
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/attributes.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/eval.h b/include/ruby/impl/eval.h
index d438581bd6..f2fa368c3d 100644
--- a/include/ruby/impl/eval.h
+++ b/include/ruby/impl/eval.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Declares ::rb_eval_string().
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/event.h b/include/ruby/impl/event.h
index 83f6709031..f2717cec8d 100644
--- a/include/ruby/impl/event.h
+++ b/include/ruby/impl/event.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Debugging and tracing APIs.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/fl_type.h b/include/ruby/impl/fl_type.h
index 6366e7037c..ec8ae3fe5d 100644
--- a/include/ruby/impl/fl_type.h
+++ b/include/ruby/impl/fl_type.h
@@ -20,19 +20,19 @@
* extension libraries. They could be written in C++98.
* @brief Defines enum ::ruby_fl_type.
*/
-#include "ruby/3/config.h" /* for ENUM_OVER_INT */
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/flag_enum.h"
-#include "ruby/3/attr/forceinline.h"
-#include "ruby/3/attr/noalias.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/config.h" /* for ENUM_OVER_INT */
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/flag_enum.h"
+#include "ruby/impl/attr/forceinline.h"
+#include "ruby/impl/attr/noalias.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
#include "ruby/assert.h"
#include "ruby/defines.h"
diff --git a/include/ruby/impl/gc.h b/include/ruby/impl/gc.h
index c4ce87b319..7123612533 100644
--- a/include/ruby/impl/gc.h
+++ b/include/ruby/impl/gc.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Registering values to the GC.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/glob.h b/include/ruby/impl/glob.h
index e09db760f8..68e8ed0c2d 100644
--- a/include/ruby/impl/glob.h
+++ b/include/ruby/impl/glob.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Declares ::rb_glob().
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/globals.h b/include/ruby/impl/globals.h
index 504058f1bc..6c1edaa1cb 100644
--- a/include/ruby/impl/globals.h
+++ b/include/ruby/impl/globals.h
@@ -20,12 +20,12 @@
* extension libraries. They could be written in C++98.
* @brief Ruby-level global variables / constants, visible from C.
*/
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/has/attribute.h b/include/ruby/impl/has/attribute.h
index 8fa70257ce..b24d1effd2 100644
--- a/include/ruby/impl/has/attribute.h
+++ b/include/ruby/impl/has/attribute.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_HAS_ATTRIBUTE.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/token_paste.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/token_paste.h"
#if defined(__has_attribute)
# if __has_attribute(pure) || RUBY3_COMPILER_IS(GCC)
diff --git a/include/ruby/impl/has/builtin.h b/include/ruby/impl/has/builtin.h
index e3f01ed8aa..27c1c151e7 100644
--- a/include/ruby/impl/has/builtin.h
+++ b/include/ruby/impl/has/builtin.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_HAS_BUILTIN.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/token_paste.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/token_paste.h"
#if defined(__has_builtin)
# if RUBY3_COMPILER_IS(Intel)
diff --git a/include/ruby/impl/has/cpp_attribute.h b/include/ruby/impl/has/cpp_attribute.h
index 941f7ddca3..922ad6b67b 100644
--- a/include/ruby/impl/has/cpp_attribute.h
+++ b/include/ruby/impl/has/cpp_attribute.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_HAS_CPP_ATTRIBUTE.
*/
-#include "ruby/3/compiler_is.h"
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/token_paste.h"
+#include "ruby/impl/compiler_is.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/token_paste.h"
/** @cond INTERNAL_MACRO */
#if defined(__has_cpp_attribute)
diff --git a/include/ruby/impl/has/declspec_attribute.h b/include/ruby/impl/has/declspec_attribute.h
index 33bd3cb6ee..317bd9989a 100644
--- a/include/ruby/impl/has/declspec_attribute.h
+++ b/include/ruby/impl/has/declspec_attribute.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_HAS_DECLSPEC_ATTRIBUTE.
*/
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/token_paste.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/token_paste.h"
/** Wraps (or simulates) `__has_declspec_attribute`. */
#if defined(__has_declspec_attribute)
diff --git a/include/ruby/impl/has/extension.h b/include/ruby/impl/has/extension.h
index ed6f6d4d52..b985f6d4f8 100644
--- a/include/ruby/impl/has/extension.h
+++ b/include/ruby/impl/has/extension.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_HAS_EXTENSION.
*/
-#include "ruby/3/has/feature.h"
+#include "ruby/impl/has/feature.h"
/** Wraps (or simulates) `__has_extension`. */
#if defined(__has_extension)
diff --git a/include/ruby/impl/intern/array.h b/include/ruby/impl/intern/array.h
index bf7e1d9fab..9548fdee7b 100644
--- a/include/ruby/impl/intern/array.h
+++ b/include/ruby/impl/intern/array.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cArray.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/bignum.h b/include/ruby/impl/intern/bignum.h
index f4707f5b6d..acb44dd1d9 100644
--- a/include/ruby/impl/intern/bignum.h
+++ b/include/ruby/impl/intern/bignum.h
@@ -20,14 +20,14 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to so-called rb_cBignum.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
#endif
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/long_long.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/class.h b/include/ruby/impl/intern/class.h
index 36b873f4df..ed46501450 100644
--- a/include/ruby/impl/intern/class.h
+++ b/include/ruby/impl/intern/class.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cClass/::rb_cModule.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/stdarg.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/compar.h b/include/ruby/impl/intern/compar.h
index 22240680c5..89547051ed 100644
--- a/include/ruby/impl/intern/compar.h
+++ b/include/ruby/impl/intern/compar.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_mComparable.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/complex.h b/include/ruby/impl/intern/complex.h
index ba9fe6c288..ca6429a7c0 100644
--- a/include/ruby/impl/intern/complex.h
+++ b/include/ruby/impl/intern/complex.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cComplex.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/arithmetic/long.h" /* INT2FIX is here. */
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/arithmetic/long.h" /* INT2FIX is here. */
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/cont.h b/include/ruby/impl/intern/cont.h
index a3c340bb0a..330e1403a5 100644
--- a/include/ruby/impl/intern/cont.h
+++ b/include/ruby/impl/intern/cont.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to rb_cFiber.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/iterator.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/iterator.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/dir.h b/include/ruby/impl/intern/dir.h
index 09bef100ac..b88c20a8ad 100644
--- a/include/ruby/impl/intern/dir.h
+++ b/include/ruby/impl/intern/dir.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cDir.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/enum.h b/include/ruby/impl/intern/enum.h
index 9dafad694a..4078570fc5 100644
--- a/include/ruby/impl/intern/enum.h
+++ b/include/ruby/impl/intern/enum.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_mEnumerable.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/enumerator.h b/include/ruby/impl/intern/enumerator.h
index acd01fca18..95a095dd1e 100644
--- a/include/ruby/impl/intern/enumerator.h
+++ b/include/ruby/impl/intern/enumerator.h
@@ -20,11 +20,11 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cEnumerator.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/intern/eval.h" /* rb_frame_this_func */
-#include "ruby/3/iterator.h" /* rb_block_given_p */
-#include "ruby/3/symbol.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/intern/eval.h" /* rb_frame_this_func */
+#include "ruby/impl/iterator.h" /* rb_block_given_p */
+#include "ruby/impl/symbol.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/error.h b/include/ruby/impl/intern/error.h
index a8b854c36b..a86910b7e9 100644
--- a/include/ruby/impl/intern/error.h
+++ b/include/ruby/impl/intern/error.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_eException.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/fl_type.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/fl_type.h"
#include "ruby/backward/2/assume.h"
#include "ruby/backward/2/attributes.h"
diff --git a/include/ruby/impl/intern/eval.h b/include/ruby/impl/intern/eval.h
index 3114d00bc0..69e5a0ed8a 100644
--- a/include/ruby/impl/intern/eval.h
+++ b/include/ruby/impl/intern/eval.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Pre-1.9 era evaluator APIs (now considered miscellaneous).
*/
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/file.h b/include/ruby/impl/intern/file.h
index c87e59ea01..af3fd22e1c 100644
--- a/include/ruby/impl/intern/file.h
+++ b/include/ruby/impl/intern/file.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cFile.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/gc.h b/include/ruby/impl/intern/gc.h
index 81ff74839a..0f67a579e1 100644
--- a/include/ruby/impl/intern/gc.h
+++ b/include/ruby/impl/intern/gc.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_mGC.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/attributes.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/hash.h b/include/ruby/impl/intern/hash.h
index f8d0628b9b..a0c2382410 100644
--- a/include/ruby/impl/intern/hash.h
+++ b/include/ruby/impl/intern/hash.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cHash.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/st.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/io.h b/include/ruby/impl/intern/io.h
index f53f14c02a..450af25839 100644
--- a/include/ruby/impl/intern/io.h
+++ b/include/ruby/impl/intern/io.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cIO.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/load.h b/include/ruby/impl/intern/load.h
index 6baf6b72b6..b0b230262f 100644
--- a/include/ruby/impl/intern/load.h
+++ b/include/ruby/impl/intern/load.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_f_require().
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/marshal.h b/include/ruby/impl/intern/marshal.h
index 2028b4520a..e4bbf846dd 100644
--- a/include/ruby/impl/intern/marshal.h
+++ b/include/ruby/impl/intern/marshal.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to rb_mMarshal.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/numeric.h b/include/ruby/impl/intern/numeric.h
index ad8d984944..cd8c83694a 100644
--- a/include/ruby/impl/intern/numeric.h
+++ b/include/ruby/impl/intern/numeric.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cNumeric.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/attributes.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/object.h b/include/ruby/impl/intern/object.h
index 502fbab908..6f09657131 100644
--- a/include/ruby/impl/intern/object.h
+++ b/include/ruby/impl/intern/object.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cObject.
*/
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/parse.h b/include/ruby/impl/intern/parse.h
index 9831bdc511..7b59188383 100644
--- a/include/ruby/impl/intern/parse.h
+++ b/include/ruby/impl/intern/parse.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cSymbol.
*/
-#include "ruby/3/attr/const.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/proc.h b/include/ruby/impl/intern/proc.h
index 1b66a3b26b..7000e268df 100644
--- a/include/ruby/impl/intern/proc.h
+++ b/include/ruby/impl/intern/proc.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cProc.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/iterator.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/iterator.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/process.h b/include/ruby/impl/intern/process.h
index 1f9c6a45c9..99f5244f66 100644
--- a/include/ruby/impl/intern/process.h
+++ b/include/ruby/impl/intern/process.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_mProcess.
*/
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/config.h" /* rb_pid_t is defined here. */
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/config.h" /* rb_pid_t is defined here. */
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/random.h b/include/ruby/impl/intern/random.h
index 52bfeb0673..518eba6456 100644
--- a/include/ruby/impl/intern/random.h
+++ b/include/ruby/impl/intern/random.h
@@ -24,8 +24,8 @@
* generator", ACM Trans. on Modeling and Computer Simulation, 8
* (1): pp 3-30, 1998. https://doi.org/10.1145/272991.272995
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/range.h b/include/ruby/impl/intern/range.h
index 0ccb33abfb..c0a7297277 100644
--- a/include/ruby/impl/intern/range.h
+++ b/include/ruby/impl/intern/range.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cRange.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/rational.h b/include/ruby/impl/intern/rational.h
index fde0e37e19..f2cd292136 100644
--- a/include/ruby/impl/intern/rational.h
+++ b/include/ruby/impl/intern/rational.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cRational.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/arithmetic/long.h" /* INT2FIX is here. */
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/arithmetic/long.h" /* INT2FIX is here. */
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/re.h b/include/ruby/impl/intern/re.h
index cc1e2539ea..bdec97e208 100644
--- a/include/ruby/impl/intern/re.h
+++ b/include/ruby/impl/intern/re.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cRegexp.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/ruby.h b/include/ruby/impl/intern/ruby.h
index 730a032975..fbf4bf67b8 100644
--- a/include/ruby/impl/intern/ruby.h
+++ b/include/ruby/impl/intern/ruby.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Process-global APIs.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/select.h b/include/ruby/impl/intern/select.h
index c9c47d1a68..bdbb289b49 100644
--- a/include/ruby/impl/intern/select.h
+++ b/include/ruby/impl/intern/select.h
@@ -22,22 +22,22 @@
* @note Functions and structs defined in this header file are not
* necessarily ruby-specific. They don't need ::VALUE etc.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_SYS_TYPES_H
# include <sys/types.h> /* for NFDBITS (BSD Net/2) */
#endif
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dllexport.h"
/* thread.c */
#if defined(NFDBITS) && defined(HAVE_RB_FD_INIT)
-# include "ruby/3/intern/select/largesize.h"
+# include "ruby/impl/intern/select/largesize.h"
#elif defined(_WIN32)
-# include "ruby/3/intern/select/win32.h"
+# include "ruby/impl/intern/select/win32.h"
# define rb_fd_resize(n, f) ((void)(f))
#else
-# include "ruby/3/intern/select/posix.h"
+# include "ruby/impl/intern/select/posix.h"
# define rb_fd_resize(n, f) ((void)(f))
#endif
diff --git a/include/ruby/impl/intern/select/largesize.h b/include/ruby/impl/intern/select/largesize.h
index b54ac116dd..7822e90dbe 100644
--- a/include/ruby/impl/intern/select/largesize.h
+++ b/include/ruby/impl/intern/select/largesize.h
@@ -55,9 +55,9 @@
*
* So `rb_fd_set` doesn't reject file descriptors bigger than `FD_SETSIZE`.
*/
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/dllexport.h"
/**@cond INTERNAL_MACRO */
#define rb_fd_ptr rb_fd_ptr
diff --git a/include/ruby/impl/intern/select/posix.h b/include/ruby/impl/intern/select/posix.h
index 156962c0bb..4e63b4c87a 100644
--- a/include/ruby/impl/intern/select/posix.h
+++ b/include/ruby/impl/intern/select/posix.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs to provide ::rb_fd_select().
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_SYS_SELECT_H
# include <sys/select.h> /* for select(2) (modern POSIX) */
@@ -30,8 +30,8 @@
# include <unistd.h> /* for select(2) (archaic UNIX) */
#endif
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/attr/const.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/attr/const.h"
typedef fd_set rb_fdset_t;
diff --git a/include/ruby/impl/intern/select/win32.h b/include/ruby/impl/intern/select/win32.h
index fb42b5e77d..85289072cb 100644
--- a/include/ruby/impl/intern/select/win32.h
+++ b/include/ruby/impl/intern/select/win32.h
@@ -20,11 +20,11 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs to provide ::rb_fd_select().
*/
-#include "ruby/3/dosish.h" /* for rb_w32_select */
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/attr/noalias.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dosish.h" /* for rb_w32_select */
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/attr/noalias.h"
+#include "ruby/impl/dllexport.h"
#include "ruby/assert.h"
/**@cond INTERNAL_MACRO */
diff --git a/include/ruby/impl/intern/signal.h b/include/ruby/impl/intern/signal.h
index 09a2f1df1b..2e7390a7e6 100644
--- a/include/ruby/impl/intern/signal.h
+++ b/include/ruby/impl/intern/signal.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Signal handling APIs.
*/
-#include "ruby/3/config.h" /* POSIX_SIGNAL / RETSIGTYPE */
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/config.h" /* POSIX_SIGNAL / RETSIGTYPE */
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/sprintf.h b/include/ruby/impl/intern/sprintf.h
index 908d88c691..68c3dcedc8 100644
--- a/include/ruby/impl/intern/sprintf.h
+++ b/include/ruby/impl/intern/sprintf.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Our own private printf(3).
*/
-#include "ruby/3/attr/format.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/format.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/string.h b/include/ruby/impl/intern/string.h
index 37e8d4d992..cab553ddb4 100644
--- a/include/ruby/impl/intern/string.h
+++ b/include/ruby/impl/intern/string.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cString.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
@@ -34,12 +34,12 @@
# include <stdint.h>
#endif
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/constant_p.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/variable.h" /* rb_gvar_setter_t */
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/constant_p.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/variable.h" /* rb_gvar_setter_t */
#include "ruby/st.h" /* st_index_t */
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/struct.h b/include/ruby/impl/intern/struct.h
index cf99d15747..281292dfed 100644
--- a/include/ruby/impl/intern/struct.h
+++ b/include/ruby/impl/intern/struct.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cStruct.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/intern/vm.h" /* rb_alloc_func_t */
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/intern/vm.h" /* rb_alloc_func_t */
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/thread.h b/include/ruby/impl/intern/thread.h
index afd63507f4..e35de61fba 100644
--- a/include/ruby/impl/intern/thread.h
+++ b/include/ruby/impl/intern/thread.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cThread.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/time.h b/include/ruby/impl/intern/time.h
index a895bc0848..cc9b689e9c 100644
--- a/include/ruby/impl/intern/time.h
+++ b/include/ruby/impl/intern/time.h
@@ -20,14 +20,14 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cTime.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_TIME_H
# include <time.h> /* for time_t */
#endif
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/variable.h b/include/ruby/impl/intern/variable.h
index 7183219fc0..6885448e8b 100644
--- a/include/ruby/impl/intern/variable.h
+++ b/include/ruby/impl/intern/variable.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to names inside of a Ruby program.
*/
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/st.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/intern/vm.h b/include/ruby/impl/intern/vm.h
index 985971c28a..52a7a4619a 100644
--- a/include/ruby/impl/intern/vm.h
+++ b/include/ruby/impl/intern/vm.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Public APIs related to ::rb_cRubyVM.
*/
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/interpreter.h b/include/ruby/impl/interpreter.h
index d9a4aee2c0..c9282d4a8a 100644
--- a/include/ruby/impl/interpreter.h
+++ b/include/ruby/impl/interpreter.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Interpreter embedding APIs.
*/
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/iterator.h b/include/ruby/impl/iterator.h
index 9c39efc300..621f4c6758 100644
--- a/include/ruby/impl/iterator.h
+++ b/include/ruby/impl/iterator.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief Block related APIs.
*/
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/memory.h b/include/ruby/impl/memory.h
index 2edab9a1fb..5c9a3c9c14 100644
--- a/include/ruby/impl/memory.h
+++ b/include/ruby/impl/memory.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Memory management stuff.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
@@ -43,20 +43,20 @@
# pragma intrinsic(_umul128)
#endif
-#include "ruby/3/attr/alloc_size.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/attr/noalias.h"
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/attr/restrict.h"
-#include "ruby/3/attr/returns_nonnull.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/has/builtin.h"
-#include "ruby/3/stdalign.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/xmalloc.h"
+#include "ruby/impl/attr/alloc_size.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/attr/noalias.h"
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/attr/restrict.h"
+#include "ruby/impl/attr/returns_nonnull.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/has/builtin.h"
+#include "ruby/impl/stdalign.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/xmalloc.h"
#include "ruby/backward/2/limits.h"
#include "ruby/backward/2/long_long.h"
#include "ruby/backward/2/assume.h"
diff --git a/include/ruby/impl/method.h b/include/ruby/impl/method.h
index dc6e32078b..b630d9b853 100644
--- a/include/ruby/impl/method.h
+++ b/include/ruby/impl/method.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Creation and modification of Ruby methods.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
#include "ruby/backward/2/stdarg.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/module.h b/include/ruby/impl/module.h
index cbd45f8efe..23c001e676 100644
--- a/include/ruby/impl/module.h
+++ b/include/ruby/impl/module.h
@@ -20,8 +20,8 @@
* extension libraries. They could be written in C++98.
* @brief Creation and modification of Ruby modules.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/newobj.h b/include/ruby/impl/newobj.h
index 2ad48a66f6..38f53145b1 100644
--- a/include/ruby/impl/newobj.h
+++ b/include/ruby/impl/newobj.h
@@ -20,12 +20,12 @@
* extension libraries. They could be written in C++98.
* @brief Defines #NEWOBJ.
*/
-#include "ruby/3/cast.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#define RB_NEWOBJ(obj,type) type *(obj) = RUBY3_CAST((type *)rb_newobj())
diff --git a/include/ruby/impl/rgengc.h b/include/ruby/impl/rgengc.h
index 4f321375f3..7911609154 100644
--- a/include/ruby/impl/rgengc.h
+++ b/include/ruby/impl/rgengc.h
@@ -24,12 +24,12 @@
* International Symposium on Memory Management (ISMM 2019), pp
* 115-121, 2019. https://doi.org/10.1145/3315573.3329986
*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#include "ruby/backward/2/attributes.h"
diff --git a/include/ruby/impl/scan_args.h b/include/ruby/impl/scan_args.h
index 409cef909f..ceb53a0dd4 100644
--- a/include/ruby/impl/scan_args.h
+++ b/include/ruby/impl/scan_args.h
@@ -23,21 +23,21 @@
* This is a beast. It statically analyses the argument spec string, and
* expands the assignment of variables into dedicated codes.
*/
-#include "ruby/3/attr/diagnose_if.h"
-#include "ruby/3/attr/error.h"
-#include "ruby/3/attr/forceinline.h"
-#include "ruby/3/attr/noreturn.h"
-#include "ruby/3/config.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/intern/array.h" /* rb_ary_new_from_values */
-#include "ruby/3/intern/error.h" /* rb_error_arity */
-#include "ruby/3/intern/hash.h" /* rb_hash_dup */
-#include "ruby/3/intern/proc.h" /* rb_block_proc */
-#include "ruby/3/iterator.h" /* rb_block_given_p / rb_keyword_given_p */
-#include "ruby/3/static_assert.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/diagnose_if.h"
+#include "ruby/impl/attr/error.h"
+#include "ruby/impl/attr/forceinline.h"
+#include "ruby/impl/attr/noreturn.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/intern/array.h" /* rb_ary_new_from_values */
+#include "ruby/impl/intern/error.h" /* rb_error_arity */
+#include "ruby/impl/intern/hash.h" /* rb_hash_dup */
+#include "ruby/impl/intern/proc.h" /* rb_block_proc */
+#include "ruby/impl/iterator.h" /* rb_block_given_p / rb_keyword_given_p */
+#include "ruby/impl/static_assert.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#define RB_SCAN_ARGS_PASS_CALLED_KEYWORDS 0
diff --git a/include/ruby/impl/special_consts.h b/include/ruby/impl/special_consts.h
index 3ef7b57a98..ba2fbebb42 100644
--- a/include/ruby/impl/special_consts.h
+++ b/include/ruby/impl/special_consts.h
@@ -24,12 +24,12 @@
* SIGPPL Workshop on Programming and Programming Languages
* (PPL2008), pp. 9-16, 2008.
*/
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/const.h"
-#include "ruby/3/attr/constexpr.h"
-#include "ruby/3/attr/enum_extensibility.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/const.h"
+#include "ruby/impl/attr/constexpr.h"
+#include "ruby/impl/attr/enum_extensibility.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value.h"
#if defined(USE_FLONUM)
# /* Take that. */
diff --git a/include/ruby/impl/static_assert.h b/include/ruby/impl/static_assert.h
index 5d0e84c439..0a971a9630 100644
--- a/include/ruby/impl/static_assert.h
+++ b/include/ruby/impl/static_assert.h
@@ -21,8 +21,8 @@
* @brief Defines #RUBY3_STATIC_ASSERT.
*/
#include <assert.h>
-#include "ruby/3/has/extension.h"
-#include "ruby/3/compiler_since.h"
+#include "ruby/impl/has/extension.h"
+#include "ruby/impl/compiler_since.h"
/** @cond INTERNAL_MACRO */
#if defined(__cplusplus) && defined(__cpp_static_assert)
diff --git a/include/ruby/impl/stdalign.h b/include/ruby/impl/stdalign.h
index dab020b735..838437619b 100644
--- a/include/ruby/impl/stdalign.h
+++ b/include/ruby/impl/stdalign.h
@@ -20,18 +20,18 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_ALIGNAS / #RUBY3_ALIGNOF
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_STDALIGN_H
# include <stdalign.h>
#endif
-#include "ruby/3/compiler_is.h"
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/feature.h"
-#include "ruby/3/has/extension.h"
-#include "ruby/3/has/attribute.h"
-#include "ruby/3/has/declspec_attribute.h"
+#include "ruby/impl/compiler_is.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/feature.h"
+#include "ruby/impl/has/extension.h"
+#include "ruby/impl/has/attribute.h"
+#include "ruby/impl/has/declspec_attribute.h"
/**
* Wraps (or simulates) `alignas`. This is C++11's `alignas` and is _different_
diff --git a/include/ruby/impl/stdbool.h b/include/ruby/impl/stdbool.h
index 9216f54e2d..df7ebc3cc0 100644
--- a/include/ruby/impl/stdbool.h
+++ b/include/ruby/impl/stdbool.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief C99 shim for <stdbool.h>
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#if defined(__bool_true_false_are_defined)
# /* Take that. */
diff --git a/include/ruby/impl/symbol.h b/include/ruby/impl/symbol.h
index 2d890901c4..911015a3c2 100644
--- a/include/ruby/impl/symbol.h
+++ b/include/ruby/impl/symbol.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines #rb_intern
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_STDDEF_H
# include <stddef.h>
@@ -30,14 +30,14 @@
# include <string.h>
#endif
-#include "ruby/3/attr/nonnull.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/attr/noalias.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/constant_p.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/has/builtin.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/attr/nonnull.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/attr/noalias.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/constant_p.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/has/builtin.h"
+#include "ruby/impl/value.h"
#define RB_ID2SYM rb_id2sym
#define RB_SYM2ID rb_sym2id
diff --git a/include/ruby/impl/token_paste.h b/include/ruby/impl/token_paste.h
index 8c765ef706..82ae8df8a7 100644
--- a/include/ruby/impl/token_paste.h
+++ b/include/ruby/impl/token_paste.h
@@ -20,10 +20,10 @@
* extension libraries. They could be written in C++98.
* @brief Defines #RUBY3_TOKEN_PASTE.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/compiler_since.h"
-#include "ruby/3/has/warning.h"
-#include "ruby/3/warning_push.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/compiler_since.h"
+#include "ruby/impl/has/warning.h"
+#include "ruby/impl/warning_push.h"
/* :TODO: add your compiler here. There are many compilers that can suppress
* warnings via pragmas, but not all of them accept such things inside of `#if`
diff --git a/include/ruby/impl/value.h b/include/ruby/impl/value.h
index 99189a4f0e..26e01fa41c 100644
--- a/include/ruby/impl/value.h
+++ b/include/ruby/impl/value.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Defines ::VALUE and ::ID.
*/
-#include "ruby/3/static_assert.h"
+#include "ruby/impl/static_assert.h"
#include "ruby/backward/2/long_long.h"
#include "ruby/backward/2/limits.h"
diff --git a/include/ruby/impl/value_type.h b/include/ruby/impl/value_type.h
index 8598dfd7e8..f83f451484 100644
--- a/include/ruby/impl/value_type.h
+++ b/include/ruby/impl/value_type.h
@@ -20,20 +20,20 @@
* extension libraries. They could be written in C++98.
* @brief Defines enum ::ruby_value_type.
*/
-#include "ruby/3/assume.h"
-#include "ruby/3/attr/artificial.h"
-#include "ruby/3/attr/cold.h"
-#include "ruby/3/attr/enum_extensibility.h"
-#include "ruby/3/attr/forceinline.h"
-#include "ruby/3/attr/pure.h"
-#include "ruby/3/cast.h"
-#include "ruby/3/constant_p.h"
-#include "ruby/3/core/rbasic.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/has/builtin.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/stdbool.h"
-#include "ruby/3/value.h"
+#include "ruby/impl/assume.h"
+#include "ruby/impl/attr/artificial.h"
+#include "ruby/impl/attr/cold.h"
+#include "ruby/impl/attr/enum_extensibility.h"
+#include "ruby/impl/attr/forceinline.h"
+#include "ruby/impl/attr/pure.h"
+#include "ruby/impl/cast.h"
+#include "ruby/impl/constant_p.h"
+#include "ruby/impl/core/rbasic.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/has/builtin.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/stdbool.h"
+#include "ruby/impl/value.h"
#include "ruby/assert.h"
#if defined(T_DATA)
@@ -321,7 +321,7 @@ RB_TYPE_P(VALUE obj, enum ruby_value_type t)
RUBY3_ATTR_PURE()
RUBY3_ATTR_ARTIFICIAL()
-/* Defined in ruby/3/core/rtypeddata.h */
+/* Defined in ruby/impl/core/rtypeddata.h */
static inline bool ruby3_rtypeddata_p(VALUE obj);
RUBY3_ATTR_ARTIFICIAL()
diff --git a/include/ruby/impl/variable.h b/include/ruby/impl/variable.h
index 942c9865f4..8ebf9c87e1 100644
--- a/include/ruby/impl/variable.h
+++ b/include/ruby/impl/variable.h
@@ -20,9 +20,9 @@
* extension libraries. They could be written in C++98.
* @brief C-function backended Ruby-global variables.
*/
-#include "ruby/3/dllexport.h"
-#include "ruby/3/value.h"
-#include "ruby/3/attr/noreturn.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/attr/noreturn.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/impl/warning_push.h b/include/ruby/impl/warning_push.h
index 2affb3abb1..14fd7ba139 100644
--- a/include/ruby/impl/warning_push.h
+++ b/include/ruby/impl/warning_push.h
@@ -43,8 +43,8 @@
* RUBY3_WARNING_POP()
* ```
*/
-#include "ruby/3/compiler_is.h"
-#include "ruby/3/compiler_since.h"
+#include "ruby/impl/compiler_is.h"
+#include "ruby/impl/compiler_since.h"
#if RUBY3_COMPILER_SINCE(MSVC, 12, 0, 0)
# /* Not sure exactly when but it seems VC++ 6.0 is a version with it.*/
diff --git a/include/ruby/impl/xmalloc.h b/include/ruby/impl/xmalloc.h
index ecf9addc9e..9e4e2867c9 100644
--- a/include/ruby/impl/xmalloc.h
+++ b/include/ruby/impl/xmalloc.h
@@ -20,7 +20,7 @@
* extension libraries. They could be written in C++98.
* @brief Declares ::ruby_xmalloc().
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
@@ -30,12 +30,12 @@
# include <stdlib.h>
#endif
-#include "ruby/3/attr/alloc_size.h"
-#include "ruby/3/attr/nodiscard.h"
-#include "ruby/3/attr/noexcept.h"
-#include "ruby/3/attr/restrict.h"
-#include "ruby/3/attr/returns_nonnull.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/attr/alloc_size.h"
+#include "ruby/impl/attr/nodiscard.h"
+#include "ruby/impl/attr/noexcept.h"
+#include "ruby/impl/attr/restrict.h"
+#include "ruby/impl/attr/returns_nonnull.h"
+#include "ruby/impl/dllexport.h"
#ifndef USE_GC_MALLOC_OBJ_INFO_DETAILS
# define USE_GC_MALLOC_OBJ_INFO_DETAILS 0
diff --git a/include/ruby/intern.h b/include/ruby/intern.h
index 60b7b450ed..38a48edf19 100644
--- a/include/ruby/intern.h
+++ b/include/ruby/intern.h
@@ -12,7 +12,7 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#include "ruby/defines.h"
#ifdef HAVE_STDARG_PROTOTYPES
@@ -28,41 +28,41 @@
* the kernel.
*/
-#include "ruby/3/intern/array.h"
-#include "ruby/3/intern/bignum.h"
-#include "ruby/3/intern/class.h"
-#include "ruby/3/intern/compar.h"
-#include "ruby/3/intern/complex.h"
-#include "ruby/3/intern/cont.h"
-#include "ruby/3/intern/dir.h"
-#include "ruby/3/intern/enum.h"
-#include "ruby/3/intern/enumerator.h"
-#include "ruby/3/intern/error.h"
-#include "ruby/3/intern/eval.h"
-#include "ruby/3/intern/file.h"
-#include "ruby/3/intern/gc.h"
-#include "ruby/3/intern/hash.h"
-#include "ruby/3/intern/io.h"
-#include "ruby/3/intern/load.h"
-#include "ruby/3/intern/marshal.h"
-#include "ruby/3/intern/numeric.h"
-#include "ruby/3/intern/object.h"
-#include "ruby/3/intern/parse.h"
-#include "ruby/3/intern/proc.h"
-#include "ruby/3/intern/process.h"
-#include "ruby/3/intern/random.h"
-#include "ruby/3/intern/range.h"
-#include "ruby/3/intern/rational.h"
-#include "ruby/3/intern/re.h"
-#include "ruby/3/intern/ruby.h"
-#include "ruby/3/intern/select.h"
-#include "ruby/3/intern/signal.h"
-#include "ruby/3/intern/sprintf.h"
-#include "ruby/3/intern/string.h"
-#include "ruby/3/intern/struct.h"
-#include "ruby/3/intern/thread.h"
-#include "ruby/3/intern/time.h"
-#include "ruby/3/intern/variable.h"
-#include "ruby/3/intern/vm.h"
+#include "ruby/impl/intern/array.h"
+#include "ruby/impl/intern/bignum.h"
+#include "ruby/impl/intern/class.h"
+#include "ruby/impl/intern/compar.h"
+#include "ruby/impl/intern/complex.h"
+#include "ruby/impl/intern/cont.h"
+#include "ruby/impl/intern/dir.h"
+#include "ruby/impl/intern/enum.h"
+#include "ruby/impl/intern/enumerator.h"
+#include "ruby/impl/intern/error.h"
+#include "ruby/impl/intern/eval.h"
+#include "ruby/impl/intern/file.h"
+#include "ruby/impl/intern/gc.h"
+#include "ruby/impl/intern/hash.h"
+#include "ruby/impl/intern/io.h"
+#include "ruby/impl/intern/load.h"
+#include "ruby/impl/intern/marshal.h"
+#include "ruby/impl/intern/numeric.h"
+#include "ruby/impl/intern/object.h"
+#include "ruby/impl/intern/parse.h"
+#include "ruby/impl/intern/proc.h"
+#include "ruby/impl/intern/process.h"
+#include "ruby/impl/intern/random.h"
+#include "ruby/impl/intern/range.h"
+#include "ruby/impl/intern/rational.h"
+#include "ruby/impl/intern/re.h"
+#include "ruby/impl/intern/ruby.h"
+#include "ruby/impl/intern/select.h"
+#include "ruby/impl/intern/signal.h"
+#include "ruby/impl/intern/sprintf.h"
+#include "ruby/impl/intern/string.h"
+#include "ruby/impl/intern/struct.h"
+#include "ruby/impl/intern/thread.h"
+#include "ruby/impl/intern/time.h"
+#include "ruby/impl/intern/variable.h"
+#include "ruby/impl/intern/vm.h"
#endif /* RUBY_INTERN_H */
diff --git a/include/ruby/io.h b/include/ruby/io.h
index abf0d70c16..ca69c39b84 100644
--- a/include/ruby/io.h
+++ b/include/ruby/io.h
@@ -10,7 +10,7 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#include <stdio.h>
#include "ruby/encoding.h"
@@ -41,7 +41,7 @@
# define RB_WAITFD_OUT 0x004
#endif
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dllexport.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
PACKED_STRUCT_UNALIGNED(struct rb_io_buffer_t {
diff --git a/include/ruby/missing.h b/include/ruby/missing.h
index a2d82f0746..db8e1e5bc0 100644
--- a/include/ruby/missing.h
+++ b/include/ruby/missing.h
@@ -10,7 +10,7 @@
* file COPYING are met. Consult the file for details.
* @brief Prototype for *.c in ./missing, and for missing timeval struct.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef STDC_HEADERS
# include <stddef.h>
@@ -38,7 +38,7 @@
# include <ieeefp.h>
#endif
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dllexport.h"
#ifndef M_PI
# define M_PI 3.14159265358979323846
diff --git a/include/ruby/re.h b/include/ruby/re.h
index dc14799ae7..e1f2cd9d04 100644
--- a/include/ruby/re.h
+++ b/include/ruby/re.h
@@ -10,13 +10,13 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#include <sys/types.h>
#include <stdio.h>
#include "ruby/regex.h"
-#include "ruby/3/core/rmatch.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/core/rmatch.h"
+#include "ruby/impl/dllexport.h"
RUBY3_SYMBOL_EXPORT_BEGIN()
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index 573dc19889..c0aa8473e1 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -12,7 +12,7 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
+#include "ruby/impl/config.h"
#ifdef HAVE_INTRINSICS_H
# include <intrinsics.h>
@@ -21,32 +21,32 @@
#include <stdarg.h>
#include "defines.h"
-#include "ruby/3/anyargs.h"
-#include "ruby/3/arithmetic.h"
-#include "ruby/3/core.h"
-#include "ruby/3/ctype.h"
-#include "ruby/3/dllexport.h"
-#include "ruby/3/error.h"
-#include "ruby/3/eval.h"
-#include "ruby/3/event.h"
-#include "ruby/3/fl_type.h"
-#include "ruby/3/gc.h"
-#include "ruby/3/glob.h"
-#include "ruby/3/globals.h"
-#include "ruby/3/has/warning.h"
-#include "ruby/3/interpreter.h"
-#include "ruby/3/iterator.h"
-#include "ruby/3/memory.h"
-#include "ruby/3/method.h"
-#include "ruby/3/module.h"
-#include "ruby/3/newobj.h"
-#include "ruby/3/rgengc.h"
-#include "ruby/3/scan_args.h"
-#include "ruby/3/special_consts.h"
-#include "ruby/3/symbol.h"
-#include "ruby/3/value.h"
-#include "ruby/3/value_type.h"
-#include "ruby/3/variable.h"
+#include "ruby/impl/anyargs.h"
+#include "ruby/impl/arithmetic.h"
+#include "ruby/impl/core.h"
+#include "ruby/impl/ctype.h"
+#include "ruby/impl/dllexport.h"
+#include "ruby/impl/error.h"
+#include "ruby/impl/eval.h"
+#include "ruby/impl/event.h"
+#include "ruby/impl/fl_type.h"
+#include "ruby/impl/gc.h"
+#include "ruby/impl/glob.h"
+#include "ruby/impl/globals.h"
+#include "ruby/impl/has/warning.h"
+#include "ruby/impl/interpreter.h"
+#include "ruby/impl/iterator.h"
+#include "ruby/impl/memory.h"
+#include "ruby/impl/method.h"
+#include "ruby/impl/module.h"
+#include "ruby/impl/newobj.h"
+#include "ruby/impl/rgengc.h"
+#include "ruby/impl/scan_args.h"
+#include "ruby/impl/special_consts.h"
+#include "ruby/impl/symbol.h"
+#include "ruby/impl/value.h"
+#include "ruby/impl/value_type.h"
+#include "ruby/impl/variable.h"
#include "ruby/assert.h"
#include "ruby/backward/2/assume.h"
#include "ruby/backward/2/inttypes.h"
diff --git a/include/ruby/thread.h b/include/ruby/thread.h
index 8ff3ae77aa..bf694f66ce 100644
--- a/include/ruby/thread.h
+++ b/include/ruby/thread.h
@@ -11,7 +11,7 @@
* file COPYING are met. Consult the file for details.
*/
#include "ruby/intern.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dllexport.h"
/* flags for rb_nogvl */
#define RB_NOGVL_INTR_FAIL (0x1)
diff --git a/include/ruby/util.h b/include/ruby/util.h
index ff089bb426..b0d916d7d4 100644
--- a/include/ruby/util.h
+++ b/include/ruby/util.h
@@ -10,8 +10,8 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/config.h"
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/config.h"
+#include "ruby/impl/dllexport.h"
#include "ruby/defines.h"
#ifndef _
diff --git a/include/ruby/vm.h b/include/ruby/vm.h
index 79d0b6c846..8c8fe2db16 100644
--- a/include/ruby/vm.h
+++ b/include/ruby/vm.h
@@ -10,7 +10,7 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/3/dllexport.h"
+#include "ruby/impl/dllexport.h"
RUBY3_SYMBOL_EXPORT_BEGIN()