diff options
Diffstat (limited to 'include/ruby')
40 files changed, 9 insertions, 56 deletions
diff --git a/include/ruby/3/anyargs.h b/include/ruby/3/anyargs.h index e2408d72c6..7c2aa05c21 100644 --- a/include/ruby/3/anyargs.h +++ b/include/ruby/3/anyargs.h @@ -72,7 +72,6 @@ #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 f6af085a53..36485167cc 100644 --- a/include/ruby/3/arithmetic/int.h +++ b/include/ruby/3/arithmetic/int.h @@ -31,7 +31,6 @@ #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 926c17f36d..cbd02637a2 100644 --- a/include/ruby/3/assume.h +++ b/include/ruby/3/assume.h @@ -27,7 +27,6 @@ #define RUBY3_ASSUME_H #include "ruby/3/config.h" #include "ruby/3/cast.h" -#include "ruby/3/compiler_since.h" #include "ruby/3/has/builtin.h" /** @cond INTERNAL_MACRO */ diff --git a/include/ruby/3/attr/alloc_size.h b/include/ruby/3/attr/alloc_size.h index 1b13e6f4a5..8296e9dcfd 100644 --- a/include/ruby/3/attr/alloc_size.h +++ b/include/ruby/3/attr/alloc_size.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_ALLOC_SIZE) diff --git a/include/ruby/3/attr/artificial.h b/include/ruby/3/attr/artificial.h index 7b0acab2f6..5e94a048f9 100644 --- a/include/ruby/3/attr/artificial.h +++ b/include/ruby/3/attr/artificial.h @@ -32,7 +32,6 @@ * 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 defined(RUBY3_ATTR_ARTIFICIAL) diff --git a/include/ruby/3/attr/cold.h b/include/ruby/3/attr/cold.h index 6c1093d1ff..27f92763f1 100644 --- a/include/ruby/3/attr/cold.h +++ b/include/ruby/3/attr/cold.h @@ -19,7 +19,6 @@ * @brief Defines #RUBY3_ATTR_COLD. */ #include "ruby/3/compiler_is.h" -#include "ruby/3/has/attribute.h" /** Wraps (or simulates) `__attribute__((cold))` */ #if defined(RUBY3_ATTR_COLD) diff --git a/include/ruby/3/attr/const.h b/include/ruby/3/attr/const.h index 06372db0c2..689889cb65 100644 --- a/include/ruby/3/attr/const.h +++ b/include/ruby/3/attr/const.h @@ -18,8 +18,6 @@ * 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 5c09bced49..11842d87c0 100644 --- a/include/ruby/3/attr/constexpr.h +++ b/include/ruby/3/attr/constexpr.h @@ -20,7 +20,6 @@ */ #include "ruby/3/has/feature.h" #include "ruby/3/compiler_is.h" -#include "ruby/3/token_paste.h" /** @cond INTERNAL_MACRO*/ #if defined(RUBY3_ATTR_CONSTEXPR) diff --git a/include/ruby/3/attr/deprecated.h b/include/ruby/3/attr/deprecated.h index cea124e1fe..629f7c9fc5 100644 --- a/include/ruby/3/attr/deprecated.h +++ b/include/ruby/3/attr/deprecated.h @@ -18,8 +18,6 @@ * 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 88ad81ab2c..a363c4cdb3 100644 --- a/include/ruby/3/attr/diagnose_if.h +++ b/include/ruby/3/attr/diagnose_if.h @@ -18,8 +18,6 @@ * 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 defined(RUBY3_ATTR_DIAGNOSE_IF) diff --git a/include/ruby/3/attr/enum_extensibility.h b/include/ruby/3/attr/enum_extensibility.h index 2135736de7..0631057383 100644 --- a/include/ruby/3/attr/enum_extensibility.h +++ b/include/ruby/3/attr/enum_extensibility.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_ENUM_EXTENSIBILITY) diff --git a/include/ruby/3/attr/error.h b/include/ruby/3/attr/error.h index 15d9181fe2..ec9383aace 100644 --- a/include/ruby/3/attr/error.h +++ b/include/ruby/3/attr/error.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_ERROR) diff --git a/include/ruby/3/attr/flag_enum.h b/include/ruby/3/attr/flag_enum.h index a026ab5de1..5e7e9982f9 100644 --- a/include/ruby/3/attr/flag_enum.h +++ b/include/ruby/3/attr/flag_enum.h @@ -19,7 +19,6 @@ * @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 defined(RUBY3_ATTR_FLAG_ENUM) diff --git a/include/ruby/3/attr/forceinline.h b/include/ruby/3/attr/forceinline.h index 47d7d58147..6d279235b8 100644 --- a/include/ruby/3/attr/forceinline.h +++ b/include/ruby/3/attr/forceinline.h @@ -18,8 +18,6 @@ * 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 b41094f221..de8e2f53c4 100644 --- a/include/ruby/3/attr/format.h +++ b/include/ruby/3/attr/format.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_FORMAT) diff --git a/include/ruby/3/attr/maybe_unused.h b/include/ruby/3/attr/maybe_unused.h index 3463dfb77a..29a8c35bfc 100644 --- a/include/ruby/3/attr/maybe_unused.h +++ b/include/ruby/3/attr/maybe_unused.h @@ -18,7 +18,6 @@ * 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 00ef068422..342a1da7ad 100644 --- a/include/ruby/3/attr/nodiscard.h +++ b/include/ruby/3/attr/nodiscard.h @@ -18,7 +18,6 @@ * 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 c5db6b3e79..1bc90de88c 100644 --- a/include/ruby/3/attr/noexcept.h +++ b/include/ruby/3/attr/noexcept.h @@ -59,7 +59,6 @@ * 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 470043794a..4483c4c8d6 100644 --- a/include/ruby/3/attr/noinline.h +++ b/include/ruby/3/attr/noinline.h @@ -18,7 +18,6 @@ * 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 fff90df55b..0431c5a363 100644 --- a/include/ruby/3/attr/nonnull.h +++ b/include/ruby/3/attr/nonnull.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_NONNULL) diff --git a/include/ruby/3/attr/noreturn.h b/include/ruby/3/attr/noreturn.h index c08c824947..2dc940116a 100644 --- a/include/ruby/3/attr/noreturn.h +++ b/include/ruby/3/attr/noreturn.h @@ -18,8 +18,6 @@ * 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 8ae2e91fdf..530b0cf3b4 100644 --- a/include/ruby/3/attr/pure.h +++ b/include/ruby/3/attr/pure.h @@ -18,8 +18,6 @@ * 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 cd753584dd..c42ad99a01 100644 --- a/include/ruby/3/attr/restrict.h +++ b/include/ruby/3/attr/restrict.h @@ -18,9 +18,6 @@ * 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 269df4de69..aefee7ef30 100644 --- a/include/ruby/3/attr/returns_nonnull.h +++ b/include/ruby/3/attr/returns_nonnull.h @@ -18,7 +18,6 @@ * 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(RUBY3_ATTR_RETURNS_NONNULL) diff --git a/include/ruby/3/attr/warning.h b/include/ruby/3/attr/warning.h index ebd86b3a07..6323b6e2fe 100644 --- a/include/ruby/3/attr/warning.h +++ b/include/ruby/3/attr/warning.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_WARNING) diff --git a/include/ruby/3/attr/weakref.h b/include/ruby/3/attr/weakref.h index 084f8b99dc..28b901d44f 100644 --- a/include/ruby/3/attr/weakref.h +++ b/include/ruby/3/attr/weakref.h @@ -18,7 +18,6 @@ * 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 defined(RUBY3_ATTR_WEAKREF) diff --git a/include/ruby/3/cast.h b/include/ruby/3/cast.h index d9725ce17d..10caa809e5 100644 --- a/include/ruby/3/cast.h +++ b/include/ruby/3/cast.h @@ -23,9 +23,6 @@ * 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(RUBY3_CAST) # /* Take that. */ diff --git a/include/ruby/3/compiler_is.h b/include/ruby/3/compiler_is.h index 39d1fbf70d..9f8b81315d 100644 --- a/include/ruby/3/compiler_is.h +++ b/include/ruby/3/compiler_is.h @@ -25,6 +25,9 @@ * @retval true It is. * @retval false It isn't. */ +#ifndef RUBY3_COMPILER_IS_INCLUDED +#define RUBY3_COMPILER_IS_INCLUDED + #ifndef RUBY3_COMPILER_IS # define RUBY3_COMPILER_IS(cc) RUBY3_COMPILER_IS_ ## cc #endif @@ -41,3 +44,5 @@ * Apple's might be needed. * * - ARM's armclang: ditto, it can be clang-backended. */ + +#endif // RUBY3_COMPILER_IS_INCLUDED diff --git a/include/ruby/3/config.h b/include/ruby/3/config.h index fe7e190838..12489c7c16 100644 --- a/include/ruby/3/config.h +++ b/include/ruby/3/config.h @@ -27,6 +27,10 @@ #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 d39a01b52f..651ceed0d7 100644 --- a/include/ruby/3/core/rdata.h +++ b/include/ruby/3/core/rdata.h @@ -32,7 +32,6 @@ #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 229e092b30..05af8e63be 100644 --- a/include/ruby/3/has/attribute.h +++ b/include/ruby/3/has/attribute.h @@ -19,8 +19,6 @@ * @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(RUBY3_HAS_ATTRIBUTE) diff --git a/include/ruby/3/has/builtin.h b/include/ruby/3/has/builtin.h index b30fbdd1be..23391acc3c 100644 --- a/include/ruby/3/has/builtin.h +++ b/include/ruby/3/has/builtin.h @@ -19,8 +19,6 @@ * @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(RUBY3_HAS_BUILTIN) diff --git a/include/ruby/3/has/cpp_attribute.h b/include/ruby/3/has/cpp_attribute.h index 83c5392200..70bec4a267 100644 --- a/include/ruby/3/has/cpp_attribute.h +++ b/include/ruby/3/has/cpp_attribute.h @@ -19,8 +19,6 @@ * @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(RUBY3_HAS_CPP_ATTRIBUTE0) diff --git a/include/ruby/3/has/declspec_attribute.h b/include/ruby/3/has/declspec_attribute.h index f902ef963c..a7d97b400a 100644 --- a/include/ruby/3/has/declspec_attribute.h +++ b/include/ruby/3/has/declspec_attribute.h @@ -18,8 +18,6 @@ * 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(RUBY3_HAS_DECLSPEC_ATTRIBUTE) diff --git a/include/ruby/3/static_assert.h b/include/ruby/3/static_assert.h index 8a4a5dbfe8..78ce4def4b 100644 --- a/include/ruby/3/static_assert.h +++ b/include/ruby/3/static_assert.h @@ -20,7 +20,6 @@ */ #include <assert.h> #include "ruby/3/has/extension.h" -#include "ruby/3/compiler_since.h" /** @cond INTERNAL_MACRO */ #if defined(RUBY3_STATIC_ASSERT0) diff --git a/include/ruby/3/stdalign.h b/include/ruby/3/stdalign.h index 894ca14e7f..294a6410c4 100644 --- a/include/ruby/3/stdalign.h +++ b/include/ruby/3/stdalign.h @@ -25,10 +25,8 @@ #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 72a8270442..e15897dcc0 100644 --- a/include/ruby/3/token_paste.h +++ b/include/ruby/3/token_paste.h @@ -19,9 +19,6 @@ * @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 3f453fce9a..6edaaa37ee 100644 --- a/include/ruby/3/warning_push.h +++ b/include/ruby/3/warning_push.h @@ -42,7 +42,6 @@ * ``` */ #include "ruby/3/compiler_is.h" -#include "ruby/3/compiler_since.h" #ifdef RUBY3_WARNING_PUSH # /* Take that. */ diff --git a/include/ruby/backward/2/gcc_version_since.h b/include/ruby/backward/2/gcc_version_since.h index c3c7aca5e0..4e2abc45f9 100644 --- a/include/ruby/backward/2/gcc_version_since.h +++ b/include/ruby/backward/2/gcc_version_since.h @@ -18,7 +18,6 @@ * 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 8669d42cd6..29b930625e 100644 --- a/include/ruby/backward/2/long_long.h +++ b/include/ruby/backward/2/long_long.h @@ -24,8 +24,6 @@ * compatibility only. */ #include "ruby/3/config.h" -#include "ruby/3/has/warning.h" -#include "ruby/3/warning_push.h" #if defined(LONG_LONG) # /* Take that. */ |