diff options
Diffstat (limited to 'internal.h')
-rw-r--r-- | internal.h | 102 |
1 files changed, 45 insertions, 57 deletions
diff --git a/internal.h b/internal.h index fa6f78b52f..7479c73563 100644 --- a/internal.h +++ b/internal.h @@ -18,17 +18,9 @@ # error not for C++ #endif -#include "ruby/encoding.h" -#include "ruby/io.h" -#include "internal/stdbool.h" -#include "internal/bits.h" - #define LIKELY(x) RB_LIKELY(x) #define UNLIKELY(x) RB_UNLIKELY(x) -#include "internal/compilers.h" -#include "internal/sanitizers.h" - #define numberof(array) ((int)(sizeof(array) / sizeof((array)[0]))) #define roomof(x, y) (((x) + (y) - 1) / (y)) #define type_roomof(x, y) roomof(sizeof(x), sizeof(y)) @@ -36,54 +28,50 @@ /* Prevent compiler from reordering access */ #define ACCESS_ONCE(type,x) (*((volatile type *)&(x))) -#include "internal/serial.h" -#include "internal/static_assert.h" -#include "internal/time.h" -#include "internal/fixnum.h" -#include "internal/bignum.h" -#include "internal/rational.h" -#include "internal/numeric.h" -#include "internal/complex.h" -#include "internal/hash.h" -#include "internal/missing.h" -#include "internal/struct.h" -#include "internal/class.h" -#include "internal/imemo.h" -#include "internal/compar.h" -#include "internal/variable.h" -#include "internal/array.h" -#include "internal/debug.h" -#include "internal/compile.h" -#include "internal/cont.h" -#include "internal/dir.h" -#include "internal/encoding.h" -#include "internal/enum.h" -#include "internal/eval.h" -#include "internal/error.h" -#include "internal/file.h" -#include "internal/gc.h" -#include "internal/io.h" -#include "internal/load.h" -#include "internal/loadpath.h" -#include "internal/math.h" -#include "internal/mjit.h" -#include "internal/object.h" -#include "internal/parse.h" -#include "internal/proc.h" -#include "internal/process.h" -#include "internal/range.h" -#include "internal/re.h" -#include "internal/signal.h" -#include "internal/string.h" -#include "internal/symbol.h" -#include "internal/thread.h" -#include "internal/transcode.h" -#include "internal/enc.h" -#include "internal/util.h" -#include "internal/vm.h" -#include "internal/enumerator.h" -#include "internal/random.h" -#include "internal/inits.h" -#include "internal/warnings.h" +#include "ruby/ruby.h" + +/* Folowing macros were formerlly defined in this header but moved to somewhere + * else. In order to detect them we undef here. */ + +/* internal/error.h */ +#undef Check_Type + +/* internal/class.h */ +#undef RClass +#undef RCLASS_SUPER + +/* internal/gc.h */ +#undef NEWOBJ_OF +#undef RB_NEWOBJ_OF +#undef RB_OBJ_WRITE + +/* internal/hash.h */ +#undef RHASH_IFNONE +#undef RHASH_SIZE + +/* internal/struct.h */ +#undef RSTRUCT_LEN +#undef RSTRUCT_PTR +#undef RSTRUCT_SET +#undef RSTRUCT_GET + +/* Also, we keep the following macros here. They are expected to be + * overridden in each headers. */ + +/* internal/array.h */ +#define rb_ary_new_from_args(...) rb_nonexistent_symbol(__VA_ARGS__) + +/* internal/io.h */ +#define rb_io_fptr_finalize(...) rb_nonexistent_symbol(__VA_ARGS__) + +/* internal/string.h */ +#define rb_fstring_cstr(...) rb_nonexistent_symbol(__VA_ARGS__) + +/* internal/symbol.h */ +#define rb_sym_intern_ascii_cstr(...) rb_nonexistent_symbol(__VA_ARGS__) + +/* internal/vm.h */ +#define rb_funcallv(...) rb_nonexistent_symbol(__VA_ARGS__) +#define rb_method_basic_definition_p(...) rb_nonexistent_symbol(__VA_ARGS__) #endif /* RUBY_INTERNAL_H */ |