diff options
40 files changed, 57 insertions, 21 deletions
@@ -3878,6 +3878,7 @@ dir.$(OBJEXT): {$(VPATH)}3/variable.h dir.$(OBJEXT): {$(VPATH)}3/warning_push.h dir.$(OBJEXT): {$(VPATH)}3/xmalloc.h dir.$(OBJEXT): {$(VPATH)}assert.h +dir.$(OBJEXT): {$(VPATH)}builtin.h dir.$(OBJEXT): {$(VPATH)}backward/2/assume.h dir.$(OBJEXT): {$(VPATH)}backward/2/attributes.h dir.$(OBJEXT): {$(VPATH)}backward/2/bool.h @@ -3890,7 +3891,6 @@ dir.$(OBJEXT): {$(VPATH)}backward/2/r_cast.h dir.$(OBJEXT): {$(VPATH)}backward/2/rmodule.h dir.$(OBJEXT): {$(VPATH)}backward/2/stdalign.h dir.$(OBJEXT): {$(VPATH)}backward/2/stdarg.h -dir.$(OBJEXT): {$(VPATH)}builtin.h dir.$(OBJEXT): {$(VPATH)}config.h dir.$(OBJEXT): {$(VPATH)}defines.h dir.$(OBJEXT): {$(VPATH)}dir.c @@ -5416,10 +5416,6 @@ explicit_bzero.$(OBJEXT): {$(VPATH)}3/compiler_is/sunpro.h explicit_bzero.$(OBJEXT): {$(VPATH)}3/compiler_since.h explicit_bzero.$(OBJEXT): {$(VPATH)}3/config.h explicit_bzero.$(OBJEXT): {$(VPATH)}3/dllexport.h -explicit_bzero.$(OBJEXT): {$(VPATH)}3/has/attribute.h -explicit_bzero.$(OBJEXT): {$(VPATH)}3/has/warning.h -explicit_bzero.$(OBJEXT): {$(VPATH)}3/token_paste.h -explicit_bzero.$(OBJEXT): {$(VPATH)}3/warning_push.h explicit_bzero.$(OBJEXT): {$(VPATH)}config.h explicit_bzero.$(OBJEXT): {$(VPATH)}explicit_bzero.c explicit_bzero.$(OBJEXT): {$(VPATH)}missing.h @@ -11782,10 +11778,6 @@ ruby-runner.$(OBJEXT): {$(VPATH)}3/compiler_is/msvc.h ruby-runner.$(OBJEXT): {$(VPATH)}3/compiler_is/sunpro.h ruby-runner.$(OBJEXT): {$(VPATH)}3/compiler_since.h ruby-runner.$(OBJEXT): {$(VPATH)}3/config.h -ruby-runner.$(OBJEXT): {$(VPATH)}3/has/attribute.h -ruby-runner.$(OBJEXT): {$(VPATH)}3/has/warning.h -ruby-runner.$(OBJEXT): {$(VPATH)}3/token_paste.h -ruby-runner.$(OBJEXT): {$(VPATH)}3/warning_push.h ruby-runner.$(OBJEXT): {$(VPATH)}config.h ruby-runner.$(OBJEXT): {$(VPATH)}ruby-runner.c ruby-runner.$(OBJEXT): {$(VPATH)}ruby-runner.h @@ -13089,10 +13081,6 @@ strlcat.$(OBJEXT): {$(VPATH)}3/compiler_is/sunpro.h strlcat.$(OBJEXT): {$(VPATH)}3/compiler_since.h strlcat.$(OBJEXT): {$(VPATH)}3/config.h strlcat.$(OBJEXT): {$(VPATH)}3/dllexport.h -strlcat.$(OBJEXT): {$(VPATH)}3/has/attribute.h -strlcat.$(OBJEXT): {$(VPATH)}3/has/warning.h -strlcat.$(OBJEXT): {$(VPATH)}3/token_paste.h -strlcat.$(OBJEXT): {$(VPATH)}3/warning_push.h strlcat.$(OBJEXT): {$(VPATH)}config.h strlcat.$(OBJEXT): {$(VPATH)}missing.h strlcat.$(OBJEXT): {$(VPATH)}strlcat.c @@ -13106,10 +13094,6 @@ strlcpy.$(OBJEXT): {$(VPATH)}3/compiler_is/sunpro.h strlcpy.$(OBJEXT): {$(VPATH)}3/compiler_since.h strlcpy.$(OBJEXT): {$(VPATH)}3/config.h strlcpy.$(OBJEXT): {$(VPATH)}3/dllexport.h -strlcpy.$(OBJEXT): {$(VPATH)}3/has/attribute.h -strlcpy.$(OBJEXT): {$(VPATH)}3/has/warning.h -strlcpy.$(OBJEXT): {$(VPATH)}3/token_paste.h -strlcpy.$(OBJEXT): {$(VPATH)}3/warning_push.h strlcpy.$(OBJEXT): {$(VPATH)}config.h strlcpy.$(OBJEXT): {$(VPATH)}missing.h strlcpy.$(OBJEXT): {$(VPATH)}strlcpy.c diff --git a/include/ruby/3/anyargs.h b/include/ruby/3/anyargs.h index 7eff1b2cc9..d85a49b8a1 100644 --- a/include/ruby/3/anyargs.h +++ b/include/ruby/3/anyargs.h @@ -72,6 +72,7 @@ #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" diff --git a/include/ruby/3/arithmetic/int.h b/include/ruby/3/arithmetic/int.h index 8c2e9f2bd8..2ebf8081f9 100644 --- a/include/ruby/3/arithmetic/int.h +++ b/include/ruby/3/arithmetic/int.h @@ -31,6 +31,7 @@ #include "ruby/3/dllexport.h" #include "ruby/3/special_consts.h" #include "ruby/3/value.h" +#include "ruby/3/warning_push.h" #include "ruby/assert.h" #define RB_INT2NUM rb_int2num_inline diff --git a/include/ruby/3/assume.h b/include/ruby/3/assume.h index 13928db934..9664f5606c 100644 --- a/include/ruby/3/assume.h +++ b/include/ruby/3/assume.h @@ -27,6 +27,7 @@ */ #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" diff --git a/include/ruby/3/attr/alloc_size.h b/include/ruby/3/attr/alloc_size.h index 251a19f7f3..5d4ece08a1 100644 --- a/include/ruby/3/attr/alloc_size.h +++ b/include/ruby/3/attr/alloc_size.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_ALLOC_SIZE. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((alloc_size))` */ #if RUBY3_HAS_ATTRIBUTE(alloc_size) diff --git a/include/ruby/3/attr/artificial.h b/include/ruby/3/attr/artificial.h index a9f305daab..f5450e3467 100644 --- a/include/ruby/3/attr/artificial.h +++ b/include/ruby/3/attr/artificial.h @@ -34,6 +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" /** Wraps (or simulates) `__attribute__((artificial))` */ #if RUBY3_HAS_ATTRIBUTE(artificial) diff --git a/include/ruby/3/attr/cold.h b/include/ruby/3/attr/cold.h index 5b5263feb0..3822f0a975 100644 --- a/include/ruby/3/attr/cold.h +++ b/include/ruby/3/attr/cold.h @@ -21,6 +21,7 @@ * @brief Defines #RUBY3_ATTR_COLD. */ #include "ruby/3/compiler_is.h" +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((cold))` */ #if RUBY3_COMPILER_IS(SunPro) diff --git a/include/ruby/3/attr/const.h b/include/ruby/3/attr/const.h index d97495c647..6c36e9aab2 100644 --- a/include/ruby/3/attr/const.h +++ b/include/ruby/3/attr/const.h @@ -20,6 +20,8 @@ * 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" /** Wraps (or simulates) `__attribute__((const))` */ diff --git a/include/ruby/3/attr/constexpr.h b/include/ruby/3/attr/constexpr.h index 582d9fd000..576ec7fb8f 100644 --- a/include/ruby/3/attr/constexpr.h +++ b/include/ruby/3/attr/constexpr.h @@ -22,6 +22,7 @@ */ #include "ruby/3/has/feature.h" #include "ruby/3/compiler_is.h" +#include "ruby/3/token_paste.h" /** @cond INTERNAL_MACRO */ #if ! defined(__cplusplus) diff --git a/include/ruby/3/attr/deprecated.h b/include/ruby/3/attr/deprecated.h index 9f939a5e8c..5c3f508ffc 100644 --- a/include/ruby/3/attr/deprecated.h +++ b/include/ruby/3/attr/deprecated.h @@ -20,6 +20,8 @@ * 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" diff --git a/include/ruby/3/attr/diagnose_if.h b/include/ruby/3/attr/diagnose_if.h index 488c3ec7ad..2f09abc94d 100644 --- a/include/ruby/3/attr/diagnose_if.h +++ b/include/ruby/3/attr/diagnose_if.h @@ -20,6 +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" /** Wraps (or simulates) `__attribute__((diagnose_if))` */ #if RUBY3_COMPILER_BEFORE(Clang, 5, 0, 0) diff --git a/include/ruby/3/attr/enum_extensibility.h b/include/ruby/3/attr/enum_extensibility.h index a56d1a54b8..15a5b063f2 100644 --- a/include/ruby/3/attr/enum_extensibility.h +++ b/include/ruby/3/attr/enum_extensibility.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief #RUBY3_ATTR_ENUM_EXTENSIBILITY. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((enum_extensibility))` */ #if RUBY3_HAS_ATTRIBUTE(enum_extensibility) diff --git a/include/ruby/3/attr/error.h b/include/ruby/3/attr/error.h index ee5e3290ae..53628259a0 100644 --- a/include/ruby/3/attr/error.h +++ b/include/ruby/3/attr/error.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_ERROR. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((error))` */ #if RUBY3_HAS_ATTRIBUTE(error) diff --git a/include/ruby/3/attr/flag_enum.h b/include/ruby/3/attr/flag_enum.h index 7165347bd7..2081c9c3ed 100644 --- a/include/ruby/3/attr/flag_enum.h +++ b/include/ruby/3/attr/flag_enum.h @@ -21,6 +21,7 @@ * @brief Defines #RUBY3_ATTR_FLAG_ENUM. * @see https://clang.llvm.org/docs/AttributeReference.html#flag_enum */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((flag_enum)` */ #if RUBY3_HAS_ATTRIBUTE(flag_enum) diff --git a/include/ruby/3/attr/forceinline.h b/include/ruby/3/attr/forceinline.h index 3c865e9c4b..bd622eddce 100644 --- a/include/ruby/3/attr/forceinline.h +++ b/include/ruby/3/attr/forceinline.h @@ -20,6 +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" /** * Wraps (or simulates) `__forceinline`. MSVC complains on declarations like diff --git a/include/ruby/3/attr/format.h b/include/ruby/3/attr/format.h index c234034afe..2624179bda 100644 --- a/include/ruby/3/attr/format.h +++ b/include/ruby/3/attr/format.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_FORMAT. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((format))` */ #if RUBY3_HAS_ATTRIBUTE(format) diff --git a/include/ruby/3/attr/maybe_unused.h b/include/ruby/3/attr/maybe_unused.h index f814804e9f..71904dffa4 100644 --- a/include/ruby/3/attr/maybe_unused.h +++ b/include/ruby/3/attr/maybe_unused.h @@ -20,6 +20,7 @@ * 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" diff --git a/include/ruby/3/attr/nodiscard.h b/include/ruby/3/attr/nodiscard.h index 0142d22bd4..6168bb9002 100644 --- a/include/ruby/3/attr/nodiscard.h +++ b/include/ruby/3/attr/nodiscard.h @@ -20,6 +20,7 @@ * 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" diff --git a/include/ruby/3/attr/noexcept.h b/include/ruby/3/attr/noexcept.h index a99ca0b35c..aff3b2cb1b 100644 --- a/include/ruby/3/attr/noexcept.h +++ b/include/ruby/3/attr/noexcept.h @@ -61,6 +61,7 @@ * 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" /** Wraps (or simulates) C++11 `noexcept` */ diff --git a/include/ruby/3/attr/noinline.h b/include/ruby/3/attr/noinline.h index e5eca8eaef..4437f8a32f 100644 --- a/include/ruby/3/attr/noinline.h +++ b/include/ruby/3/attr/noinline.h @@ -20,6 +20,7 @@ * 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" /** Wraps (or simulates) `__declspec(noinline)` */ diff --git a/include/ruby/3/attr/nonnull.h b/include/ruby/3/attr/nonnull.h index 4c2f3f1ca0..01b5820c1b 100644 --- a/include/ruby/3/attr/nonnull.h +++ b/include/ruby/3/attr/nonnull.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_NONNULL. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((nonnull))` */ #if RUBY3_HAS_ATTRIBUTE(nonnull) diff --git a/include/ruby/3/attr/noreturn.h b/include/ruby/3/attr/noreturn.h index 2b7051428d..999a76b8e5 100644 --- a/include/ruby/3/attr/noreturn.h +++ b/include/ruby/3/attr/noreturn.h @@ -20,6 +20,8 @@ * 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" diff --git a/include/ruby/3/attr/pure.h b/include/ruby/3/attr/pure.h index 038fd2abdb..b9ab3622ca 100644 --- a/include/ruby/3/attr/pure.h +++ b/include/ruby/3/attr/pure.h @@ -20,6 +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/assert.h" /** Wraps (or simulates) `__attribute__((pure))` */ diff --git a/include/ruby/3/attr/restrict.h b/include/ruby/3/attr/restrict.h index f6d7936b3a..95c85f45ce 100644 --- a/include/ruby/3/attr/restrict.h +++ b/include/ruby/3/attr/restrict.h @@ -20,6 +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" /* :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/3/attr/returns_nonnull.h b/include/ruby/3/attr/returns_nonnull.h index eb8db1d045..786e7e72ee 100644 --- a/include/ruby/3/attr/returns_nonnull.h +++ b/include/ruby/3/attr/returns_nonnull.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_RETURNS_NONNULL. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((returns_nonnull))` */ #if defined(_Ret_nonnull_) diff --git a/include/ruby/3/attr/warning.h b/include/ruby/3/attr/warning.h index 0c64e6a834..a83537e209 100644 --- a/include/ruby/3/attr/warning.h +++ b/include/ruby/3/attr/warning.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_WARNING. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((warning))` */ #if RUBY3_HAS_ATTRIBUTE(warning) diff --git a/include/ruby/3/attr/weakref.h b/include/ruby/3/attr/weakref.h index a540266219..e9c38f92e7 100644 --- a/include/ruby/3/attr/weakref.h +++ b/include/ruby/3/attr/weakref.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines #RUBY3_ATTR_WEAKREF. */ +#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((weakref))` */ #if RUBY3_HAS_ATTRIBUTE(weakref) diff --git a/include/ruby/3/cast.h b/include/ruby/3/cast.h index 7f0dce9010..254e10fee3 100644 --- a/include/ruby/3/cast.h +++ b/include/ruby/3/cast.h @@ -25,6 +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" #if ! defined(__cplusplus) # define RUBY3_CAST(expr) (expr) diff --git a/include/ruby/3/config.h b/include/ruby/3/config.h index 158e8635cb..32d50bf0d6 100644 --- a/include/ruby/3/config.h +++ b/include/ruby/3/config.h @@ -27,10 +27,6 @@ #endif #include "ruby/3/compiler_since.h" -#include "ruby/3/has/warning.h" -#include "ruby/3/has/attribute.h" -#include "ruby/3/warning_push.h" -#include "ruby/3/token_paste.h" #if defined(__cplusplus) #/* __builtin_choose_expr and __builtin_types_compatible aren't available diff --git a/include/ruby/3/core/rdata.h b/include/ruby/3/core/rdata.h index 6df6ea9e6d..383785af4c 100644 --- a/include/ruby/3/core/rdata.h +++ b/include/ruby/3/core/rdata.h @@ -32,6 +32,7 @@ #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/defines.h" diff --git a/include/ruby/3/has/attribute.h b/include/ruby/3/has/attribute.h index c8ad7da9cf..14c4ff5596 100644 --- a/include/ruby/3/has/attribute.h +++ b/include/ruby/3/has/attribute.h @@ -21,6 +21,8 @@ * @brief Defines #RUBY3_HAS_ATTRIBUTE. */ #include "ruby/3/config.h" +#include "ruby/3/compiler_since.h" +#include "ruby/3/token_paste.h" /** Wraps (or simulates) `__has_attribute`. */ #if defined(__has_attribute) diff --git a/include/ruby/3/has/builtin.h b/include/ruby/3/has/builtin.h index f1524061ae..92a528d022 100644 --- a/include/ruby/3/has/builtin.h +++ b/include/ruby/3/has/builtin.h @@ -21,6 +21,8 @@ * @brief Defines #RUBY3_HAS_BUILTIN. */ #include "ruby/3/config.h" +#include "ruby/3/compiler_since.h" +#include "ruby/3/token_paste.h" /** Wraps (or simulates) `__has_builtin`. */ #if defined(__has_builtin) && ! RUBY3_COMPILER_IS(Intel) diff --git a/include/ruby/3/has/cpp_attribute.h b/include/ruby/3/has/cpp_attribute.h index 42209c0955..941f7ddca3 100644 --- a/include/ruby/3/has/cpp_attribute.h +++ b/include/ruby/3/has/cpp_attribute.h @@ -21,6 +21,8 @@ * @brief Defines #RUBY3_HAS_CPP_ATTRIBUTE. */ #include "ruby/3/compiler_is.h" +#include "ruby/3/compiler_since.h" +#include "ruby/3/token_paste.h" /** @cond INTERNAL_MACRO */ #if defined(__has_cpp_attribute) diff --git a/include/ruby/3/has/declspec_attribute.h b/include/ruby/3/has/declspec_attribute.h index 4774eb88f2..33bd3cb6ee 100644 --- a/include/ruby/3/has/declspec_attribute.h +++ b/include/ruby/3/has/declspec_attribute.h @@ -20,6 +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" /** Wraps (or simulates) `__has_declspec_attribute`. */ #if defined(__has_declspec_attribute) diff --git a/include/ruby/3/static_assert.h b/include/ruby/3/static_assert.h index b9c842f3b6..5d0e84c439 100644 --- a/include/ruby/3/static_assert.h +++ b/include/ruby/3/static_assert.h @@ -22,6 +22,7 @@ */ #include <assert.h> #include "ruby/3/has/extension.h" +#include "ruby/3/compiler_since.h" /** @cond INTERNAL_MACRO */ #if defined(__cplusplus) && defined(__cpp_static_assert) diff --git a/include/ruby/3/stdalign.h b/include/ruby/3/stdalign.h index ccc68b66df..dab020b735 100644 --- a/include/ruby/3/stdalign.h +++ b/include/ruby/3/stdalign.h @@ -27,8 +27,10 @@ #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" /** diff --git a/include/ruby/3/token_paste.h b/include/ruby/3/token_paste.h index 4e6dbb4834..8c765ef706 100644 --- a/include/ruby/3/token_paste.h +++ b/include/ruby/3/token_paste.h @@ -21,6 +21,9 @@ * @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" /* :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/3/warning_push.h b/include/ruby/3/warning_push.h index c3384f2d75..2affb3abb1 100644 --- a/include/ruby/3/warning_push.h +++ b/include/ruby/3/warning_push.h @@ -44,6 +44,7 @@ * ``` */ #include "ruby/3/compiler_is.h" +#include "ruby/3/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/backward/2/gcc_version_since.h b/include/ruby/backward/2/gcc_version_since.h index 553b982147..03f767aedb 100644 --- a/include/ruby/backward/2/gcc_version_since.h +++ b/include/ruby/backward/2/gcc_version_since.h @@ -20,6 +20,7 @@ * extension libraries. They could be written in C++98. * @brief Defines old #GCC_VERSION_SINCE */ +#include "ruby/3/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/long_long.h b/include/ruby/backward/2/long_long.h index 2a9b9e7f40..3b2261b71f 100644 --- a/include/ruby/backward/2/long_long.h +++ b/include/ruby/backward/2/long_long.h @@ -26,6 +26,8 @@ * compatibility only. */ #include "ruby/3/config.h" +#include "ruby/3/has/warning.h" +#include "ruby/3/warning_push.h" #if RUBY3_HAS_WARNING("-Wc++11-long-long") # define HAVE_TRUE_LONG_LONG 1 |