diff options
Diffstat (limited to 'ext/-test-')
292 files changed, 27287 insertions, 0 deletions
diff --git a/ext/-test-/RUBY_ALIGNOF/c.c b/ext/-test-/RUBY_ALIGNOF/c.c new file mode 100644 index 0000000000..7a9f7cb498 --- /dev/null +++ b/ext/-test-/RUBY_ALIGNOF/c.c @@ -0,0 +1,15 @@ +#include "ruby.h" +#include <stddef.h> + +struct T { + char _; + double t; +}; + +RBIMPL_STATIC_ASSERT(RUBY_ALIGNOF, RUBY_ALIGNOF(double) == offsetof(struct T, t)); + +void +Init_RUBY_ALIGNOF(void) +{ + // Windows linker mandates this symbol to exist. +} diff --git a/ext/-test-/RUBY_ALIGNOF/cpp.cpp b/ext/-test-/RUBY_ALIGNOF/cpp.cpp new file mode 100644 index 0000000000..ed76d49b9f --- /dev/null +++ b/ext/-test-/RUBY_ALIGNOF/cpp.cpp @@ -0,0 +1,9 @@ +#include "ruby.h" +#include <cstddef> + +struct T { + char _; + double t; +}; + +RBIMPL_STATIC_ASSERT(RUBY_ALIGNOF, RUBY_ALIGNOF(double) == offsetof(T, t)); diff --git a/ext/-test-/RUBY_ALIGNOF/depend b/ext/-test-/RUBY_ALIGNOF/depend new file mode 100644 index 0000000000..103d20b33c --- /dev/null +++ b/ext/-test-/RUBY_ALIGNOF/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +c.o: $(RUBY_EXTCONF_H) +c.o: $(arch_hdrdir)/ruby/config.h +c.o: $(hdrdir)/ruby.h +c.o: $(hdrdir)/ruby/assert.h +c.o: $(hdrdir)/ruby/backward.h +c.o: $(hdrdir)/ruby/backward/2/assume.h +c.o: $(hdrdir)/ruby/backward/2/attributes.h +c.o: $(hdrdir)/ruby/backward/2/bool.h +c.o: $(hdrdir)/ruby/backward/2/inttypes.h +c.o: $(hdrdir)/ruby/backward/2/limits.h +c.o: $(hdrdir)/ruby/backward/2/long_long.h +c.o: $(hdrdir)/ruby/backward/2/stdalign.h +c.o: $(hdrdir)/ruby/backward/2/stdarg.h +c.o: $(hdrdir)/ruby/defines.h +c.o: $(hdrdir)/ruby/intern.h +c.o: $(hdrdir)/ruby/internal/abi.h +c.o: $(hdrdir)/ruby/internal/anyargs.h +c.o: $(hdrdir)/ruby/internal/arithmetic.h +c.o: $(hdrdir)/ruby/internal/arithmetic/char.h +c.o: $(hdrdir)/ruby/internal/arithmetic/double.h +c.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +c.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/int.h +c.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/long.h +c.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +c.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/short.h +c.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +c.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +c.o: $(hdrdir)/ruby/internal/assume.h +c.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +c.o: $(hdrdir)/ruby/internal/attr/artificial.h +c.o: $(hdrdir)/ruby/internal/attr/cold.h +c.o: $(hdrdir)/ruby/internal/attr/const.h +c.o: $(hdrdir)/ruby/internal/attr/constexpr.h +c.o: $(hdrdir)/ruby/internal/attr/deprecated.h +c.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +c.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +c.o: $(hdrdir)/ruby/internal/attr/error.h +c.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +c.o: $(hdrdir)/ruby/internal/attr/forceinline.h +c.o: $(hdrdir)/ruby/internal/attr/format.h +c.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +c.o: $(hdrdir)/ruby/internal/attr/noalias.h +c.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +c.o: $(hdrdir)/ruby/internal/attr/noexcept.h +c.o: $(hdrdir)/ruby/internal/attr/noinline.h +c.o: $(hdrdir)/ruby/internal/attr/nonnull.h +c.o: $(hdrdir)/ruby/internal/attr/noreturn.h +c.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +c.o: $(hdrdir)/ruby/internal/attr/pure.h +c.o: $(hdrdir)/ruby/internal/attr/restrict.h +c.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +c.o: $(hdrdir)/ruby/internal/attr/warning.h +c.o: $(hdrdir)/ruby/internal/attr/weakref.h +c.o: $(hdrdir)/ruby/internal/cast.h +c.o: $(hdrdir)/ruby/internal/compiler_is.h +c.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +c.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +c.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +c.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +c.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +c.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +c.o: $(hdrdir)/ruby/internal/compiler_since.h +c.o: $(hdrdir)/ruby/internal/config.h +c.o: $(hdrdir)/ruby/internal/constant_p.h +c.o: $(hdrdir)/ruby/internal/core.h +c.o: $(hdrdir)/ruby/internal/core/rarray.h +c.o: $(hdrdir)/ruby/internal/core/rbasic.h +c.o: $(hdrdir)/ruby/internal/core/rbignum.h +c.o: $(hdrdir)/ruby/internal/core/rclass.h +c.o: $(hdrdir)/ruby/internal/core/rdata.h +c.o: $(hdrdir)/ruby/internal/core/rfile.h +c.o: $(hdrdir)/ruby/internal/core/rhash.h +c.o: $(hdrdir)/ruby/internal/core/robject.h +c.o: $(hdrdir)/ruby/internal/core/rregexp.h +c.o: $(hdrdir)/ruby/internal/core/rstring.h +c.o: $(hdrdir)/ruby/internal/core/rstruct.h +c.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +c.o: $(hdrdir)/ruby/internal/ctype.h +c.o: $(hdrdir)/ruby/internal/dllexport.h +c.o: $(hdrdir)/ruby/internal/dosish.h +c.o: $(hdrdir)/ruby/internal/error.h +c.o: $(hdrdir)/ruby/internal/eval.h +c.o: $(hdrdir)/ruby/internal/event.h +c.o: $(hdrdir)/ruby/internal/fl_type.h +c.o: $(hdrdir)/ruby/internal/gc.h +c.o: $(hdrdir)/ruby/internal/glob.h +c.o: $(hdrdir)/ruby/internal/globals.h +c.o: $(hdrdir)/ruby/internal/has/attribute.h +c.o: $(hdrdir)/ruby/internal/has/builtin.h +c.o: $(hdrdir)/ruby/internal/has/c_attribute.h +c.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +c.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +c.o: $(hdrdir)/ruby/internal/has/extension.h +c.o: $(hdrdir)/ruby/internal/has/feature.h +c.o: $(hdrdir)/ruby/internal/has/warning.h +c.o: $(hdrdir)/ruby/internal/intern/array.h +c.o: $(hdrdir)/ruby/internal/intern/bignum.h +c.o: $(hdrdir)/ruby/internal/intern/class.h +c.o: $(hdrdir)/ruby/internal/intern/compar.h +c.o: $(hdrdir)/ruby/internal/intern/complex.h +c.o: $(hdrdir)/ruby/internal/intern/cont.h +c.o: $(hdrdir)/ruby/internal/intern/dir.h +c.o: $(hdrdir)/ruby/internal/intern/enum.h +c.o: $(hdrdir)/ruby/internal/intern/enumerator.h +c.o: $(hdrdir)/ruby/internal/intern/error.h +c.o: $(hdrdir)/ruby/internal/intern/eval.h +c.o: $(hdrdir)/ruby/internal/intern/file.h +c.o: $(hdrdir)/ruby/internal/intern/hash.h +c.o: $(hdrdir)/ruby/internal/intern/io.h +c.o: $(hdrdir)/ruby/internal/intern/load.h +c.o: $(hdrdir)/ruby/internal/intern/marshal.h +c.o: $(hdrdir)/ruby/internal/intern/numeric.h +c.o: $(hdrdir)/ruby/internal/intern/object.h +c.o: $(hdrdir)/ruby/internal/intern/parse.h +c.o: $(hdrdir)/ruby/internal/intern/proc.h +c.o: $(hdrdir)/ruby/internal/intern/process.h +c.o: $(hdrdir)/ruby/internal/intern/random.h +c.o: $(hdrdir)/ruby/internal/intern/range.h +c.o: $(hdrdir)/ruby/internal/intern/rational.h +c.o: $(hdrdir)/ruby/internal/intern/re.h +c.o: $(hdrdir)/ruby/internal/intern/ruby.h +c.o: $(hdrdir)/ruby/internal/intern/select.h +c.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +c.o: $(hdrdir)/ruby/internal/intern/set.h +c.o: $(hdrdir)/ruby/internal/intern/signal.h +c.o: $(hdrdir)/ruby/internal/intern/sprintf.h +c.o: $(hdrdir)/ruby/internal/intern/string.h +c.o: $(hdrdir)/ruby/internal/intern/struct.h +c.o: $(hdrdir)/ruby/internal/intern/thread.h +c.o: $(hdrdir)/ruby/internal/intern/time.h +c.o: $(hdrdir)/ruby/internal/intern/variable.h +c.o: $(hdrdir)/ruby/internal/intern/vm.h +c.o: $(hdrdir)/ruby/internal/interpreter.h +c.o: $(hdrdir)/ruby/internal/iterator.h +c.o: $(hdrdir)/ruby/internal/memory.h +c.o: $(hdrdir)/ruby/internal/method.h +c.o: $(hdrdir)/ruby/internal/module.h +c.o: $(hdrdir)/ruby/internal/newobj.h +c.o: $(hdrdir)/ruby/internal/scan_args.h +c.o: $(hdrdir)/ruby/internal/special_consts.h +c.o: $(hdrdir)/ruby/internal/static_assert.h +c.o: $(hdrdir)/ruby/internal/stdalign.h +c.o: $(hdrdir)/ruby/internal/stdbool.h +c.o: $(hdrdir)/ruby/internal/stdckdint.h +c.o: $(hdrdir)/ruby/internal/symbol.h +c.o: $(hdrdir)/ruby/internal/value.h +c.o: $(hdrdir)/ruby/internal/value_type.h +c.o: $(hdrdir)/ruby/internal/variable.h +c.o: $(hdrdir)/ruby/internal/warning_push.h +c.o: $(hdrdir)/ruby/internal/xmalloc.h +c.o: $(hdrdir)/ruby/missing.h +c.o: $(hdrdir)/ruby/ruby.h +c.o: $(hdrdir)/ruby/st.h +c.o: $(hdrdir)/ruby/subst.h +c.o: c.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/RUBY_ALIGNOF/extconf.rb b/ext/-test-/RUBY_ALIGNOF/extconf.rb new file mode 100644 index 0000000000..98a370e987 --- /dev/null +++ b/ext/-test-/RUBY_ALIGNOF/extconf.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: false +$objs = %W"c.#$OBJEXT" + +$objs << "cpp.#$OBJEXT" if MakeMakefile['C++'].have_devel? + +create_makefile("-test-/RUBY_ALIGNOF") diff --git a/ext/-test-/abi/abi.c b/ext/-test-/abi/abi.c new file mode 100644 index 0000000000..923e0f67b8 --- /dev/null +++ b/ext/-test-/abi/abi.c @@ -0,0 +1,11 @@ +#include <limits.h> + +unsigned long long +ruby_abi_version(void) +{ + return ULONG_MAX; +} + +void +Init_abi(void) +{} diff --git a/ext/-test-/abi/depend b/ext/-test-/abi/depend new file mode 100644 index 0000000000..716a7b1356 --- /dev/null +++ b/ext/-test-/abi/depend @@ -0,0 +1,3 @@ +# AUTOGENERATED DEPENDENCIES START +abi.o: abi.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/abi/extconf.rb b/ext/-test-/abi/extconf.rb new file mode 100644 index 0000000000..3b090b7553 --- /dev/null +++ b/ext/-test-/abi/extconf.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: false +return unless RUBY_PATCHLEVEL < 0 +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/arith_seq/beg_len_step/beg_len_step.c b/ext/-test-/arith_seq/beg_len_step/beg_len_step.c new file mode 100644 index 0000000000..40c8cbee82 --- /dev/null +++ b/ext/-test-/arith_seq/beg_len_step/beg_len_step.c @@ -0,0 +1,19 @@ +#include "ruby/ruby.h" + +static VALUE +arith_seq_s_beg_len_step(VALUE mod, VALUE obj, VALUE len, VALUE err) +{ + VALUE r; + long beg, len2, step; + + r = rb_arithmetic_sequence_beg_len_step(obj, &beg, &len2, &step, NUM2LONG(len), NUM2INT(err)); + + return rb_ary_new_from_args(4, r, LONG2NUM(beg), LONG2NUM(len2), LONG2NUM(step)); +} + +void +Init_beg_len_step(void) +{ + VALUE cArithSeq = rb_path2class("Enumerator::ArithmeticSequence"); + rb_define_singleton_method(cArithSeq, "__beg_len_step__", arith_seq_s_beg_len_step, 3); +} diff --git a/ext/-test-/arith_seq/beg_len_step/depend b/ext/-test-/arith_seq/beg_len_step/depend new file mode 100644 index 0000000000..098c8ff1f0 --- /dev/null +++ b/ext/-test-/arith_seq/beg_len_step/depend @@ -0,0 +1,162 @@ +# AUTOGENERATED DEPENDENCIES START +beg_len_step.o: $(RUBY_EXTCONF_H) +beg_len_step.o: $(arch_hdrdir)/ruby/config.h +beg_len_step.o: $(hdrdir)/ruby/assert.h +beg_len_step.o: $(hdrdir)/ruby/backward.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/assume.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/attributes.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/bool.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/inttypes.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/limits.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/long_long.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/stdalign.h +beg_len_step.o: $(hdrdir)/ruby/backward/2/stdarg.h +beg_len_step.o: $(hdrdir)/ruby/defines.h +beg_len_step.o: $(hdrdir)/ruby/intern.h +beg_len_step.o: $(hdrdir)/ruby/internal/abi.h +beg_len_step.o: $(hdrdir)/ruby/internal/anyargs.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/char.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/double.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/int.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/long.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/short.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +beg_len_step.o: $(hdrdir)/ruby/internal/assume.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/artificial.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/cold.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/const.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/constexpr.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/deprecated.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/error.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/forceinline.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/format.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/noalias.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/noexcept.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/noinline.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/nonnull.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/noreturn.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/pure.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/restrict.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/warning.h +beg_len_step.o: $(hdrdir)/ruby/internal/attr/weakref.h +beg_len_step.o: $(hdrdir)/ruby/internal/cast.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +beg_len_step.o: $(hdrdir)/ruby/internal/compiler_since.h +beg_len_step.o: $(hdrdir)/ruby/internal/config.h +beg_len_step.o: $(hdrdir)/ruby/internal/constant_p.h +beg_len_step.o: $(hdrdir)/ruby/internal/core.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rarray.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rbasic.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rbignum.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rclass.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rdata.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rfile.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rhash.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/robject.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rregexp.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rstring.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rstruct.h +beg_len_step.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +beg_len_step.o: $(hdrdir)/ruby/internal/ctype.h +beg_len_step.o: $(hdrdir)/ruby/internal/dllexport.h +beg_len_step.o: $(hdrdir)/ruby/internal/dosish.h +beg_len_step.o: $(hdrdir)/ruby/internal/error.h +beg_len_step.o: $(hdrdir)/ruby/internal/eval.h +beg_len_step.o: $(hdrdir)/ruby/internal/event.h +beg_len_step.o: $(hdrdir)/ruby/internal/fl_type.h +beg_len_step.o: $(hdrdir)/ruby/internal/gc.h +beg_len_step.o: $(hdrdir)/ruby/internal/glob.h +beg_len_step.o: $(hdrdir)/ruby/internal/globals.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/attribute.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/builtin.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/c_attribute.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/extension.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/feature.h +beg_len_step.o: $(hdrdir)/ruby/internal/has/warning.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/array.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/bignum.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/class.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/compar.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/complex.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/cont.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/dir.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/enum.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/enumerator.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/error.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/eval.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/file.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/hash.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/io.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/load.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/marshal.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/numeric.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/object.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/parse.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/proc.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/process.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/random.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/range.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/rational.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/re.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/ruby.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/select.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/set.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/signal.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/sprintf.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/string.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/struct.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/thread.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/time.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/variable.h +beg_len_step.o: $(hdrdir)/ruby/internal/intern/vm.h +beg_len_step.o: $(hdrdir)/ruby/internal/interpreter.h +beg_len_step.o: $(hdrdir)/ruby/internal/iterator.h +beg_len_step.o: $(hdrdir)/ruby/internal/memory.h +beg_len_step.o: $(hdrdir)/ruby/internal/method.h +beg_len_step.o: $(hdrdir)/ruby/internal/module.h +beg_len_step.o: $(hdrdir)/ruby/internal/newobj.h +beg_len_step.o: $(hdrdir)/ruby/internal/scan_args.h +beg_len_step.o: $(hdrdir)/ruby/internal/special_consts.h +beg_len_step.o: $(hdrdir)/ruby/internal/static_assert.h +beg_len_step.o: $(hdrdir)/ruby/internal/stdalign.h +beg_len_step.o: $(hdrdir)/ruby/internal/stdbool.h +beg_len_step.o: $(hdrdir)/ruby/internal/stdckdint.h +beg_len_step.o: $(hdrdir)/ruby/internal/symbol.h +beg_len_step.o: $(hdrdir)/ruby/internal/value.h +beg_len_step.o: $(hdrdir)/ruby/internal/value_type.h +beg_len_step.o: $(hdrdir)/ruby/internal/variable.h +beg_len_step.o: $(hdrdir)/ruby/internal/warning_push.h +beg_len_step.o: $(hdrdir)/ruby/internal/xmalloc.h +beg_len_step.o: $(hdrdir)/ruby/missing.h +beg_len_step.o: $(hdrdir)/ruby/ruby.h +beg_len_step.o: $(hdrdir)/ruby/st.h +beg_len_step.o: $(hdrdir)/ruby/subst.h +beg_len_step.o: beg_len_step.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/arith_seq/beg_len_step/extconf.rb b/ext/-test-/arith_seq/beg_len_step/extconf.rb new file mode 100644 index 0000000000..e72b3ad01f --- /dev/null +++ b/ext/-test-/arith_seq/beg_len_step/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/arith_seq/beg_len_step") diff --git a/ext/-test-/arith_seq/extract/depend b/ext/-test-/arith_seq/extract/depend new file mode 100644 index 0000000000..5c07cea4b4 --- /dev/null +++ b/ext/-test-/arith_seq/extract/depend @@ -0,0 +1,162 @@ +# AUTOGENERATED DEPENDENCIES START +extract.o: $(RUBY_EXTCONF_H) +extract.o: $(arch_hdrdir)/ruby/config.h +extract.o: $(hdrdir)/ruby/assert.h +extract.o: $(hdrdir)/ruby/backward.h +extract.o: $(hdrdir)/ruby/backward/2/assume.h +extract.o: $(hdrdir)/ruby/backward/2/attributes.h +extract.o: $(hdrdir)/ruby/backward/2/bool.h +extract.o: $(hdrdir)/ruby/backward/2/inttypes.h +extract.o: $(hdrdir)/ruby/backward/2/limits.h +extract.o: $(hdrdir)/ruby/backward/2/long_long.h +extract.o: $(hdrdir)/ruby/backward/2/stdalign.h +extract.o: $(hdrdir)/ruby/backward/2/stdarg.h +extract.o: $(hdrdir)/ruby/defines.h +extract.o: $(hdrdir)/ruby/intern.h +extract.o: $(hdrdir)/ruby/internal/abi.h +extract.o: $(hdrdir)/ruby/internal/anyargs.h +extract.o: $(hdrdir)/ruby/internal/arithmetic.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/char.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/double.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/int.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/long.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/short.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +extract.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +extract.o: $(hdrdir)/ruby/internal/assume.h +extract.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +extract.o: $(hdrdir)/ruby/internal/attr/artificial.h +extract.o: $(hdrdir)/ruby/internal/attr/cold.h +extract.o: $(hdrdir)/ruby/internal/attr/const.h +extract.o: $(hdrdir)/ruby/internal/attr/constexpr.h +extract.o: $(hdrdir)/ruby/internal/attr/deprecated.h +extract.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +extract.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +extract.o: $(hdrdir)/ruby/internal/attr/error.h +extract.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +extract.o: $(hdrdir)/ruby/internal/attr/forceinline.h +extract.o: $(hdrdir)/ruby/internal/attr/format.h +extract.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +extract.o: $(hdrdir)/ruby/internal/attr/noalias.h +extract.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +extract.o: $(hdrdir)/ruby/internal/attr/noexcept.h +extract.o: $(hdrdir)/ruby/internal/attr/noinline.h +extract.o: $(hdrdir)/ruby/internal/attr/nonnull.h +extract.o: $(hdrdir)/ruby/internal/attr/noreturn.h +extract.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +extract.o: $(hdrdir)/ruby/internal/attr/pure.h +extract.o: $(hdrdir)/ruby/internal/attr/restrict.h +extract.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +extract.o: $(hdrdir)/ruby/internal/attr/warning.h +extract.o: $(hdrdir)/ruby/internal/attr/weakref.h +extract.o: $(hdrdir)/ruby/internal/cast.h +extract.o: $(hdrdir)/ruby/internal/compiler_is.h +extract.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +extract.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +extract.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +extract.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +extract.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +extract.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +extract.o: $(hdrdir)/ruby/internal/compiler_since.h +extract.o: $(hdrdir)/ruby/internal/config.h +extract.o: $(hdrdir)/ruby/internal/constant_p.h +extract.o: $(hdrdir)/ruby/internal/core.h +extract.o: $(hdrdir)/ruby/internal/core/rarray.h +extract.o: $(hdrdir)/ruby/internal/core/rbasic.h +extract.o: $(hdrdir)/ruby/internal/core/rbignum.h +extract.o: $(hdrdir)/ruby/internal/core/rclass.h +extract.o: $(hdrdir)/ruby/internal/core/rdata.h +extract.o: $(hdrdir)/ruby/internal/core/rfile.h +extract.o: $(hdrdir)/ruby/internal/core/rhash.h +extract.o: $(hdrdir)/ruby/internal/core/robject.h +extract.o: $(hdrdir)/ruby/internal/core/rregexp.h +extract.o: $(hdrdir)/ruby/internal/core/rstring.h +extract.o: $(hdrdir)/ruby/internal/core/rstruct.h +extract.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +extract.o: $(hdrdir)/ruby/internal/ctype.h +extract.o: $(hdrdir)/ruby/internal/dllexport.h +extract.o: $(hdrdir)/ruby/internal/dosish.h +extract.o: $(hdrdir)/ruby/internal/error.h +extract.o: $(hdrdir)/ruby/internal/eval.h +extract.o: $(hdrdir)/ruby/internal/event.h +extract.o: $(hdrdir)/ruby/internal/fl_type.h +extract.o: $(hdrdir)/ruby/internal/gc.h +extract.o: $(hdrdir)/ruby/internal/glob.h +extract.o: $(hdrdir)/ruby/internal/globals.h +extract.o: $(hdrdir)/ruby/internal/has/attribute.h +extract.o: $(hdrdir)/ruby/internal/has/builtin.h +extract.o: $(hdrdir)/ruby/internal/has/c_attribute.h +extract.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +extract.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +extract.o: $(hdrdir)/ruby/internal/has/extension.h +extract.o: $(hdrdir)/ruby/internal/has/feature.h +extract.o: $(hdrdir)/ruby/internal/has/warning.h +extract.o: $(hdrdir)/ruby/internal/intern/array.h +extract.o: $(hdrdir)/ruby/internal/intern/bignum.h +extract.o: $(hdrdir)/ruby/internal/intern/class.h +extract.o: $(hdrdir)/ruby/internal/intern/compar.h +extract.o: $(hdrdir)/ruby/internal/intern/complex.h +extract.o: $(hdrdir)/ruby/internal/intern/cont.h +extract.o: $(hdrdir)/ruby/internal/intern/dir.h +extract.o: $(hdrdir)/ruby/internal/intern/enum.h +extract.o: $(hdrdir)/ruby/internal/intern/enumerator.h +extract.o: $(hdrdir)/ruby/internal/intern/error.h +extract.o: $(hdrdir)/ruby/internal/intern/eval.h +extract.o: $(hdrdir)/ruby/internal/intern/file.h +extract.o: $(hdrdir)/ruby/internal/intern/hash.h +extract.o: $(hdrdir)/ruby/internal/intern/io.h +extract.o: $(hdrdir)/ruby/internal/intern/load.h +extract.o: $(hdrdir)/ruby/internal/intern/marshal.h +extract.o: $(hdrdir)/ruby/internal/intern/numeric.h +extract.o: $(hdrdir)/ruby/internal/intern/object.h +extract.o: $(hdrdir)/ruby/internal/intern/parse.h +extract.o: $(hdrdir)/ruby/internal/intern/proc.h +extract.o: $(hdrdir)/ruby/internal/intern/process.h +extract.o: $(hdrdir)/ruby/internal/intern/random.h +extract.o: $(hdrdir)/ruby/internal/intern/range.h +extract.o: $(hdrdir)/ruby/internal/intern/rational.h +extract.o: $(hdrdir)/ruby/internal/intern/re.h +extract.o: $(hdrdir)/ruby/internal/intern/ruby.h +extract.o: $(hdrdir)/ruby/internal/intern/select.h +extract.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +extract.o: $(hdrdir)/ruby/internal/intern/set.h +extract.o: $(hdrdir)/ruby/internal/intern/signal.h +extract.o: $(hdrdir)/ruby/internal/intern/sprintf.h +extract.o: $(hdrdir)/ruby/internal/intern/string.h +extract.o: $(hdrdir)/ruby/internal/intern/struct.h +extract.o: $(hdrdir)/ruby/internal/intern/thread.h +extract.o: $(hdrdir)/ruby/internal/intern/time.h +extract.o: $(hdrdir)/ruby/internal/intern/variable.h +extract.o: $(hdrdir)/ruby/internal/intern/vm.h +extract.o: $(hdrdir)/ruby/internal/interpreter.h +extract.o: $(hdrdir)/ruby/internal/iterator.h +extract.o: $(hdrdir)/ruby/internal/memory.h +extract.o: $(hdrdir)/ruby/internal/method.h +extract.o: $(hdrdir)/ruby/internal/module.h +extract.o: $(hdrdir)/ruby/internal/newobj.h +extract.o: $(hdrdir)/ruby/internal/scan_args.h +extract.o: $(hdrdir)/ruby/internal/special_consts.h +extract.o: $(hdrdir)/ruby/internal/static_assert.h +extract.o: $(hdrdir)/ruby/internal/stdalign.h +extract.o: $(hdrdir)/ruby/internal/stdbool.h +extract.o: $(hdrdir)/ruby/internal/stdckdint.h +extract.o: $(hdrdir)/ruby/internal/symbol.h +extract.o: $(hdrdir)/ruby/internal/value.h +extract.o: $(hdrdir)/ruby/internal/value_type.h +extract.o: $(hdrdir)/ruby/internal/variable.h +extract.o: $(hdrdir)/ruby/internal/warning_push.h +extract.o: $(hdrdir)/ruby/internal/xmalloc.h +extract.o: $(hdrdir)/ruby/missing.h +extract.o: $(hdrdir)/ruby/ruby.h +extract.o: $(hdrdir)/ruby/st.h +extract.o: $(hdrdir)/ruby/subst.h +extract.o: extract.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/arith_seq/extract/extconf.rb b/ext/-test-/arith_seq/extract/extconf.rb new file mode 100644 index 0000000000..9c368bf50e --- /dev/null +++ b/ext/-test-/arith_seq/extract/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/arith_seq/extract") diff --git a/ext/-test-/arith_seq/extract/extract.c b/ext/-test-/arith_seq/extract/extract.c new file mode 100644 index 0000000000..93b89c239a --- /dev/null +++ b/ext/-test-/arith_seq/extract/extract.c @@ -0,0 +1,27 @@ +#include "ruby/ruby.h" + +static VALUE +arith_seq_s_extract(VALUE mod, VALUE obj) +{ + rb_arithmetic_sequence_components_t x; + VALUE ret; + int r; + + r = rb_arithmetic_sequence_extract(obj, &x); + + ret = rb_ary_new2(5); + rb_ary_store(ret, 0, r ? x.begin : Qnil); + rb_ary_store(ret, 1, r ? x.end : Qnil); + rb_ary_store(ret, 2, r ? x.step : Qnil); + rb_ary_store(ret, 3, r ? INT2FIX(x.exclude_end) : Qnil); + rb_ary_store(ret, 4, INT2FIX(r)); + + return ret; +} + +void +Init_extract(void) +{ + VALUE cArithSeq = rb_path2class("Enumerator::ArithmeticSequence"); + rb_define_singleton_method(cArithSeq, "__extract__", arith_seq_s_extract, 1); +} diff --git a/ext/-test-/array/concat/depend b/ext/-test-/array/concat/depend new file mode 100644 index 0000000000..8edf45465f --- /dev/null +++ b/ext/-test-/array/concat/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +to_ary_concat.o: $(RUBY_EXTCONF_H) +to_ary_concat.o: $(arch_hdrdir)/ruby/config.h +to_ary_concat.o: $(hdrdir)/ruby.h +to_ary_concat.o: $(hdrdir)/ruby/assert.h +to_ary_concat.o: $(hdrdir)/ruby/backward.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/assume.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/attributes.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/bool.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/inttypes.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/limits.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/long_long.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/stdalign.h +to_ary_concat.o: $(hdrdir)/ruby/backward/2/stdarg.h +to_ary_concat.o: $(hdrdir)/ruby/defines.h +to_ary_concat.o: $(hdrdir)/ruby/intern.h +to_ary_concat.o: $(hdrdir)/ruby/internal/abi.h +to_ary_concat.o: $(hdrdir)/ruby/internal/anyargs.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/char.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/double.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/int.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/long.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/short.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +to_ary_concat.o: $(hdrdir)/ruby/internal/assume.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/artificial.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/cold.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/const.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/constexpr.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/deprecated.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/error.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/forceinline.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/format.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/noalias.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/noexcept.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/noinline.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/nonnull.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/noreturn.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/pure.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/restrict.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/warning.h +to_ary_concat.o: $(hdrdir)/ruby/internal/attr/weakref.h +to_ary_concat.o: $(hdrdir)/ruby/internal/cast.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +to_ary_concat.o: $(hdrdir)/ruby/internal/compiler_since.h +to_ary_concat.o: $(hdrdir)/ruby/internal/config.h +to_ary_concat.o: $(hdrdir)/ruby/internal/constant_p.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rarray.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rbasic.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rbignum.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rclass.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rdata.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rfile.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rhash.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/robject.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rregexp.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rstring.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rstruct.h +to_ary_concat.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +to_ary_concat.o: $(hdrdir)/ruby/internal/ctype.h +to_ary_concat.o: $(hdrdir)/ruby/internal/dllexport.h +to_ary_concat.o: $(hdrdir)/ruby/internal/dosish.h +to_ary_concat.o: $(hdrdir)/ruby/internal/error.h +to_ary_concat.o: $(hdrdir)/ruby/internal/eval.h +to_ary_concat.o: $(hdrdir)/ruby/internal/event.h +to_ary_concat.o: $(hdrdir)/ruby/internal/fl_type.h +to_ary_concat.o: $(hdrdir)/ruby/internal/gc.h +to_ary_concat.o: $(hdrdir)/ruby/internal/glob.h +to_ary_concat.o: $(hdrdir)/ruby/internal/globals.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/attribute.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/builtin.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/c_attribute.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/extension.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/feature.h +to_ary_concat.o: $(hdrdir)/ruby/internal/has/warning.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/array.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/bignum.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/class.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/compar.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/complex.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/cont.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/dir.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/enum.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/enumerator.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/error.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/eval.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/file.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/hash.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/io.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/load.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/marshal.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/numeric.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/object.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/parse.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/proc.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/process.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/random.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/range.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/rational.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/re.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/ruby.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/select.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/set.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/signal.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/sprintf.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/string.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/struct.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/thread.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/time.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/variable.h +to_ary_concat.o: $(hdrdir)/ruby/internal/intern/vm.h +to_ary_concat.o: $(hdrdir)/ruby/internal/interpreter.h +to_ary_concat.o: $(hdrdir)/ruby/internal/iterator.h +to_ary_concat.o: $(hdrdir)/ruby/internal/memory.h +to_ary_concat.o: $(hdrdir)/ruby/internal/method.h +to_ary_concat.o: $(hdrdir)/ruby/internal/module.h +to_ary_concat.o: $(hdrdir)/ruby/internal/newobj.h +to_ary_concat.o: $(hdrdir)/ruby/internal/scan_args.h +to_ary_concat.o: $(hdrdir)/ruby/internal/special_consts.h +to_ary_concat.o: $(hdrdir)/ruby/internal/static_assert.h +to_ary_concat.o: $(hdrdir)/ruby/internal/stdalign.h +to_ary_concat.o: $(hdrdir)/ruby/internal/stdbool.h +to_ary_concat.o: $(hdrdir)/ruby/internal/stdckdint.h +to_ary_concat.o: $(hdrdir)/ruby/internal/symbol.h +to_ary_concat.o: $(hdrdir)/ruby/internal/value.h +to_ary_concat.o: $(hdrdir)/ruby/internal/value_type.h +to_ary_concat.o: $(hdrdir)/ruby/internal/variable.h +to_ary_concat.o: $(hdrdir)/ruby/internal/warning_push.h +to_ary_concat.o: $(hdrdir)/ruby/internal/xmalloc.h +to_ary_concat.o: $(hdrdir)/ruby/missing.h +to_ary_concat.o: $(hdrdir)/ruby/ruby.h +to_ary_concat.o: $(hdrdir)/ruby/st.h +to_ary_concat.o: $(hdrdir)/ruby/subst.h +to_ary_concat.o: to_ary_concat.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/array/concat/extconf.rb b/ext/-test-/array/concat/extconf.rb new file mode 100644 index 0000000000..cdd79126c9 --- /dev/null +++ b/ext/-test-/array/concat/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/array/to_ary_concat") diff --git a/ext/-test-/array/concat/to_ary_concat.c b/ext/-test-/array/concat/to_ary_concat.c new file mode 100644 index 0000000000..07a96d3907 --- /dev/null +++ b/ext/-test-/array/concat/to_ary_concat.c @@ -0,0 +1,38 @@ +#include "ruby.h" + +// Bar + +typedef struct { + int dummy; +} Bar; + +static rb_data_type_t Bar_type = { + "Bar", + {NULL, RUBY_TYPED_DEFAULT_FREE, NULL }, +}; + +static VALUE +Bar_alloc(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &Bar_type, NULL); +} + +static VALUE +Bar_to_ary(VALUE _self) +{ + VALUE ary = rb_ary_new2(2); + VALUE foo = rb_ary_new2(0); + rb_ary_push(ary, foo); + rb_ary_push(ary, foo); + rb_ary_push(ary, foo); + return ary; +} + +void +Init_to_ary_concat(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE bar = rb_define_class_under(mBug, "Bar", rb_cObject); + rb_define_alloc_func(bar, Bar_alloc); + rb_define_method(bar, "to_ary", Bar_to_ary, 0); +} diff --git a/ext/-test-/array/resize/depend b/ext/-test-/array/resize/depend new file mode 100644 index 0000000000..e6a228b43d --- /dev/null +++ b/ext/-test-/array/resize/depend @@ -0,0 +1,162 @@ +# AUTOGENERATED DEPENDENCIES START +resize.o: $(RUBY_EXTCONF_H) +resize.o: $(arch_hdrdir)/ruby/config.h +resize.o: $(hdrdir)/ruby/assert.h +resize.o: $(hdrdir)/ruby/backward.h +resize.o: $(hdrdir)/ruby/backward/2/assume.h +resize.o: $(hdrdir)/ruby/backward/2/attributes.h +resize.o: $(hdrdir)/ruby/backward/2/bool.h +resize.o: $(hdrdir)/ruby/backward/2/inttypes.h +resize.o: $(hdrdir)/ruby/backward/2/limits.h +resize.o: $(hdrdir)/ruby/backward/2/long_long.h +resize.o: $(hdrdir)/ruby/backward/2/stdalign.h +resize.o: $(hdrdir)/ruby/backward/2/stdarg.h +resize.o: $(hdrdir)/ruby/defines.h +resize.o: $(hdrdir)/ruby/intern.h +resize.o: $(hdrdir)/ruby/internal/abi.h +resize.o: $(hdrdir)/ruby/internal/anyargs.h +resize.o: $(hdrdir)/ruby/internal/arithmetic.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/char.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/double.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/int.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/long.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/short.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +resize.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +resize.o: $(hdrdir)/ruby/internal/assume.h +resize.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +resize.o: $(hdrdir)/ruby/internal/attr/artificial.h +resize.o: $(hdrdir)/ruby/internal/attr/cold.h +resize.o: $(hdrdir)/ruby/internal/attr/const.h +resize.o: $(hdrdir)/ruby/internal/attr/constexpr.h +resize.o: $(hdrdir)/ruby/internal/attr/deprecated.h +resize.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +resize.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +resize.o: $(hdrdir)/ruby/internal/attr/error.h +resize.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +resize.o: $(hdrdir)/ruby/internal/attr/forceinline.h +resize.o: $(hdrdir)/ruby/internal/attr/format.h +resize.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +resize.o: $(hdrdir)/ruby/internal/attr/noalias.h +resize.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +resize.o: $(hdrdir)/ruby/internal/attr/noexcept.h +resize.o: $(hdrdir)/ruby/internal/attr/noinline.h +resize.o: $(hdrdir)/ruby/internal/attr/nonnull.h +resize.o: $(hdrdir)/ruby/internal/attr/noreturn.h +resize.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +resize.o: $(hdrdir)/ruby/internal/attr/pure.h +resize.o: $(hdrdir)/ruby/internal/attr/restrict.h +resize.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +resize.o: $(hdrdir)/ruby/internal/attr/warning.h +resize.o: $(hdrdir)/ruby/internal/attr/weakref.h +resize.o: $(hdrdir)/ruby/internal/cast.h +resize.o: $(hdrdir)/ruby/internal/compiler_is.h +resize.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +resize.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +resize.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +resize.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +resize.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +resize.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +resize.o: $(hdrdir)/ruby/internal/compiler_since.h +resize.o: $(hdrdir)/ruby/internal/config.h +resize.o: $(hdrdir)/ruby/internal/constant_p.h +resize.o: $(hdrdir)/ruby/internal/core.h +resize.o: $(hdrdir)/ruby/internal/core/rarray.h +resize.o: $(hdrdir)/ruby/internal/core/rbasic.h +resize.o: $(hdrdir)/ruby/internal/core/rbignum.h +resize.o: $(hdrdir)/ruby/internal/core/rclass.h +resize.o: $(hdrdir)/ruby/internal/core/rdata.h +resize.o: $(hdrdir)/ruby/internal/core/rfile.h +resize.o: $(hdrdir)/ruby/internal/core/rhash.h +resize.o: $(hdrdir)/ruby/internal/core/robject.h +resize.o: $(hdrdir)/ruby/internal/core/rregexp.h +resize.o: $(hdrdir)/ruby/internal/core/rstring.h +resize.o: $(hdrdir)/ruby/internal/core/rstruct.h +resize.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +resize.o: $(hdrdir)/ruby/internal/ctype.h +resize.o: $(hdrdir)/ruby/internal/dllexport.h +resize.o: $(hdrdir)/ruby/internal/dosish.h +resize.o: $(hdrdir)/ruby/internal/error.h +resize.o: $(hdrdir)/ruby/internal/eval.h +resize.o: $(hdrdir)/ruby/internal/event.h +resize.o: $(hdrdir)/ruby/internal/fl_type.h +resize.o: $(hdrdir)/ruby/internal/gc.h +resize.o: $(hdrdir)/ruby/internal/glob.h +resize.o: $(hdrdir)/ruby/internal/globals.h +resize.o: $(hdrdir)/ruby/internal/has/attribute.h +resize.o: $(hdrdir)/ruby/internal/has/builtin.h +resize.o: $(hdrdir)/ruby/internal/has/c_attribute.h +resize.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +resize.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +resize.o: $(hdrdir)/ruby/internal/has/extension.h +resize.o: $(hdrdir)/ruby/internal/has/feature.h +resize.o: $(hdrdir)/ruby/internal/has/warning.h +resize.o: $(hdrdir)/ruby/internal/intern/array.h +resize.o: $(hdrdir)/ruby/internal/intern/bignum.h +resize.o: $(hdrdir)/ruby/internal/intern/class.h +resize.o: $(hdrdir)/ruby/internal/intern/compar.h +resize.o: $(hdrdir)/ruby/internal/intern/complex.h +resize.o: $(hdrdir)/ruby/internal/intern/cont.h +resize.o: $(hdrdir)/ruby/internal/intern/dir.h +resize.o: $(hdrdir)/ruby/internal/intern/enum.h +resize.o: $(hdrdir)/ruby/internal/intern/enumerator.h +resize.o: $(hdrdir)/ruby/internal/intern/error.h +resize.o: $(hdrdir)/ruby/internal/intern/eval.h +resize.o: $(hdrdir)/ruby/internal/intern/file.h +resize.o: $(hdrdir)/ruby/internal/intern/hash.h +resize.o: $(hdrdir)/ruby/internal/intern/io.h +resize.o: $(hdrdir)/ruby/internal/intern/load.h +resize.o: $(hdrdir)/ruby/internal/intern/marshal.h +resize.o: $(hdrdir)/ruby/internal/intern/numeric.h +resize.o: $(hdrdir)/ruby/internal/intern/object.h +resize.o: $(hdrdir)/ruby/internal/intern/parse.h +resize.o: $(hdrdir)/ruby/internal/intern/proc.h +resize.o: $(hdrdir)/ruby/internal/intern/process.h +resize.o: $(hdrdir)/ruby/internal/intern/random.h +resize.o: $(hdrdir)/ruby/internal/intern/range.h +resize.o: $(hdrdir)/ruby/internal/intern/rational.h +resize.o: $(hdrdir)/ruby/internal/intern/re.h +resize.o: $(hdrdir)/ruby/internal/intern/ruby.h +resize.o: $(hdrdir)/ruby/internal/intern/select.h +resize.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +resize.o: $(hdrdir)/ruby/internal/intern/set.h +resize.o: $(hdrdir)/ruby/internal/intern/signal.h +resize.o: $(hdrdir)/ruby/internal/intern/sprintf.h +resize.o: $(hdrdir)/ruby/internal/intern/string.h +resize.o: $(hdrdir)/ruby/internal/intern/struct.h +resize.o: $(hdrdir)/ruby/internal/intern/thread.h +resize.o: $(hdrdir)/ruby/internal/intern/time.h +resize.o: $(hdrdir)/ruby/internal/intern/variable.h +resize.o: $(hdrdir)/ruby/internal/intern/vm.h +resize.o: $(hdrdir)/ruby/internal/interpreter.h +resize.o: $(hdrdir)/ruby/internal/iterator.h +resize.o: $(hdrdir)/ruby/internal/memory.h +resize.o: $(hdrdir)/ruby/internal/method.h +resize.o: $(hdrdir)/ruby/internal/module.h +resize.o: $(hdrdir)/ruby/internal/newobj.h +resize.o: $(hdrdir)/ruby/internal/scan_args.h +resize.o: $(hdrdir)/ruby/internal/special_consts.h +resize.o: $(hdrdir)/ruby/internal/static_assert.h +resize.o: $(hdrdir)/ruby/internal/stdalign.h +resize.o: $(hdrdir)/ruby/internal/stdbool.h +resize.o: $(hdrdir)/ruby/internal/stdckdint.h +resize.o: $(hdrdir)/ruby/internal/symbol.h +resize.o: $(hdrdir)/ruby/internal/value.h +resize.o: $(hdrdir)/ruby/internal/value_type.h +resize.o: $(hdrdir)/ruby/internal/variable.h +resize.o: $(hdrdir)/ruby/internal/warning_push.h +resize.o: $(hdrdir)/ruby/internal/xmalloc.h +resize.o: $(hdrdir)/ruby/missing.h +resize.o: $(hdrdir)/ruby/ruby.h +resize.o: $(hdrdir)/ruby/st.h +resize.o: $(hdrdir)/ruby/subst.h +resize.o: resize.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/array/resize/extconf.rb b/ext/-test-/array/resize/extconf.rb new file mode 100644 index 0000000000..bc827e1170 --- /dev/null +++ b/ext/-test-/array/resize/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/array/resize") diff --git a/ext/-test-/array/resize/resize.c b/ext/-test-/array/resize/resize.c new file mode 100644 index 0000000000..cfe910ebed --- /dev/null +++ b/ext/-test-/array/resize/resize.c @@ -0,0 +1,16 @@ +#include "ruby/ruby.h" + +static VALUE +ary_resize(VALUE klass, VALUE ary, VALUE len) +{ + rb_ary_resize(ary, NUM2LONG(len)); + return ary; +} + +void +Init_resize(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Array", rb_cObject); + rb_define_singleton_method(klass, "__resize__", ary_resize, 2); +} diff --git a/ext/-test-/auto_ext.rb b/ext/-test-/auto_ext.rb new file mode 100644 index 0000000000..58c49c177b --- /dev/null +++ b/ext/-test-/auto_ext.rb @@ -0,0 +1,11 @@ +# frozen_string_literal: false +def auto_ext(feat = $0[%r[/ext/(-test-/.*)/extconf.rb\z], 1], inc: false) + $INCFLAGS << " -I$(topdir) -I$(top_srcdir)" if inc + $srcs = Dir[File.join($srcdir, "*.{#{SRC_EXT.join(%q{,})}}")] + inits = $srcs.map {|s| File.basename(s, ".*")} + inits.delete("init") + inits.map! {|s|"X(#{s})"} + $defs << "-DTEST_INIT_FUNCS(X)=\"#{inits.join(' ')}\"" + create_header + create_makefile(feat) +end diff --git a/ext/-test-/bignum/big2str.c b/ext/-test-/bignum/big2str.c new file mode 100644 index 0000000000..255e8ad729 --- /dev/null +++ b/ext/-test-/bignum/big2str.c @@ -0,0 +1,53 @@ +#include "internal/bignum.h" + +static VALUE +big(VALUE x) +{ + if (FIXNUM_P(x)) + return rb_int2big(FIX2LONG(x)); + if (RB_TYPE_P(x, T_BIGNUM)) + return x; + rb_raise(rb_eTypeError, "can't convert %s to Bignum", + rb_obj_classname(x)); +} + +static VALUE +big2str_generic(VALUE klass, VALUE x, VALUE vbase) +{ + int base = NUM2INT(vbase); + if (base < 2 || 36 < base) + rb_raise(rb_eArgError, "invalid radix %d", base); + return rb_big2str_generic(big(x), base); +} + +#define POW2_P(x) (((x)&((x)-1))==0) + +static VALUE +big2str_poweroftwo(VALUE klass, VALUE x, VALUE vbase) +{ + int base = NUM2INT(vbase); + if (base < 2 || 36 < base || !POW2_P(base)) + rb_raise(rb_eArgError, "invalid radix %d", base); + return rb_big2str_poweroftwo(big(x), base); +} + +#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H) +static VALUE +big2str_gmp(VALUE klass, VALUE x, VALUE vbase) +{ + int base = NUM2INT(vbase); + if (base < 2 || 36 < base) + rb_raise(rb_eArgError, "invalid radix %d", base); + return rb_big2str_gmp(big(x), base); +} +#else +#define big2str_gmp rb_f_notimplement +#endif + +void +Init_big2str(VALUE klass) +{ + rb_define_singleton_method(klass, "big2str_generic", big2str_generic, 2); + rb_define_singleton_method(klass, "big2str_poweroftwo", big2str_poweroftwo, 2); + rb_define_singleton_method(klass, "big2str_gmp", big2str_gmp, 2); +} diff --git a/ext/-test-/bignum/bigzero.c b/ext/-test-/bignum/bigzero.c new file mode 100644 index 0000000000..e2bfebcd3e --- /dev/null +++ b/ext/-test-/bignum/bigzero.c @@ -0,0 +1,26 @@ +#include "internal/bignum.h" + +static VALUE +bug_big_zero(VALUE self, VALUE length) +{ + long len = NUM2ULONG(length); + VALUE z = rb_big_new(len, 1); + MEMZERO(BIGNUM_DIGITS(z), BDIGIT, len); + return z; +} + +static VALUE +bug_big_negzero(VALUE self, VALUE length) +{ + long len = NUM2ULONG(length); + VALUE z = rb_big_new(len, 0); + MEMZERO(BIGNUM_DIGITS(z), BDIGIT, len); + return z; +} + +void +Init_bigzero(VALUE klass) +{ + rb_define_singleton_method(klass, "zero", bug_big_zero, 1); + rb_define_singleton_method(klass, "negzero", bug_big_negzero, 1); +} diff --git a/ext/-test-/bignum/depend b/ext/-test-/bignum/depend new file mode 100644 index 0000000000..82972f1032 --- /dev/null +++ b/ext/-test-/bignum/depend @@ -0,0 +1,1141 @@ +# AUTOGENERATED DEPENDENCIES START +big2str.o: $(RUBY_EXTCONF_H) +big2str.o: $(arch_hdrdir)/ruby/config.h +big2str.o: $(hdrdir)/ruby/assert.h +big2str.o: $(hdrdir)/ruby/backward.h +big2str.o: $(hdrdir)/ruby/backward/2/assume.h +big2str.o: $(hdrdir)/ruby/backward/2/attributes.h +big2str.o: $(hdrdir)/ruby/backward/2/bool.h +big2str.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +big2str.o: $(hdrdir)/ruby/backward/2/inttypes.h +big2str.o: $(hdrdir)/ruby/backward/2/limits.h +big2str.o: $(hdrdir)/ruby/backward/2/long_long.h +big2str.o: $(hdrdir)/ruby/backward/2/stdalign.h +big2str.o: $(hdrdir)/ruby/backward/2/stdarg.h +big2str.o: $(hdrdir)/ruby/defines.h +big2str.o: $(hdrdir)/ruby/intern.h +big2str.o: $(hdrdir)/ruby/internal/abi.h +big2str.o: $(hdrdir)/ruby/internal/anyargs.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/char.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/double.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/int.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/long.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/short.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +big2str.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +big2str.o: $(hdrdir)/ruby/internal/assume.h +big2str.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +big2str.o: $(hdrdir)/ruby/internal/attr/artificial.h +big2str.o: $(hdrdir)/ruby/internal/attr/cold.h +big2str.o: $(hdrdir)/ruby/internal/attr/const.h +big2str.o: $(hdrdir)/ruby/internal/attr/constexpr.h +big2str.o: $(hdrdir)/ruby/internal/attr/deprecated.h +big2str.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +big2str.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +big2str.o: $(hdrdir)/ruby/internal/attr/error.h +big2str.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +big2str.o: $(hdrdir)/ruby/internal/attr/forceinline.h +big2str.o: $(hdrdir)/ruby/internal/attr/format.h +big2str.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +big2str.o: $(hdrdir)/ruby/internal/attr/noalias.h +big2str.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +big2str.o: $(hdrdir)/ruby/internal/attr/noexcept.h +big2str.o: $(hdrdir)/ruby/internal/attr/noinline.h +big2str.o: $(hdrdir)/ruby/internal/attr/nonnull.h +big2str.o: $(hdrdir)/ruby/internal/attr/noreturn.h +big2str.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +big2str.o: $(hdrdir)/ruby/internal/attr/pure.h +big2str.o: $(hdrdir)/ruby/internal/attr/restrict.h +big2str.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +big2str.o: $(hdrdir)/ruby/internal/attr/warning.h +big2str.o: $(hdrdir)/ruby/internal/attr/weakref.h +big2str.o: $(hdrdir)/ruby/internal/cast.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +big2str.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +big2str.o: $(hdrdir)/ruby/internal/compiler_since.h +big2str.o: $(hdrdir)/ruby/internal/config.h +big2str.o: $(hdrdir)/ruby/internal/constant_p.h +big2str.o: $(hdrdir)/ruby/internal/core.h +big2str.o: $(hdrdir)/ruby/internal/core/rarray.h +big2str.o: $(hdrdir)/ruby/internal/core/rbasic.h +big2str.o: $(hdrdir)/ruby/internal/core/rbignum.h +big2str.o: $(hdrdir)/ruby/internal/core/rclass.h +big2str.o: $(hdrdir)/ruby/internal/core/rdata.h +big2str.o: $(hdrdir)/ruby/internal/core/rfile.h +big2str.o: $(hdrdir)/ruby/internal/core/rhash.h +big2str.o: $(hdrdir)/ruby/internal/core/robject.h +big2str.o: $(hdrdir)/ruby/internal/core/rregexp.h +big2str.o: $(hdrdir)/ruby/internal/core/rstring.h +big2str.o: $(hdrdir)/ruby/internal/core/rstruct.h +big2str.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +big2str.o: $(hdrdir)/ruby/internal/ctype.h +big2str.o: $(hdrdir)/ruby/internal/dllexport.h +big2str.o: $(hdrdir)/ruby/internal/dosish.h +big2str.o: $(hdrdir)/ruby/internal/error.h +big2str.o: $(hdrdir)/ruby/internal/eval.h +big2str.o: $(hdrdir)/ruby/internal/event.h +big2str.o: $(hdrdir)/ruby/internal/fl_type.h +big2str.o: $(hdrdir)/ruby/internal/gc.h +big2str.o: $(hdrdir)/ruby/internal/glob.h +big2str.o: $(hdrdir)/ruby/internal/globals.h +big2str.o: $(hdrdir)/ruby/internal/has/attribute.h +big2str.o: $(hdrdir)/ruby/internal/has/builtin.h +big2str.o: $(hdrdir)/ruby/internal/has/c_attribute.h +big2str.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +big2str.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +big2str.o: $(hdrdir)/ruby/internal/has/extension.h +big2str.o: $(hdrdir)/ruby/internal/has/feature.h +big2str.o: $(hdrdir)/ruby/internal/has/warning.h +big2str.o: $(hdrdir)/ruby/internal/intern/array.h +big2str.o: $(hdrdir)/ruby/internal/intern/bignum.h +big2str.o: $(hdrdir)/ruby/internal/intern/class.h +big2str.o: $(hdrdir)/ruby/internal/intern/compar.h +big2str.o: $(hdrdir)/ruby/internal/intern/complex.h +big2str.o: $(hdrdir)/ruby/internal/intern/cont.h +big2str.o: $(hdrdir)/ruby/internal/intern/dir.h +big2str.o: $(hdrdir)/ruby/internal/intern/enum.h +big2str.o: $(hdrdir)/ruby/internal/intern/enumerator.h +big2str.o: $(hdrdir)/ruby/internal/intern/error.h +big2str.o: $(hdrdir)/ruby/internal/intern/eval.h +big2str.o: $(hdrdir)/ruby/internal/intern/file.h +big2str.o: $(hdrdir)/ruby/internal/intern/hash.h +big2str.o: $(hdrdir)/ruby/internal/intern/io.h +big2str.o: $(hdrdir)/ruby/internal/intern/load.h +big2str.o: $(hdrdir)/ruby/internal/intern/marshal.h +big2str.o: $(hdrdir)/ruby/internal/intern/numeric.h +big2str.o: $(hdrdir)/ruby/internal/intern/object.h +big2str.o: $(hdrdir)/ruby/internal/intern/parse.h +big2str.o: $(hdrdir)/ruby/internal/intern/proc.h +big2str.o: $(hdrdir)/ruby/internal/intern/process.h +big2str.o: $(hdrdir)/ruby/internal/intern/random.h +big2str.o: $(hdrdir)/ruby/internal/intern/range.h +big2str.o: $(hdrdir)/ruby/internal/intern/rational.h +big2str.o: $(hdrdir)/ruby/internal/intern/re.h +big2str.o: $(hdrdir)/ruby/internal/intern/ruby.h +big2str.o: $(hdrdir)/ruby/internal/intern/select.h +big2str.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +big2str.o: $(hdrdir)/ruby/internal/intern/set.h +big2str.o: $(hdrdir)/ruby/internal/intern/signal.h +big2str.o: $(hdrdir)/ruby/internal/intern/sprintf.h +big2str.o: $(hdrdir)/ruby/internal/intern/string.h +big2str.o: $(hdrdir)/ruby/internal/intern/struct.h +big2str.o: $(hdrdir)/ruby/internal/intern/thread.h +big2str.o: $(hdrdir)/ruby/internal/intern/time.h +big2str.o: $(hdrdir)/ruby/internal/intern/variable.h +big2str.o: $(hdrdir)/ruby/internal/intern/vm.h +big2str.o: $(hdrdir)/ruby/internal/interpreter.h +big2str.o: $(hdrdir)/ruby/internal/iterator.h +big2str.o: $(hdrdir)/ruby/internal/memory.h +big2str.o: $(hdrdir)/ruby/internal/method.h +big2str.o: $(hdrdir)/ruby/internal/module.h +big2str.o: $(hdrdir)/ruby/internal/newobj.h +big2str.o: $(hdrdir)/ruby/internal/scan_args.h +big2str.o: $(hdrdir)/ruby/internal/special_consts.h +big2str.o: $(hdrdir)/ruby/internal/static_assert.h +big2str.o: $(hdrdir)/ruby/internal/stdalign.h +big2str.o: $(hdrdir)/ruby/internal/stdbool.h +big2str.o: $(hdrdir)/ruby/internal/stdckdint.h +big2str.o: $(hdrdir)/ruby/internal/symbol.h +big2str.o: $(hdrdir)/ruby/internal/value.h +big2str.o: $(hdrdir)/ruby/internal/value_type.h +big2str.o: $(hdrdir)/ruby/internal/variable.h +big2str.o: $(hdrdir)/ruby/internal/warning_push.h +big2str.o: $(hdrdir)/ruby/internal/xmalloc.h +big2str.o: $(hdrdir)/ruby/missing.h +big2str.o: $(hdrdir)/ruby/ruby.h +big2str.o: $(hdrdir)/ruby/st.h +big2str.o: $(hdrdir)/ruby/subst.h +big2str.o: $(top_srcdir)/internal/bignum.h +big2str.o: $(top_srcdir)/internal/compilers.h +big2str.o: big2str.c +bigzero.o: $(RUBY_EXTCONF_H) +bigzero.o: $(arch_hdrdir)/ruby/config.h +bigzero.o: $(hdrdir)/ruby/assert.h +bigzero.o: $(hdrdir)/ruby/backward.h +bigzero.o: $(hdrdir)/ruby/backward/2/assume.h +bigzero.o: $(hdrdir)/ruby/backward/2/attributes.h +bigzero.o: $(hdrdir)/ruby/backward/2/bool.h +bigzero.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +bigzero.o: $(hdrdir)/ruby/backward/2/inttypes.h +bigzero.o: $(hdrdir)/ruby/backward/2/limits.h +bigzero.o: $(hdrdir)/ruby/backward/2/long_long.h +bigzero.o: $(hdrdir)/ruby/backward/2/stdalign.h +bigzero.o: $(hdrdir)/ruby/backward/2/stdarg.h +bigzero.o: $(hdrdir)/ruby/defines.h +bigzero.o: $(hdrdir)/ruby/intern.h +bigzero.o: $(hdrdir)/ruby/internal/abi.h +bigzero.o: $(hdrdir)/ruby/internal/anyargs.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bigzero.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bigzero.o: $(hdrdir)/ruby/internal/assume.h +bigzero.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bigzero.o: $(hdrdir)/ruby/internal/attr/artificial.h +bigzero.o: $(hdrdir)/ruby/internal/attr/cold.h +bigzero.o: $(hdrdir)/ruby/internal/attr/const.h +bigzero.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bigzero.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bigzero.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bigzero.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bigzero.o: $(hdrdir)/ruby/internal/attr/error.h +bigzero.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bigzero.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bigzero.o: $(hdrdir)/ruby/internal/attr/format.h +bigzero.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bigzero.o: $(hdrdir)/ruby/internal/attr/noalias.h +bigzero.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bigzero.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bigzero.o: $(hdrdir)/ruby/internal/attr/noinline.h +bigzero.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bigzero.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bigzero.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bigzero.o: $(hdrdir)/ruby/internal/attr/pure.h +bigzero.o: $(hdrdir)/ruby/internal/attr/restrict.h +bigzero.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bigzero.o: $(hdrdir)/ruby/internal/attr/warning.h +bigzero.o: $(hdrdir)/ruby/internal/attr/weakref.h +bigzero.o: $(hdrdir)/ruby/internal/cast.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bigzero.o: $(hdrdir)/ruby/internal/compiler_since.h +bigzero.o: $(hdrdir)/ruby/internal/config.h +bigzero.o: $(hdrdir)/ruby/internal/constant_p.h +bigzero.o: $(hdrdir)/ruby/internal/core.h +bigzero.o: $(hdrdir)/ruby/internal/core/rarray.h +bigzero.o: $(hdrdir)/ruby/internal/core/rbasic.h +bigzero.o: $(hdrdir)/ruby/internal/core/rbignum.h +bigzero.o: $(hdrdir)/ruby/internal/core/rclass.h +bigzero.o: $(hdrdir)/ruby/internal/core/rdata.h +bigzero.o: $(hdrdir)/ruby/internal/core/rfile.h +bigzero.o: $(hdrdir)/ruby/internal/core/rhash.h +bigzero.o: $(hdrdir)/ruby/internal/core/robject.h +bigzero.o: $(hdrdir)/ruby/internal/core/rregexp.h +bigzero.o: $(hdrdir)/ruby/internal/core/rstring.h +bigzero.o: $(hdrdir)/ruby/internal/core/rstruct.h +bigzero.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bigzero.o: $(hdrdir)/ruby/internal/ctype.h +bigzero.o: $(hdrdir)/ruby/internal/dllexport.h +bigzero.o: $(hdrdir)/ruby/internal/dosish.h +bigzero.o: $(hdrdir)/ruby/internal/error.h +bigzero.o: $(hdrdir)/ruby/internal/eval.h +bigzero.o: $(hdrdir)/ruby/internal/event.h +bigzero.o: $(hdrdir)/ruby/internal/fl_type.h +bigzero.o: $(hdrdir)/ruby/internal/gc.h +bigzero.o: $(hdrdir)/ruby/internal/glob.h +bigzero.o: $(hdrdir)/ruby/internal/globals.h +bigzero.o: $(hdrdir)/ruby/internal/has/attribute.h +bigzero.o: $(hdrdir)/ruby/internal/has/builtin.h +bigzero.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bigzero.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bigzero.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bigzero.o: $(hdrdir)/ruby/internal/has/extension.h +bigzero.o: $(hdrdir)/ruby/internal/has/feature.h +bigzero.o: $(hdrdir)/ruby/internal/has/warning.h +bigzero.o: $(hdrdir)/ruby/internal/intern/array.h +bigzero.o: $(hdrdir)/ruby/internal/intern/bignum.h +bigzero.o: $(hdrdir)/ruby/internal/intern/class.h +bigzero.o: $(hdrdir)/ruby/internal/intern/compar.h +bigzero.o: $(hdrdir)/ruby/internal/intern/complex.h +bigzero.o: $(hdrdir)/ruby/internal/intern/cont.h +bigzero.o: $(hdrdir)/ruby/internal/intern/dir.h +bigzero.o: $(hdrdir)/ruby/internal/intern/enum.h +bigzero.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bigzero.o: $(hdrdir)/ruby/internal/intern/error.h +bigzero.o: $(hdrdir)/ruby/internal/intern/eval.h +bigzero.o: $(hdrdir)/ruby/internal/intern/file.h +bigzero.o: $(hdrdir)/ruby/internal/intern/hash.h +bigzero.o: $(hdrdir)/ruby/internal/intern/io.h +bigzero.o: $(hdrdir)/ruby/internal/intern/load.h +bigzero.o: $(hdrdir)/ruby/internal/intern/marshal.h +bigzero.o: $(hdrdir)/ruby/internal/intern/numeric.h +bigzero.o: $(hdrdir)/ruby/internal/intern/object.h +bigzero.o: $(hdrdir)/ruby/internal/intern/parse.h +bigzero.o: $(hdrdir)/ruby/internal/intern/proc.h +bigzero.o: $(hdrdir)/ruby/internal/intern/process.h +bigzero.o: $(hdrdir)/ruby/internal/intern/random.h +bigzero.o: $(hdrdir)/ruby/internal/intern/range.h +bigzero.o: $(hdrdir)/ruby/internal/intern/rational.h +bigzero.o: $(hdrdir)/ruby/internal/intern/re.h +bigzero.o: $(hdrdir)/ruby/internal/intern/ruby.h +bigzero.o: $(hdrdir)/ruby/internal/intern/select.h +bigzero.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bigzero.o: $(hdrdir)/ruby/internal/intern/set.h +bigzero.o: $(hdrdir)/ruby/internal/intern/signal.h +bigzero.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bigzero.o: $(hdrdir)/ruby/internal/intern/string.h +bigzero.o: $(hdrdir)/ruby/internal/intern/struct.h +bigzero.o: $(hdrdir)/ruby/internal/intern/thread.h +bigzero.o: $(hdrdir)/ruby/internal/intern/time.h +bigzero.o: $(hdrdir)/ruby/internal/intern/variable.h +bigzero.o: $(hdrdir)/ruby/internal/intern/vm.h +bigzero.o: $(hdrdir)/ruby/internal/interpreter.h +bigzero.o: $(hdrdir)/ruby/internal/iterator.h +bigzero.o: $(hdrdir)/ruby/internal/memory.h +bigzero.o: $(hdrdir)/ruby/internal/method.h +bigzero.o: $(hdrdir)/ruby/internal/module.h +bigzero.o: $(hdrdir)/ruby/internal/newobj.h +bigzero.o: $(hdrdir)/ruby/internal/scan_args.h +bigzero.o: $(hdrdir)/ruby/internal/special_consts.h +bigzero.o: $(hdrdir)/ruby/internal/static_assert.h +bigzero.o: $(hdrdir)/ruby/internal/stdalign.h +bigzero.o: $(hdrdir)/ruby/internal/stdbool.h +bigzero.o: $(hdrdir)/ruby/internal/stdckdint.h +bigzero.o: $(hdrdir)/ruby/internal/symbol.h +bigzero.o: $(hdrdir)/ruby/internal/value.h +bigzero.o: $(hdrdir)/ruby/internal/value_type.h +bigzero.o: $(hdrdir)/ruby/internal/variable.h +bigzero.o: $(hdrdir)/ruby/internal/warning_push.h +bigzero.o: $(hdrdir)/ruby/internal/xmalloc.h +bigzero.o: $(hdrdir)/ruby/missing.h +bigzero.o: $(hdrdir)/ruby/ruby.h +bigzero.o: $(hdrdir)/ruby/st.h +bigzero.o: $(hdrdir)/ruby/subst.h +bigzero.o: $(top_srcdir)/internal/bignum.h +bigzero.o: $(top_srcdir)/internal/compilers.h +bigzero.o: bigzero.c +div.o: $(RUBY_EXTCONF_H) +div.o: $(arch_hdrdir)/ruby/config.h +div.o: $(hdrdir)/ruby/assert.h +div.o: $(hdrdir)/ruby/backward.h +div.o: $(hdrdir)/ruby/backward/2/assume.h +div.o: $(hdrdir)/ruby/backward/2/attributes.h +div.o: $(hdrdir)/ruby/backward/2/bool.h +div.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +div.o: $(hdrdir)/ruby/backward/2/inttypes.h +div.o: $(hdrdir)/ruby/backward/2/limits.h +div.o: $(hdrdir)/ruby/backward/2/long_long.h +div.o: $(hdrdir)/ruby/backward/2/stdalign.h +div.o: $(hdrdir)/ruby/backward/2/stdarg.h +div.o: $(hdrdir)/ruby/defines.h +div.o: $(hdrdir)/ruby/intern.h +div.o: $(hdrdir)/ruby/internal/abi.h +div.o: $(hdrdir)/ruby/internal/anyargs.h +div.o: $(hdrdir)/ruby/internal/arithmetic.h +div.o: $(hdrdir)/ruby/internal/arithmetic/char.h +div.o: $(hdrdir)/ruby/internal/arithmetic/double.h +div.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +div.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/int.h +div.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/long.h +div.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +div.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/short.h +div.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +div.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +div.o: $(hdrdir)/ruby/internal/assume.h +div.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +div.o: $(hdrdir)/ruby/internal/attr/artificial.h +div.o: $(hdrdir)/ruby/internal/attr/cold.h +div.o: $(hdrdir)/ruby/internal/attr/const.h +div.o: $(hdrdir)/ruby/internal/attr/constexpr.h +div.o: $(hdrdir)/ruby/internal/attr/deprecated.h +div.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +div.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +div.o: $(hdrdir)/ruby/internal/attr/error.h +div.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +div.o: $(hdrdir)/ruby/internal/attr/forceinline.h +div.o: $(hdrdir)/ruby/internal/attr/format.h +div.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +div.o: $(hdrdir)/ruby/internal/attr/noalias.h +div.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +div.o: $(hdrdir)/ruby/internal/attr/noexcept.h +div.o: $(hdrdir)/ruby/internal/attr/noinline.h +div.o: $(hdrdir)/ruby/internal/attr/nonnull.h +div.o: $(hdrdir)/ruby/internal/attr/noreturn.h +div.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +div.o: $(hdrdir)/ruby/internal/attr/pure.h +div.o: $(hdrdir)/ruby/internal/attr/restrict.h +div.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +div.o: $(hdrdir)/ruby/internal/attr/warning.h +div.o: $(hdrdir)/ruby/internal/attr/weakref.h +div.o: $(hdrdir)/ruby/internal/cast.h +div.o: $(hdrdir)/ruby/internal/compiler_is.h +div.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +div.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +div.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +div.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +div.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +div.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +div.o: $(hdrdir)/ruby/internal/compiler_since.h +div.o: $(hdrdir)/ruby/internal/config.h +div.o: $(hdrdir)/ruby/internal/constant_p.h +div.o: $(hdrdir)/ruby/internal/core.h +div.o: $(hdrdir)/ruby/internal/core/rarray.h +div.o: $(hdrdir)/ruby/internal/core/rbasic.h +div.o: $(hdrdir)/ruby/internal/core/rbignum.h +div.o: $(hdrdir)/ruby/internal/core/rclass.h +div.o: $(hdrdir)/ruby/internal/core/rdata.h +div.o: $(hdrdir)/ruby/internal/core/rfile.h +div.o: $(hdrdir)/ruby/internal/core/rhash.h +div.o: $(hdrdir)/ruby/internal/core/robject.h +div.o: $(hdrdir)/ruby/internal/core/rregexp.h +div.o: $(hdrdir)/ruby/internal/core/rstring.h +div.o: $(hdrdir)/ruby/internal/core/rstruct.h +div.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +div.o: $(hdrdir)/ruby/internal/ctype.h +div.o: $(hdrdir)/ruby/internal/dllexport.h +div.o: $(hdrdir)/ruby/internal/dosish.h +div.o: $(hdrdir)/ruby/internal/error.h +div.o: $(hdrdir)/ruby/internal/eval.h +div.o: $(hdrdir)/ruby/internal/event.h +div.o: $(hdrdir)/ruby/internal/fl_type.h +div.o: $(hdrdir)/ruby/internal/gc.h +div.o: $(hdrdir)/ruby/internal/glob.h +div.o: $(hdrdir)/ruby/internal/globals.h +div.o: $(hdrdir)/ruby/internal/has/attribute.h +div.o: $(hdrdir)/ruby/internal/has/builtin.h +div.o: $(hdrdir)/ruby/internal/has/c_attribute.h +div.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +div.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +div.o: $(hdrdir)/ruby/internal/has/extension.h +div.o: $(hdrdir)/ruby/internal/has/feature.h +div.o: $(hdrdir)/ruby/internal/has/warning.h +div.o: $(hdrdir)/ruby/internal/intern/array.h +div.o: $(hdrdir)/ruby/internal/intern/bignum.h +div.o: $(hdrdir)/ruby/internal/intern/class.h +div.o: $(hdrdir)/ruby/internal/intern/compar.h +div.o: $(hdrdir)/ruby/internal/intern/complex.h +div.o: $(hdrdir)/ruby/internal/intern/cont.h +div.o: $(hdrdir)/ruby/internal/intern/dir.h +div.o: $(hdrdir)/ruby/internal/intern/enum.h +div.o: $(hdrdir)/ruby/internal/intern/enumerator.h +div.o: $(hdrdir)/ruby/internal/intern/error.h +div.o: $(hdrdir)/ruby/internal/intern/eval.h +div.o: $(hdrdir)/ruby/internal/intern/file.h +div.o: $(hdrdir)/ruby/internal/intern/hash.h +div.o: $(hdrdir)/ruby/internal/intern/io.h +div.o: $(hdrdir)/ruby/internal/intern/load.h +div.o: $(hdrdir)/ruby/internal/intern/marshal.h +div.o: $(hdrdir)/ruby/internal/intern/numeric.h +div.o: $(hdrdir)/ruby/internal/intern/object.h +div.o: $(hdrdir)/ruby/internal/intern/parse.h +div.o: $(hdrdir)/ruby/internal/intern/proc.h +div.o: $(hdrdir)/ruby/internal/intern/process.h +div.o: $(hdrdir)/ruby/internal/intern/random.h +div.o: $(hdrdir)/ruby/internal/intern/range.h +div.o: $(hdrdir)/ruby/internal/intern/rational.h +div.o: $(hdrdir)/ruby/internal/intern/re.h +div.o: $(hdrdir)/ruby/internal/intern/ruby.h +div.o: $(hdrdir)/ruby/internal/intern/select.h +div.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +div.o: $(hdrdir)/ruby/internal/intern/set.h +div.o: $(hdrdir)/ruby/internal/intern/signal.h +div.o: $(hdrdir)/ruby/internal/intern/sprintf.h +div.o: $(hdrdir)/ruby/internal/intern/string.h +div.o: $(hdrdir)/ruby/internal/intern/struct.h +div.o: $(hdrdir)/ruby/internal/intern/thread.h +div.o: $(hdrdir)/ruby/internal/intern/time.h +div.o: $(hdrdir)/ruby/internal/intern/variable.h +div.o: $(hdrdir)/ruby/internal/intern/vm.h +div.o: $(hdrdir)/ruby/internal/interpreter.h +div.o: $(hdrdir)/ruby/internal/iterator.h +div.o: $(hdrdir)/ruby/internal/memory.h +div.o: $(hdrdir)/ruby/internal/method.h +div.o: $(hdrdir)/ruby/internal/module.h +div.o: $(hdrdir)/ruby/internal/newobj.h +div.o: $(hdrdir)/ruby/internal/scan_args.h +div.o: $(hdrdir)/ruby/internal/special_consts.h +div.o: $(hdrdir)/ruby/internal/static_assert.h +div.o: $(hdrdir)/ruby/internal/stdalign.h +div.o: $(hdrdir)/ruby/internal/stdbool.h +div.o: $(hdrdir)/ruby/internal/stdckdint.h +div.o: $(hdrdir)/ruby/internal/symbol.h +div.o: $(hdrdir)/ruby/internal/value.h +div.o: $(hdrdir)/ruby/internal/value_type.h +div.o: $(hdrdir)/ruby/internal/variable.h +div.o: $(hdrdir)/ruby/internal/warning_push.h +div.o: $(hdrdir)/ruby/internal/xmalloc.h +div.o: $(hdrdir)/ruby/missing.h +div.o: $(hdrdir)/ruby/ruby.h +div.o: $(hdrdir)/ruby/st.h +div.o: $(hdrdir)/ruby/subst.h +div.o: $(top_srcdir)/internal/bignum.h +div.o: $(top_srcdir)/internal/compilers.h +div.o: div.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +intpack.o: $(RUBY_EXTCONF_H) +intpack.o: $(arch_hdrdir)/ruby/config.h +intpack.o: $(hdrdir)/ruby/assert.h +intpack.o: $(hdrdir)/ruby/backward.h +intpack.o: $(hdrdir)/ruby/backward/2/assume.h +intpack.o: $(hdrdir)/ruby/backward/2/attributes.h +intpack.o: $(hdrdir)/ruby/backward/2/bool.h +intpack.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +intpack.o: $(hdrdir)/ruby/backward/2/inttypes.h +intpack.o: $(hdrdir)/ruby/backward/2/limits.h +intpack.o: $(hdrdir)/ruby/backward/2/long_long.h +intpack.o: $(hdrdir)/ruby/backward/2/stdalign.h +intpack.o: $(hdrdir)/ruby/backward/2/stdarg.h +intpack.o: $(hdrdir)/ruby/defines.h +intpack.o: $(hdrdir)/ruby/intern.h +intpack.o: $(hdrdir)/ruby/internal/abi.h +intpack.o: $(hdrdir)/ruby/internal/anyargs.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/char.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/double.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/int.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/long.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/short.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +intpack.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +intpack.o: $(hdrdir)/ruby/internal/assume.h +intpack.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +intpack.o: $(hdrdir)/ruby/internal/attr/artificial.h +intpack.o: $(hdrdir)/ruby/internal/attr/cold.h +intpack.o: $(hdrdir)/ruby/internal/attr/const.h +intpack.o: $(hdrdir)/ruby/internal/attr/constexpr.h +intpack.o: $(hdrdir)/ruby/internal/attr/deprecated.h +intpack.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +intpack.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +intpack.o: $(hdrdir)/ruby/internal/attr/error.h +intpack.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +intpack.o: $(hdrdir)/ruby/internal/attr/forceinline.h +intpack.o: $(hdrdir)/ruby/internal/attr/format.h +intpack.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +intpack.o: $(hdrdir)/ruby/internal/attr/noalias.h +intpack.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +intpack.o: $(hdrdir)/ruby/internal/attr/noexcept.h +intpack.o: $(hdrdir)/ruby/internal/attr/noinline.h +intpack.o: $(hdrdir)/ruby/internal/attr/nonnull.h +intpack.o: $(hdrdir)/ruby/internal/attr/noreturn.h +intpack.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +intpack.o: $(hdrdir)/ruby/internal/attr/pure.h +intpack.o: $(hdrdir)/ruby/internal/attr/restrict.h +intpack.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +intpack.o: $(hdrdir)/ruby/internal/attr/warning.h +intpack.o: $(hdrdir)/ruby/internal/attr/weakref.h +intpack.o: $(hdrdir)/ruby/internal/cast.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +intpack.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +intpack.o: $(hdrdir)/ruby/internal/compiler_since.h +intpack.o: $(hdrdir)/ruby/internal/config.h +intpack.o: $(hdrdir)/ruby/internal/constant_p.h +intpack.o: $(hdrdir)/ruby/internal/core.h +intpack.o: $(hdrdir)/ruby/internal/core/rarray.h +intpack.o: $(hdrdir)/ruby/internal/core/rbasic.h +intpack.o: $(hdrdir)/ruby/internal/core/rbignum.h +intpack.o: $(hdrdir)/ruby/internal/core/rclass.h +intpack.o: $(hdrdir)/ruby/internal/core/rdata.h +intpack.o: $(hdrdir)/ruby/internal/core/rfile.h +intpack.o: $(hdrdir)/ruby/internal/core/rhash.h +intpack.o: $(hdrdir)/ruby/internal/core/robject.h +intpack.o: $(hdrdir)/ruby/internal/core/rregexp.h +intpack.o: $(hdrdir)/ruby/internal/core/rstring.h +intpack.o: $(hdrdir)/ruby/internal/core/rstruct.h +intpack.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +intpack.o: $(hdrdir)/ruby/internal/ctype.h +intpack.o: $(hdrdir)/ruby/internal/dllexport.h +intpack.o: $(hdrdir)/ruby/internal/dosish.h +intpack.o: $(hdrdir)/ruby/internal/error.h +intpack.o: $(hdrdir)/ruby/internal/eval.h +intpack.o: $(hdrdir)/ruby/internal/event.h +intpack.o: $(hdrdir)/ruby/internal/fl_type.h +intpack.o: $(hdrdir)/ruby/internal/gc.h +intpack.o: $(hdrdir)/ruby/internal/glob.h +intpack.o: $(hdrdir)/ruby/internal/globals.h +intpack.o: $(hdrdir)/ruby/internal/has/attribute.h +intpack.o: $(hdrdir)/ruby/internal/has/builtin.h +intpack.o: $(hdrdir)/ruby/internal/has/c_attribute.h +intpack.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +intpack.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +intpack.o: $(hdrdir)/ruby/internal/has/extension.h +intpack.o: $(hdrdir)/ruby/internal/has/feature.h +intpack.o: $(hdrdir)/ruby/internal/has/warning.h +intpack.o: $(hdrdir)/ruby/internal/intern/array.h +intpack.o: $(hdrdir)/ruby/internal/intern/bignum.h +intpack.o: $(hdrdir)/ruby/internal/intern/class.h +intpack.o: $(hdrdir)/ruby/internal/intern/compar.h +intpack.o: $(hdrdir)/ruby/internal/intern/complex.h +intpack.o: $(hdrdir)/ruby/internal/intern/cont.h +intpack.o: $(hdrdir)/ruby/internal/intern/dir.h +intpack.o: $(hdrdir)/ruby/internal/intern/enum.h +intpack.o: $(hdrdir)/ruby/internal/intern/enumerator.h +intpack.o: $(hdrdir)/ruby/internal/intern/error.h +intpack.o: $(hdrdir)/ruby/internal/intern/eval.h +intpack.o: $(hdrdir)/ruby/internal/intern/file.h +intpack.o: $(hdrdir)/ruby/internal/intern/hash.h +intpack.o: $(hdrdir)/ruby/internal/intern/io.h +intpack.o: $(hdrdir)/ruby/internal/intern/load.h +intpack.o: $(hdrdir)/ruby/internal/intern/marshal.h +intpack.o: $(hdrdir)/ruby/internal/intern/numeric.h +intpack.o: $(hdrdir)/ruby/internal/intern/object.h +intpack.o: $(hdrdir)/ruby/internal/intern/parse.h +intpack.o: $(hdrdir)/ruby/internal/intern/proc.h +intpack.o: $(hdrdir)/ruby/internal/intern/process.h +intpack.o: $(hdrdir)/ruby/internal/intern/random.h +intpack.o: $(hdrdir)/ruby/internal/intern/range.h +intpack.o: $(hdrdir)/ruby/internal/intern/rational.h +intpack.o: $(hdrdir)/ruby/internal/intern/re.h +intpack.o: $(hdrdir)/ruby/internal/intern/ruby.h +intpack.o: $(hdrdir)/ruby/internal/intern/select.h +intpack.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +intpack.o: $(hdrdir)/ruby/internal/intern/set.h +intpack.o: $(hdrdir)/ruby/internal/intern/signal.h +intpack.o: $(hdrdir)/ruby/internal/intern/sprintf.h +intpack.o: $(hdrdir)/ruby/internal/intern/string.h +intpack.o: $(hdrdir)/ruby/internal/intern/struct.h +intpack.o: $(hdrdir)/ruby/internal/intern/thread.h +intpack.o: $(hdrdir)/ruby/internal/intern/time.h +intpack.o: $(hdrdir)/ruby/internal/intern/variable.h +intpack.o: $(hdrdir)/ruby/internal/intern/vm.h +intpack.o: $(hdrdir)/ruby/internal/interpreter.h +intpack.o: $(hdrdir)/ruby/internal/iterator.h +intpack.o: $(hdrdir)/ruby/internal/memory.h +intpack.o: $(hdrdir)/ruby/internal/method.h +intpack.o: $(hdrdir)/ruby/internal/module.h +intpack.o: $(hdrdir)/ruby/internal/newobj.h +intpack.o: $(hdrdir)/ruby/internal/scan_args.h +intpack.o: $(hdrdir)/ruby/internal/special_consts.h +intpack.o: $(hdrdir)/ruby/internal/static_assert.h +intpack.o: $(hdrdir)/ruby/internal/stdalign.h +intpack.o: $(hdrdir)/ruby/internal/stdbool.h +intpack.o: $(hdrdir)/ruby/internal/stdckdint.h +intpack.o: $(hdrdir)/ruby/internal/symbol.h +intpack.o: $(hdrdir)/ruby/internal/value.h +intpack.o: $(hdrdir)/ruby/internal/value_type.h +intpack.o: $(hdrdir)/ruby/internal/variable.h +intpack.o: $(hdrdir)/ruby/internal/warning_push.h +intpack.o: $(hdrdir)/ruby/internal/xmalloc.h +intpack.o: $(hdrdir)/ruby/missing.h +intpack.o: $(hdrdir)/ruby/ruby.h +intpack.o: $(hdrdir)/ruby/st.h +intpack.o: $(hdrdir)/ruby/subst.h +intpack.o: $(top_srcdir)/internal/bignum.h +intpack.o: $(top_srcdir)/internal/compilers.h +intpack.o: intpack.c +mul.o: $(RUBY_EXTCONF_H) +mul.o: $(arch_hdrdir)/ruby/config.h +mul.o: $(hdrdir)/ruby/assert.h +mul.o: $(hdrdir)/ruby/backward.h +mul.o: $(hdrdir)/ruby/backward/2/assume.h +mul.o: $(hdrdir)/ruby/backward/2/attributes.h +mul.o: $(hdrdir)/ruby/backward/2/bool.h +mul.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +mul.o: $(hdrdir)/ruby/backward/2/inttypes.h +mul.o: $(hdrdir)/ruby/backward/2/limits.h +mul.o: $(hdrdir)/ruby/backward/2/long_long.h +mul.o: $(hdrdir)/ruby/backward/2/stdalign.h +mul.o: $(hdrdir)/ruby/backward/2/stdarg.h +mul.o: $(hdrdir)/ruby/defines.h +mul.o: $(hdrdir)/ruby/intern.h +mul.o: $(hdrdir)/ruby/internal/abi.h +mul.o: $(hdrdir)/ruby/internal/anyargs.h +mul.o: $(hdrdir)/ruby/internal/arithmetic.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/char.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/double.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/int.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/long.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/short.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +mul.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +mul.o: $(hdrdir)/ruby/internal/assume.h +mul.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +mul.o: $(hdrdir)/ruby/internal/attr/artificial.h +mul.o: $(hdrdir)/ruby/internal/attr/cold.h +mul.o: $(hdrdir)/ruby/internal/attr/const.h +mul.o: $(hdrdir)/ruby/internal/attr/constexpr.h +mul.o: $(hdrdir)/ruby/internal/attr/deprecated.h +mul.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +mul.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +mul.o: $(hdrdir)/ruby/internal/attr/error.h +mul.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +mul.o: $(hdrdir)/ruby/internal/attr/forceinline.h +mul.o: $(hdrdir)/ruby/internal/attr/format.h +mul.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +mul.o: $(hdrdir)/ruby/internal/attr/noalias.h +mul.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +mul.o: $(hdrdir)/ruby/internal/attr/noexcept.h +mul.o: $(hdrdir)/ruby/internal/attr/noinline.h +mul.o: $(hdrdir)/ruby/internal/attr/nonnull.h +mul.o: $(hdrdir)/ruby/internal/attr/noreturn.h +mul.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +mul.o: $(hdrdir)/ruby/internal/attr/pure.h +mul.o: $(hdrdir)/ruby/internal/attr/restrict.h +mul.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +mul.o: $(hdrdir)/ruby/internal/attr/warning.h +mul.o: $(hdrdir)/ruby/internal/attr/weakref.h +mul.o: $(hdrdir)/ruby/internal/cast.h +mul.o: $(hdrdir)/ruby/internal/compiler_is.h +mul.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +mul.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +mul.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +mul.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +mul.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +mul.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +mul.o: $(hdrdir)/ruby/internal/compiler_since.h +mul.o: $(hdrdir)/ruby/internal/config.h +mul.o: $(hdrdir)/ruby/internal/constant_p.h +mul.o: $(hdrdir)/ruby/internal/core.h +mul.o: $(hdrdir)/ruby/internal/core/rarray.h +mul.o: $(hdrdir)/ruby/internal/core/rbasic.h +mul.o: $(hdrdir)/ruby/internal/core/rbignum.h +mul.o: $(hdrdir)/ruby/internal/core/rclass.h +mul.o: $(hdrdir)/ruby/internal/core/rdata.h +mul.o: $(hdrdir)/ruby/internal/core/rfile.h +mul.o: $(hdrdir)/ruby/internal/core/rhash.h +mul.o: $(hdrdir)/ruby/internal/core/robject.h +mul.o: $(hdrdir)/ruby/internal/core/rregexp.h +mul.o: $(hdrdir)/ruby/internal/core/rstring.h +mul.o: $(hdrdir)/ruby/internal/core/rstruct.h +mul.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +mul.o: $(hdrdir)/ruby/internal/ctype.h +mul.o: $(hdrdir)/ruby/internal/dllexport.h +mul.o: $(hdrdir)/ruby/internal/dosish.h +mul.o: $(hdrdir)/ruby/internal/error.h +mul.o: $(hdrdir)/ruby/internal/eval.h +mul.o: $(hdrdir)/ruby/internal/event.h +mul.o: $(hdrdir)/ruby/internal/fl_type.h +mul.o: $(hdrdir)/ruby/internal/gc.h +mul.o: $(hdrdir)/ruby/internal/glob.h +mul.o: $(hdrdir)/ruby/internal/globals.h +mul.o: $(hdrdir)/ruby/internal/has/attribute.h +mul.o: $(hdrdir)/ruby/internal/has/builtin.h +mul.o: $(hdrdir)/ruby/internal/has/c_attribute.h +mul.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +mul.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +mul.o: $(hdrdir)/ruby/internal/has/extension.h +mul.o: $(hdrdir)/ruby/internal/has/feature.h +mul.o: $(hdrdir)/ruby/internal/has/warning.h +mul.o: $(hdrdir)/ruby/internal/intern/array.h +mul.o: $(hdrdir)/ruby/internal/intern/bignum.h +mul.o: $(hdrdir)/ruby/internal/intern/class.h +mul.o: $(hdrdir)/ruby/internal/intern/compar.h +mul.o: $(hdrdir)/ruby/internal/intern/complex.h +mul.o: $(hdrdir)/ruby/internal/intern/cont.h +mul.o: $(hdrdir)/ruby/internal/intern/dir.h +mul.o: $(hdrdir)/ruby/internal/intern/enum.h +mul.o: $(hdrdir)/ruby/internal/intern/enumerator.h +mul.o: $(hdrdir)/ruby/internal/intern/error.h +mul.o: $(hdrdir)/ruby/internal/intern/eval.h +mul.o: $(hdrdir)/ruby/internal/intern/file.h +mul.o: $(hdrdir)/ruby/internal/intern/hash.h +mul.o: $(hdrdir)/ruby/internal/intern/io.h +mul.o: $(hdrdir)/ruby/internal/intern/load.h +mul.o: $(hdrdir)/ruby/internal/intern/marshal.h +mul.o: $(hdrdir)/ruby/internal/intern/numeric.h +mul.o: $(hdrdir)/ruby/internal/intern/object.h +mul.o: $(hdrdir)/ruby/internal/intern/parse.h +mul.o: $(hdrdir)/ruby/internal/intern/proc.h +mul.o: $(hdrdir)/ruby/internal/intern/process.h +mul.o: $(hdrdir)/ruby/internal/intern/random.h +mul.o: $(hdrdir)/ruby/internal/intern/range.h +mul.o: $(hdrdir)/ruby/internal/intern/rational.h +mul.o: $(hdrdir)/ruby/internal/intern/re.h +mul.o: $(hdrdir)/ruby/internal/intern/ruby.h +mul.o: $(hdrdir)/ruby/internal/intern/select.h +mul.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +mul.o: $(hdrdir)/ruby/internal/intern/set.h +mul.o: $(hdrdir)/ruby/internal/intern/signal.h +mul.o: $(hdrdir)/ruby/internal/intern/sprintf.h +mul.o: $(hdrdir)/ruby/internal/intern/string.h +mul.o: $(hdrdir)/ruby/internal/intern/struct.h +mul.o: $(hdrdir)/ruby/internal/intern/thread.h +mul.o: $(hdrdir)/ruby/internal/intern/time.h +mul.o: $(hdrdir)/ruby/internal/intern/variable.h +mul.o: $(hdrdir)/ruby/internal/intern/vm.h +mul.o: $(hdrdir)/ruby/internal/interpreter.h +mul.o: $(hdrdir)/ruby/internal/iterator.h +mul.o: $(hdrdir)/ruby/internal/memory.h +mul.o: $(hdrdir)/ruby/internal/method.h +mul.o: $(hdrdir)/ruby/internal/module.h +mul.o: $(hdrdir)/ruby/internal/newobj.h +mul.o: $(hdrdir)/ruby/internal/scan_args.h +mul.o: $(hdrdir)/ruby/internal/special_consts.h +mul.o: $(hdrdir)/ruby/internal/static_assert.h +mul.o: $(hdrdir)/ruby/internal/stdalign.h +mul.o: $(hdrdir)/ruby/internal/stdbool.h +mul.o: $(hdrdir)/ruby/internal/stdckdint.h +mul.o: $(hdrdir)/ruby/internal/symbol.h +mul.o: $(hdrdir)/ruby/internal/value.h +mul.o: $(hdrdir)/ruby/internal/value_type.h +mul.o: $(hdrdir)/ruby/internal/variable.h +mul.o: $(hdrdir)/ruby/internal/warning_push.h +mul.o: $(hdrdir)/ruby/internal/xmalloc.h +mul.o: $(hdrdir)/ruby/missing.h +mul.o: $(hdrdir)/ruby/ruby.h +mul.o: $(hdrdir)/ruby/st.h +mul.o: $(hdrdir)/ruby/subst.h +mul.o: $(top_srcdir)/internal/bignum.h +mul.o: $(top_srcdir)/internal/compilers.h +mul.o: mul.c +str2big.o: $(RUBY_EXTCONF_H) +str2big.o: $(arch_hdrdir)/ruby/config.h +str2big.o: $(hdrdir)/ruby/assert.h +str2big.o: $(hdrdir)/ruby/backward.h +str2big.o: $(hdrdir)/ruby/backward/2/assume.h +str2big.o: $(hdrdir)/ruby/backward/2/attributes.h +str2big.o: $(hdrdir)/ruby/backward/2/bool.h +str2big.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +str2big.o: $(hdrdir)/ruby/backward/2/inttypes.h +str2big.o: $(hdrdir)/ruby/backward/2/limits.h +str2big.o: $(hdrdir)/ruby/backward/2/long_long.h +str2big.o: $(hdrdir)/ruby/backward/2/stdalign.h +str2big.o: $(hdrdir)/ruby/backward/2/stdarg.h +str2big.o: $(hdrdir)/ruby/defines.h +str2big.o: $(hdrdir)/ruby/intern.h +str2big.o: $(hdrdir)/ruby/internal/abi.h +str2big.o: $(hdrdir)/ruby/internal/anyargs.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/char.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/double.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/int.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/long.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/short.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +str2big.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +str2big.o: $(hdrdir)/ruby/internal/assume.h +str2big.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +str2big.o: $(hdrdir)/ruby/internal/attr/artificial.h +str2big.o: $(hdrdir)/ruby/internal/attr/cold.h +str2big.o: $(hdrdir)/ruby/internal/attr/const.h +str2big.o: $(hdrdir)/ruby/internal/attr/constexpr.h +str2big.o: $(hdrdir)/ruby/internal/attr/deprecated.h +str2big.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +str2big.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +str2big.o: $(hdrdir)/ruby/internal/attr/error.h +str2big.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +str2big.o: $(hdrdir)/ruby/internal/attr/forceinline.h +str2big.o: $(hdrdir)/ruby/internal/attr/format.h +str2big.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +str2big.o: $(hdrdir)/ruby/internal/attr/noalias.h +str2big.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +str2big.o: $(hdrdir)/ruby/internal/attr/noexcept.h +str2big.o: $(hdrdir)/ruby/internal/attr/noinline.h +str2big.o: $(hdrdir)/ruby/internal/attr/nonnull.h +str2big.o: $(hdrdir)/ruby/internal/attr/noreturn.h +str2big.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +str2big.o: $(hdrdir)/ruby/internal/attr/pure.h +str2big.o: $(hdrdir)/ruby/internal/attr/restrict.h +str2big.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +str2big.o: $(hdrdir)/ruby/internal/attr/warning.h +str2big.o: $(hdrdir)/ruby/internal/attr/weakref.h +str2big.o: $(hdrdir)/ruby/internal/cast.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +str2big.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +str2big.o: $(hdrdir)/ruby/internal/compiler_since.h +str2big.o: $(hdrdir)/ruby/internal/config.h +str2big.o: $(hdrdir)/ruby/internal/constant_p.h +str2big.o: $(hdrdir)/ruby/internal/core.h +str2big.o: $(hdrdir)/ruby/internal/core/rarray.h +str2big.o: $(hdrdir)/ruby/internal/core/rbasic.h +str2big.o: $(hdrdir)/ruby/internal/core/rbignum.h +str2big.o: $(hdrdir)/ruby/internal/core/rclass.h +str2big.o: $(hdrdir)/ruby/internal/core/rdata.h +str2big.o: $(hdrdir)/ruby/internal/core/rfile.h +str2big.o: $(hdrdir)/ruby/internal/core/rhash.h +str2big.o: $(hdrdir)/ruby/internal/core/robject.h +str2big.o: $(hdrdir)/ruby/internal/core/rregexp.h +str2big.o: $(hdrdir)/ruby/internal/core/rstring.h +str2big.o: $(hdrdir)/ruby/internal/core/rstruct.h +str2big.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +str2big.o: $(hdrdir)/ruby/internal/ctype.h +str2big.o: $(hdrdir)/ruby/internal/dllexport.h +str2big.o: $(hdrdir)/ruby/internal/dosish.h +str2big.o: $(hdrdir)/ruby/internal/error.h +str2big.o: $(hdrdir)/ruby/internal/eval.h +str2big.o: $(hdrdir)/ruby/internal/event.h +str2big.o: $(hdrdir)/ruby/internal/fl_type.h +str2big.o: $(hdrdir)/ruby/internal/gc.h +str2big.o: $(hdrdir)/ruby/internal/glob.h +str2big.o: $(hdrdir)/ruby/internal/globals.h +str2big.o: $(hdrdir)/ruby/internal/has/attribute.h +str2big.o: $(hdrdir)/ruby/internal/has/builtin.h +str2big.o: $(hdrdir)/ruby/internal/has/c_attribute.h +str2big.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +str2big.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +str2big.o: $(hdrdir)/ruby/internal/has/extension.h +str2big.o: $(hdrdir)/ruby/internal/has/feature.h +str2big.o: $(hdrdir)/ruby/internal/has/warning.h +str2big.o: $(hdrdir)/ruby/internal/intern/array.h +str2big.o: $(hdrdir)/ruby/internal/intern/bignum.h +str2big.o: $(hdrdir)/ruby/internal/intern/class.h +str2big.o: $(hdrdir)/ruby/internal/intern/compar.h +str2big.o: $(hdrdir)/ruby/internal/intern/complex.h +str2big.o: $(hdrdir)/ruby/internal/intern/cont.h +str2big.o: $(hdrdir)/ruby/internal/intern/dir.h +str2big.o: $(hdrdir)/ruby/internal/intern/enum.h +str2big.o: $(hdrdir)/ruby/internal/intern/enumerator.h +str2big.o: $(hdrdir)/ruby/internal/intern/error.h +str2big.o: $(hdrdir)/ruby/internal/intern/eval.h +str2big.o: $(hdrdir)/ruby/internal/intern/file.h +str2big.o: $(hdrdir)/ruby/internal/intern/hash.h +str2big.o: $(hdrdir)/ruby/internal/intern/io.h +str2big.o: $(hdrdir)/ruby/internal/intern/load.h +str2big.o: $(hdrdir)/ruby/internal/intern/marshal.h +str2big.o: $(hdrdir)/ruby/internal/intern/numeric.h +str2big.o: $(hdrdir)/ruby/internal/intern/object.h +str2big.o: $(hdrdir)/ruby/internal/intern/parse.h +str2big.o: $(hdrdir)/ruby/internal/intern/proc.h +str2big.o: $(hdrdir)/ruby/internal/intern/process.h +str2big.o: $(hdrdir)/ruby/internal/intern/random.h +str2big.o: $(hdrdir)/ruby/internal/intern/range.h +str2big.o: $(hdrdir)/ruby/internal/intern/rational.h +str2big.o: $(hdrdir)/ruby/internal/intern/re.h +str2big.o: $(hdrdir)/ruby/internal/intern/ruby.h +str2big.o: $(hdrdir)/ruby/internal/intern/select.h +str2big.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +str2big.o: $(hdrdir)/ruby/internal/intern/set.h +str2big.o: $(hdrdir)/ruby/internal/intern/signal.h +str2big.o: $(hdrdir)/ruby/internal/intern/sprintf.h +str2big.o: $(hdrdir)/ruby/internal/intern/string.h +str2big.o: $(hdrdir)/ruby/internal/intern/struct.h +str2big.o: $(hdrdir)/ruby/internal/intern/thread.h +str2big.o: $(hdrdir)/ruby/internal/intern/time.h +str2big.o: $(hdrdir)/ruby/internal/intern/variable.h +str2big.o: $(hdrdir)/ruby/internal/intern/vm.h +str2big.o: $(hdrdir)/ruby/internal/interpreter.h +str2big.o: $(hdrdir)/ruby/internal/iterator.h +str2big.o: $(hdrdir)/ruby/internal/memory.h +str2big.o: $(hdrdir)/ruby/internal/method.h +str2big.o: $(hdrdir)/ruby/internal/module.h +str2big.o: $(hdrdir)/ruby/internal/newobj.h +str2big.o: $(hdrdir)/ruby/internal/scan_args.h +str2big.o: $(hdrdir)/ruby/internal/special_consts.h +str2big.o: $(hdrdir)/ruby/internal/static_assert.h +str2big.o: $(hdrdir)/ruby/internal/stdalign.h +str2big.o: $(hdrdir)/ruby/internal/stdbool.h +str2big.o: $(hdrdir)/ruby/internal/stdckdint.h +str2big.o: $(hdrdir)/ruby/internal/symbol.h +str2big.o: $(hdrdir)/ruby/internal/value.h +str2big.o: $(hdrdir)/ruby/internal/value_type.h +str2big.o: $(hdrdir)/ruby/internal/variable.h +str2big.o: $(hdrdir)/ruby/internal/warning_push.h +str2big.o: $(hdrdir)/ruby/internal/xmalloc.h +str2big.o: $(hdrdir)/ruby/missing.h +str2big.o: $(hdrdir)/ruby/ruby.h +str2big.o: $(hdrdir)/ruby/st.h +str2big.o: $(hdrdir)/ruby/subst.h +str2big.o: $(top_srcdir)/internal/bignum.h +str2big.o: $(top_srcdir)/internal/compilers.h +str2big.o: str2big.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/bignum/div.c b/ext/-test-/bignum/div.c new file mode 100644 index 0000000000..85ee0677fa --- /dev/null +++ b/ext/-test-/bignum/div.c @@ -0,0 +1,35 @@ +#include "internal/bignum.h" + +static VALUE +big(VALUE x) +{ + if (FIXNUM_P(x)) + return rb_int2big(FIX2LONG(x)); + if (RB_TYPE_P(x, T_BIGNUM)) + return x; + rb_raise(rb_eTypeError, "can't convert %s to Bignum", + rb_obj_classname(x)); +} + +static VALUE +divrem_normal(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_divrem_normal(big(x), big(y))); +} + +#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H) +static VALUE +divrem_gmp(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_divrem_gmp(big(x), big(y))); +} +#else +#define divrem_gmp rb_f_notimplement +#endif + +void +Init_div(VALUE klass) +{ + rb_define_singleton_method(klass, "big_divrem_normal", divrem_normal, 2); + rb_define_singleton_method(klass, "big_divrem_gmp", divrem_gmp, 2); +} diff --git a/ext/-test-/bignum/extconf.rb b/ext/-test-/bignum/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/bignum/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/bignum/init.c b/ext/-test-/bignum/init.c new file mode 100644 index 0000000000..82a159bf1d --- /dev/null +++ b/ext/-test-/bignum/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_bignum(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Bignum", rb_cString); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/bignum/intpack.c b/ext/-test-/bignum/intpack.c new file mode 100644 index 0000000000..d5591505e5 --- /dev/null +++ b/ext/-test-/bignum/intpack.c @@ -0,0 +1,87 @@ +#include "internal/bignum.h" + +static VALUE +rb_integer_pack_raw_m(VALUE klass, VALUE val, VALUE buf, VALUE numwords_arg, VALUE wordsize_arg, VALUE nails, VALUE flags) +{ + int sign; + size_t numwords = 0; + size_t wordsize = NUM2SIZET(wordsize_arg); + + StringValue(buf); + rb_str_modify(buf); + sign = rb_integer_pack(val, + RSTRING_PTR(buf), NUM2SIZET(numwords_arg), + NUM2SIZET(wordsize_arg), NUM2SIZET(nails), NUM2INT(flags)); + + return rb_ary_new_from_args(2, INT2NUM(sign), rb_str_new(RSTRING_PTR(buf), wordsize * numwords)); +} + +static VALUE +rb_integer_pack_m(VALUE klass, VALUE val, VALUE numwords_arg, VALUE wordsize_arg, VALUE nails, VALUE flags) +{ + int sign; + size_t numwords = NUM2SIZET(numwords_arg); + size_t wordsize = NUM2SIZET(wordsize_arg); + VALUE buf; + + if (numwords != 0 && wordsize != 0 && LONG_MAX / wordsize < numwords) + rb_raise(rb_eArgError, "too big numwords * wordsize"); + buf = rb_str_new(NULL, numwords * wordsize); + sign = rb_integer_pack(val, + RSTRING_PTR(buf), numwords, + wordsize, NUM2SIZET(nails), NUM2INT(flags)); + + return rb_assoc_new(INT2NUM(sign), buf); +} + +static VALUE +rb_integer_unpack_m(VALUE klass, VALUE buf, VALUE numwords, VALUE wordsize, VALUE nails, VALUE flags) +{ + StringValue(buf); + + return rb_integer_unpack(RSTRING_PTR(buf), + NUM2SIZET(numwords), NUM2SIZET(wordsize), + NUM2SIZET(nails), NUM2INT(flags)); +} + +static VALUE +rb_integer_test_numbits_2comp_without_sign(VALUE klass, VALUE val) +{ + size_t size; + int neg = FIXNUM_P(val) ? FIX2LONG(val) < 0 : BIGNUM_NEGATIVE_P(val); + size = rb_absint_numwords(val, 1, NULL) - (neg && rb_absint_singlebit_p(val)); + return SIZET2NUM(size); +} + +static VALUE +rb_integer_test_numbytes_2comp_with_sign(VALUE klass, VALUE val) +{ + int neg = FIXNUM_P(val) ? FIX2LONG(val) < 0 : BIGNUM_NEGATIVE_P(val); + int nlz_bits; + size_t size = rb_absint_size(val, &nlz_bits); + if (nlz_bits == 0 && !(neg && rb_absint_singlebit_p(val))) + size++; + return SIZET2NUM(size); +} + +void +Init_intpack(VALUE klass) +{ + rb_define_singleton_method(klass, "test_pack_raw", rb_integer_pack_raw_m, 6); + rb_define_singleton_method(klass, "test_pack", rb_integer_pack_m, 5); + rb_define_singleton_method(klass, "test_unpack", rb_integer_unpack_m, 5); + rb_define_const(klass, "INTEGER_PACK_MSWORD_FIRST", INT2NUM(INTEGER_PACK_MSWORD_FIRST)); + rb_define_const(klass, "INTEGER_PACK_LSWORD_FIRST", INT2NUM(INTEGER_PACK_LSWORD_FIRST)); + rb_define_const(klass, "INTEGER_PACK_MSBYTE_FIRST", INT2NUM(INTEGER_PACK_MSBYTE_FIRST)); + rb_define_const(klass, "INTEGER_PACK_LSBYTE_FIRST", INT2NUM(INTEGER_PACK_LSBYTE_FIRST)); + rb_define_const(klass, "INTEGER_PACK_NATIVE_BYTE_ORDER", INT2NUM(INTEGER_PACK_NATIVE_BYTE_ORDER)); + rb_define_const(klass, "INTEGER_PACK_2COMP", INT2NUM(INTEGER_PACK_2COMP)); + rb_define_const(klass, "INTEGER_PACK_LITTLE_ENDIAN", INT2NUM(INTEGER_PACK_LITTLE_ENDIAN)); + rb_define_const(klass, "INTEGER_PACK_BIG_ENDIAN", INT2NUM(INTEGER_PACK_BIG_ENDIAN)); + rb_define_const(klass, "INTEGER_PACK_FORCE_BIGNUM", INT2NUM(INTEGER_PACK_FORCE_BIGNUM)); + rb_define_const(klass, "INTEGER_PACK_NEGATIVE", INT2NUM(INTEGER_PACK_NEGATIVE)); + rb_define_const(klass, "INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION", INT2NUM(INTEGER_PACK_FORCE_GENERIC_IMPLEMENTATION)); + + rb_define_singleton_method(klass, "test_numbits_2comp_without_sign", rb_integer_test_numbits_2comp_without_sign, 1); + rb_define_singleton_method(klass, "test_numbytes_2comp_with_sign", rb_integer_test_numbytes_2comp_with_sign, 1); +} diff --git a/ext/-test-/bignum/mul.c b/ext/-test-/bignum/mul.c new file mode 100644 index 0000000000..05ba103c44 --- /dev/null +++ b/ext/-test-/bignum/mul.c @@ -0,0 +1,65 @@ +#include "internal/bignum.h" + +static VALUE +big(VALUE x) +{ + if (FIXNUM_P(x)) + return rb_int2big(FIX2LONG(x)); + if (RB_TYPE_P(x, T_BIGNUM)) + return x; + rb_raise(rb_eTypeError, "can't convert %s to Bignum", + rb_obj_classname(x)); +} + +static VALUE +mul_normal(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_mul_normal(big(x), big(y))); +} + +static VALUE +sq_fast(VALUE klass, VALUE x) +{ + return rb_big_norm(rb_big_sq_fast(big(x))); +} + +static VALUE +mul_balance(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_mul_balance(big(x), big(y))); +} + +static VALUE +mul_karatsuba(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_mul_karatsuba(big(x), big(y))); +} + +static VALUE +mul_toom3(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_mul_toom3(big(x), big(y))); +} + +#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H) +static VALUE +mul_gmp(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_big_mul_gmp(big(x), big(y))); +} +#else +#define mul_gmp rb_f_notimplement +#endif + +void +Init_mul(VALUE klass) +{ + rb_define_const(klass, "SIZEOF_BDIGIT", INT2NUM(SIZEOF_BDIGIT)); + rb_define_const(klass, "BITSPERDIG", INT2NUM(SIZEOF_BDIGIT * CHAR_BIT)); + rb_define_singleton_method(klass, "big_mul_normal", mul_normal, 2); + rb_define_singleton_method(klass, "big_sq_fast", sq_fast, 1); + rb_define_singleton_method(klass, "big_mul_balance", mul_balance, 2); + rb_define_singleton_method(klass, "big_mul_karatsuba", mul_karatsuba, 2); + rb_define_singleton_method(klass, "big_mul_toom3", mul_toom3, 2); + rb_define_singleton_method(klass, "big_mul_gmp", mul_gmp, 2); +} diff --git a/ext/-test-/bignum/str2big.c b/ext/-test-/bignum/str2big.c new file mode 100644 index 0000000000..337cf8fb6d --- /dev/null +++ b/ext/-test-/bignum/str2big.c @@ -0,0 +1,38 @@ +#include "internal/bignum.h" + +static VALUE +str2big_poweroftwo(VALUE klass, VALUE str, VALUE vbase, VALUE badcheck) +{ + return rb_str2big_poweroftwo(str, NUM2INT(vbase), RTEST(badcheck)); +} + +static VALUE +str2big_normal(VALUE klass, VALUE str, VALUE vbase, VALUE badcheck) +{ + return rb_str2big_normal(str, NUM2INT(vbase), RTEST(badcheck)); +} + +static VALUE +str2big_karatsuba(VALUE klass, VALUE str, VALUE vbase, VALUE badcheck) +{ + return rb_str2big_karatsuba(str, NUM2INT(vbase), RTEST(badcheck)); +} + +#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H) +static VALUE +str2big_gmp(VALUE klass, VALUE str, VALUE vbase, VALUE badcheck) +{ + return rb_str2big_gmp(str, NUM2INT(vbase), RTEST(badcheck)); +} +#else +#define str2big_gmp rb_f_notimplement +#endif + +void +Init_str2big(VALUE klass) +{ + rb_define_singleton_method(klass, "str2big_poweroftwo", str2big_poweroftwo, 3); + rb_define_singleton_method(klass, "str2big_normal", str2big_normal, 3); + rb_define_singleton_method(klass, "str2big_karatsuba", str2big_karatsuba, 3); + rb_define_singleton_method(klass, "str2big_gmp", str2big_gmp, 3); +} diff --git a/ext/-test-/box/yay1/extconf.rb b/ext/-test-/box/yay1/extconf.rb new file mode 100644 index 0000000000..54387cedf1 --- /dev/null +++ b/ext/-test-/box/yay1/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/box/yay1') diff --git a/ext/-test-/box/yay1/yay1.c b/ext/-test-/box/yay1/yay1.c new file mode 100644 index 0000000000..564a221c8c --- /dev/null +++ b/ext/-test-/box/yay1/yay1.c @@ -0,0 +1,28 @@ +#include "yay1.h" + +VALUE +yay_value(void) +{ + return rb_str_new_cstr("yay"); +} + +static VALUE +yay1_f_version(VALUE klass) +{ + return rb_str_new_cstr("1.0.0"); +} + +static VALUE +yay1_yay(VALUE klass) +{ + return yay_value(); +} + +void +Init_yay1(void) +{ + VALUE mod = rb_define_module("Yay"); + rb_define_const(mod, "VERSION", rb_str_new_cstr("1.0.0")); + rb_define_singleton_method(mod, "version", yay1_f_version, 0); + rb_define_singleton_method(mod, "yay", yay1_yay, 0); +} diff --git a/ext/-test-/box/yay1/yay1.def b/ext/-test-/box/yay1/yay1.def new file mode 100644 index 0000000000..510fbe7017 --- /dev/null +++ b/ext/-test-/box/yay1/yay1.def @@ -0,0 +1,3 @@ +EXPORTS + Init_yay1 + yay_value diff --git a/ext/-test-/box/yay1/yay1.h b/ext/-test-/box/yay1/yay1.h new file mode 100644 index 0000000000..c4dade928a --- /dev/null +++ b/ext/-test-/box/yay1/yay1.h @@ -0,0 +1,4 @@ +#include <ruby.h> +#include "ruby/internal/dllexport.h" + +RUBY_FUNC_EXPORTED VALUE yay_value(void); diff --git a/ext/-test-/box/yay2/extconf.rb b/ext/-test-/box/yay2/extconf.rb new file mode 100644 index 0000000000..850ef3edc9 --- /dev/null +++ b/ext/-test-/box/yay2/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/box/yay2') diff --git a/ext/-test-/box/yay2/yay2.c b/ext/-test-/box/yay2/yay2.c new file mode 100644 index 0000000000..b632ae8495 --- /dev/null +++ b/ext/-test-/box/yay2/yay2.c @@ -0,0 +1,28 @@ +#include "yay2.h" + +VALUE +yay_value(void) +{ + return rb_str_new_cstr("yaaay"); +} + +static VALUE +yay2_f_version(VALUE klass) +{ + return rb_str_new_cstr("2.0.0"); +} + +static VALUE +yay2_yay(VALUE klass) +{ + return yay_value(); +} + +void +Init_yay2(void) +{ + VALUE mod = rb_define_module("Yay"); + rb_define_const(mod, "VERSION", rb_str_new_cstr("2.0.0")); + rb_define_singleton_method(mod, "version", yay2_f_version, 0); + rb_define_singleton_method(mod, "yay", yay2_yay, 0); +} diff --git a/ext/-test-/box/yay2/yay2.def b/ext/-test-/box/yay2/yay2.def new file mode 100644 index 0000000000..163fc44c04 --- /dev/null +++ b/ext/-test-/box/yay2/yay2.def @@ -0,0 +1,3 @@ +EXPORTS + Init_yay2 + yay_value diff --git a/ext/-test-/box/yay2/yay2.h b/ext/-test-/box/yay2/yay2.h new file mode 100644 index 0000000000..c4dade928a --- /dev/null +++ b/ext/-test-/box/yay2/yay2.h @@ -0,0 +1,4 @@ +#include <ruby.h> +#include "ruby/internal/dllexport.h" + +RUBY_FUNC_EXPORTED VALUE yay_value(void); diff --git a/ext/-test-/bug-14834/bug-14834.c b/ext/-test-/bug-14834/bug-14834.c new file mode 100644 index 0000000000..af2070d303 --- /dev/null +++ b/ext/-test-/bug-14834/bug-14834.c @@ -0,0 +1,39 @@ +#include <ruby/ruby.h> +#include <ruby/debug.h> + +#ifndef MAYBE_UNUSED +# define MAYBE_UNUSED(x) x +#endif + +static NOINLINE(VALUE f(VALUE)); +static NOINLINE(void g(VALUE, void*)); +extern NOINLINE(void Init_bug_14834(void)); + +void +Init_bug_14834(void) +{ + VALUE q = rb_define_module("Bug"); + rb_define_module_function(q, "bug_14834", f, 0); +} + +VALUE +f(VALUE q) +{ + int w[] = { 0, 1024 }; + VALUE e = rb_tracepoint_new(Qnil, RUBY_INTERNAL_EVENT_NEWOBJ, g, w); + + rb_tracepoint_enable(e); + return rb_ensure(rb_yield, q, rb_tracepoint_disable, e); +} + +void +g(MAYBE_UNUSED(VALUE q), void* w) +{ + const int *e = (const int *)w; + const int r = *e++; + const int t = *e++; + VALUE *y = ALLOCA_N(VALUE, t); + int *u = ALLOCA_N(int, t); + + rb_profile_frames(r, t, y, u); +} diff --git a/ext/-test-/bug-14834/depend b/ext/-test-/bug-14834/depend new file mode 100644 index 0000000000..f83939d559 --- /dev/null +++ b/ext/-test-/bug-14834/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +bug-14834.o: $(RUBY_EXTCONF_H) +bug-14834.o: $(arch_hdrdir)/ruby/config.h +bug-14834.o: $(hdrdir)/ruby/assert.h +bug-14834.o: $(hdrdir)/ruby/backward.h +bug-14834.o: $(hdrdir)/ruby/backward/2/assume.h +bug-14834.o: $(hdrdir)/ruby/backward/2/attributes.h +bug-14834.o: $(hdrdir)/ruby/backward/2/bool.h +bug-14834.o: $(hdrdir)/ruby/backward/2/inttypes.h +bug-14834.o: $(hdrdir)/ruby/backward/2/limits.h +bug-14834.o: $(hdrdir)/ruby/backward/2/long_long.h +bug-14834.o: $(hdrdir)/ruby/backward/2/stdalign.h +bug-14834.o: $(hdrdir)/ruby/backward/2/stdarg.h +bug-14834.o: $(hdrdir)/ruby/debug.h +bug-14834.o: $(hdrdir)/ruby/defines.h +bug-14834.o: $(hdrdir)/ruby/intern.h +bug-14834.o: $(hdrdir)/ruby/internal/abi.h +bug-14834.o: $(hdrdir)/ruby/internal/anyargs.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bug-14834.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bug-14834.o: $(hdrdir)/ruby/internal/assume.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/artificial.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/cold.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/const.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/error.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/format.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/noalias.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/noinline.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/pure.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/restrict.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/warning.h +bug-14834.o: $(hdrdir)/ruby/internal/attr/weakref.h +bug-14834.o: $(hdrdir)/ruby/internal/cast.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bug-14834.o: $(hdrdir)/ruby/internal/compiler_since.h +bug-14834.o: $(hdrdir)/ruby/internal/config.h +bug-14834.o: $(hdrdir)/ruby/internal/constant_p.h +bug-14834.o: $(hdrdir)/ruby/internal/core.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rarray.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rbasic.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rbignum.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rclass.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rdata.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rfile.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rhash.h +bug-14834.o: $(hdrdir)/ruby/internal/core/robject.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rregexp.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rstring.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rstruct.h +bug-14834.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bug-14834.o: $(hdrdir)/ruby/internal/ctype.h +bug-14834.o: $(hdrdir)/ruby/internal/dllexport.h +bug-14834.o: $(hdrdir)/ruby/internal/dosish.h +bug-14834.o: $(hdrdir)/ruby/internal/error.h +bug-14834.o: $(hdrdir)/ruby/internal/eval.h +bug-14834.o: $(hdrdir)/ruby/internal/event.h +bug-14834.o: $(hdrdir)/ruby/internal/fl_type.h +bug-14834.o: $(hdrdir)/ruby/internal/gc.h +bug-14834.o: $(hdrdir)/ruby/internal/glob.h +bug-14834.o: $(hdrdir)/ruby/internal/globals.h +bug-14834.o: $(hdrdir)/ruby/internal/has/attribute.h +bug-14834.o: $(hdrdir)/ruby/internal/has/builtin.h +bug-14834.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bug-14834.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bug-14834.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bug-14834.o: $(hdrdir)/ruby/internal/has/extension.h +bug-14834.o: $(hdrdir)/ruby/internal/has/feature.h +bug-14834.o: $(hdrdir)/ruby/internal/has/warning.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/array.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/bignum.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/class.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/compar.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/complex.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/cont.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/dir.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/enum.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/error.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/eval.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/file.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/hash.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/io.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/load.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/marshal.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/numeric.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/object.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/parse.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/proc.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/process.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/random.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/range.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/rational.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/re.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/ruby.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/select.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/set.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/signal.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/string.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/struct.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/thread.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/time.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/variable.h +bug-14834.o: $(hdrdir)/ruby/internal/intern/vm.h +bug-14834.o: $(hdrdir)/ruby/internal/interpreter.h +bug-14834.o: $(hdrdir)/ruby/internal/iterator.h +bug-14834.o: $(hdrdir)/ruby/internal/memory.h +bug-14834.o: $(hdrdir)/ruby/internal/method.h +bug-14834.o: $(hdrdir)/ruby/internal/module.h +bug-14834.o: $(hdrdir)/ruby/internal/newobj.h +bug-14834.o: $(hdrdir)/ruby/internal/scan_args.h +bug-14834.o: $(hdrdir)/ruby/internal/special_consts.h +bug-14834.o: $(hdrdir)/ruby/internal/static_assert.h +bug-14834.o: $(hdrdir)/ruby/internal/stdalign.h +bug-14834.o: $(hdrdir)/ruby/internal/stdbool.h +bug-14834.o: $(hdrdir)/ruby/internal/stdckdint.h +bug-14834.o: $(hdrdir)/ruby/internal/symbol.h +bug-14834.o: $(hdrdir)/ruby/internal/value.h +bug-14834.o: $(hdrdir)/ruby/internal/value_type.h +bug-14834.o: $(hdrdir)/ruby/internal/variable.h +bug-14834.o: $(hdrdir)/ruby/internal/warning_push.h +bug-14834.o: $(hdrdir)/ruby/internal/xmalloc.h +bug-14834.o: $(hdrdir)/ruby/missing.h +bug-14834.o: $(hdrdir)/ruby/ruby.h +bug-14834.o: $(hdrdir)/ruby/st.h +bug-14834.o: $(hdrdir)/ruby/subst.h +bug-14834.o: bug-14834.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/bug-14834/extconf.rb b/ext/-test-/bug-14834/extconf.rb new file mode 100644 index 0000000000..e8f3f1f437 --- /dev/null +++ b/ext/-test-/bug-14834/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: true +create_makefile("-test-/bug_14834") diff --git a/ext/-test-/bug-3571/bug.c b/ext/-test-/bug-3571/bug.c new file mode 100644 index 0000000000..dd3c85cd79 --- /dev/null +++ b/ext/-test-/bug-3571/bug.c @@ -0,0 +1,23 @@ +#include <ruby.h> + +static VALUE +bug_i(RB_BLOCK_CALL_FUNC_ARGLIST(i, arg)) +{ + rb_notimplement(); + return ID2SYM(rb_frame_this_func()); +} + +static VALUE +bug_start(VALUE self) +{ + VALUE ary = rb_ary_new3(1, Qnil); + rb_block_call(ary, rb_intern("map"), 0, 0, bug_i, self); + return ary; +} + +void +Init_bug_3571(void) +{ + VALUE mBug = rb_define_module("Bug"); + rb_define_module_function(mBug, "start", bug_start, 0); +} diff --git a/ext/-test-/bug-3571/depend b/ext/-test-/bug-3571/depend new file mode 100644 index 0000000000..69c970b6f2 --- /dev/null +++ b/ext/-test-/bug-3571/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +bug.o: $(RUBY_EXTCONF_H) +bug.o: $(arch_hdrdir)/ruby/config.h +bug.o: $(hdrdir)/ruby.h +bug.o: $(hdrdir)/ruby/assert.h +bug.o: $(hdrdir)/ruby/backward.h +bug.o: $(hdrdir)/ruby/backward/2/assume.h +bug.o: $(hdrdir)/ruby/backward/2/attributes.h +bug.o: $(hdrdir)/ruby/backward/2/bool.h +bug.o: $(hdrdir)/ruby/backward/2/inttypes.h +bug.o: $(hdrdir)/ruby/backward/2/limits.h +bug.o: $(hdrdir)/ruby/backward/2/long_long.h +bug.o: $(hdrdir)/ruby/backward/2/stdalign.h +bug.o: $(hdrdir)/ruby/backward/2/stdarg.h +bug.o: $(hdrdir)/ruby/defines.h +bug.o: $(hdrdir)/ruby/intern.h +bug.o: $(hdrdir)/ruby/internal/abi.h +bug.o: $(hdrdir)/ruby/internal/anyargs.h +bug.o: $(hdrdir)/ruby/internal/arithmetic.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bug.o: $(hdrdir)/ruby/internal/assume.h +bug.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bug.o: $(hdrdir)/ruby/internal/attr/artificial.h +bug.o: $(hdrdir)/ruby/internal/attr/cold.h +bug.o: $(hdrdir)/ruby/internal/attr/const.h +bug.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bug.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bug.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bug.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bug.o: $(hdrdir)/ruby/internal/attr/error.h +bug.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bug.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bug.o: $(hdrdir)/ruby/internal/attr/format.h +bug.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bug.o: $(hdrdir)/ruby/internal/attr/noalias.h +bug.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bug.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bug.o: $(hdrdir)/ruby/internal/attr/noinline.h +bug.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bug.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bug.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bug.o: $(hdrdir)/ruby/internal/attr/pure.h +bug.o: $(hdrdir)/ruby/internal/attr/restrict.h +bug.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bug.o: $(hdrdir)/ruby/internal/attr/warning.h +bug.o: $(hdrdir)/ruby/internal/attr/weakref.h +bug.o: $(hdrdir)/ruby/internal/cast.h +bug.o: $(hdrdir)/ruby/internal/compiler_is.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bug.o: $(hdrdir)/ruby/internal/compiler_since.h +bug.o: $(hdrdir)/ruby/internal/config.h +bug.o: $(hdrdir)/ruby/internal/constant_p.h +bug.o: $(hdrdir)/ruby/internal/core.h +bug.o: $(hdrdir)/ruby/internal/core/rarray.h +bug.o: $(hdrdir)/ruby/internal/core/rbasic.h +bug.o: $(hdrdir)/ruby/internal/core/rbignum.h +bug.o: $(hdrdir)/ruby/internal/core/rclass.h +bug.o: $(hdrdir)/ruby/internal/core/rdata.h +bug.o: $(hdrdir)/ruby/internal/core/rfile.h +bug.o: $(hdrdir)/ruby/internal/core/rhash.h +bug.o: $(hdrdir)/ruby/internal/core/robject.h +bug.o: $(hdrdir)/ruby/internal/core/rregexp.h +bug.o: $(hdrdir)/ruby/internal/core/rstring.h +bug.o: $(hdrdir)/ruby/internal/core/rstruct.h +bug.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bug.o: $(hdrdir)/ruby/internal/ctype.h +bug.o: $(hdrdir)/ruby/internal/dllexport.h +bug.o: $(hdrdir)/ruby/internal/dosish.h +bug.o: $(hdrdir)/ruby/internal/error.h +bug.o: $(hdrdir)/ruby/internal/eval.h +bug.o: $(hdrdir)/ruby/internal/event.h +bug.o: $(hdrdir)/ruby/internal/fl_type.h +bug.o: $(hdrdir)/ruby/internal/gc.h +bug.o: $(hdrdir)/ruby/internal/glob.h +bug.o: $(hdrdir)/ruby/internal/globals.h +bug.o: $(hdrdir)/ruby/internal/has/attribute.h +bug.o: $(hdrdir)/ruby/internal/has/builtin.h +bug.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/extension.h +bug.o: $(hdrdir)/ruby/internal/has/feature.h +bug.o: $(hdrdir)/ruby/internal/has/warning.h +bug.o: $(hdrdir)/ruby/internal/intern/array.h +bug.o: $(hdrdir)/ruby/internal/intern/bignum.h +bug.o: $(hdrdir)/ruby/internal/intern/class.h +bug.o: $(hdrdir)/ruby/internal/intern/compar.h +bug.o: $(hdrdir)/ruby/internal/intern/complex.h +bug.o: $(hdrdir)/ruby/internal/intern/cont.h +bug.o: $(hdrdir)/ruby/internal/intern/dir.h +bug.o: $(hdrdir)/ruby/internal/intern/enum.h +bug.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bug.o: $(hdrdir)/ruby/internal/intern/error.h +bug.o: $(hdrdir)/ruby/internal/intern/eval.h +bug.o: $(hdrdir)/ruby/internal/intern/file.h +bug.o: $(hdrdir)/ruby/internal/intern/hash.h +bug.o: $(hdrdir)/ruby/internal/intern/io.h +bug.o: $(hdrdir)/ruby/internal/intern/load.h +bug.o: $(hdrdir)/ruby/internal/intern/marshal.h +bug.o: $(hdrdir)/ruby/internal/intern/numeric.h +bug.o: $(hdrdir)/ruby/internal/intern/object.h +bug.o: $(hdrdir)/ruby/internal/intern/parse.h +bug.o: $(hdrdir)/ruby/internal/intern/proc.h +bug.o: $(hdrdir)/ruby/internal/intern/process.h +bug.o: $(hdrdir)/ruby/internal/intern/random.h +bug.o: $(hdrdir)/ruby/internal/intern/range.h +bug.o: $(hdrdir)/ruby/internal/intern/rational.h +bug.o: $(hdrdir)/ruby/internal/intern/re.h +bug.o: $(hdrdir)/ruby/internal/intern/ruby.h +bug.o: $(hdrdir)/ruby/internal/intern/select.h +bug.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bug.o: $(hdrdir)/ruby/internal/intern/set.h +bug.o: $(hdrdir)/ruby/internal/intern/signal.h +bug.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bug.o: $(hdrdir)/ruby/internal/intern/string.h +bug.o: $(hdrdir)/ruby/internal/intern/struct.h +bug.o: $(hdrdir)/ruby/internal/intern/thread.h +bug.o: $(hdrdir)/ruby/internal/intern/time.h +bug.o: $(hdrdir)/ruby/internal/intern/variable.h +bug.o: $(hdrdir)/ruby/internal/intern/vm.h +bug.o: $(hdrdir)/ruby/internal/interpreter.h +bug.o: $(hdrdir)/ruby/internal/iterator.h +bug.o: $(hdrdir)/ruby/internal/memory.h +bug.o: $(hdrdir)/ruby/internal/method.h +bug.o: $(hdrdir)/ruby/internal/module.h +bug.o: $(hdrdir)/ruby/internal/newobj.h +bug.o: $(hdrdir)/ruby/internal/scan_args.h +bug.o: $(hdrdir)/ruby/internal/special_consts.h +bug.o: $(hdrdir)/ruby/internal/static_assert.h +bug.o: $(hdrdir)/ruby/internal/stdalign.h +bug.o: $(hdrdir)/ruby/internal/stdbool.h +bug.o: $(hdrdir)/ruby/internal/stdckdint.h +bug.o: $(hdrdir)/ruby/internal/symbol.h +bug.o: $(hdrdir)/ruby/internal/value.h +bug.o: $(hdrdir)/ruby/internal/value_type.h +bug.o: $(hdrdir)/ruby/internal/variable.h +bug.o: $(hdrdir)/ruby/internal/warning_push.h +bug.o: $(hdrdir)/ruby/internal/xmalloc.h +bug.o: $(hdrdir)/ruby/missing.h +bug.o: $(hdrdir)/ruby/ruby.h +bug.o: $(hdrdir)/ruby/st.h +bug.o: $(hdrdir)/ruby/subst.h +bug.o: bug.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/bug-3571/extconf.rb b/ext/-test-/bug-3571/extconf.rb new file mode 100644 index 0000000000..7e76ebded6 --- /dev/null +++ b/ext/-test-/bug-3571/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/bug_3571") diff --git a/ext/-test-/bug-5832/bug.c b/ext/-test-/bug-5832/bug.c new file mode 100644 index 0000000000..a2c3965640 --- /dev/null +++ b/ext/-test-/bug-5832/bug.c @@ -0,0 +1,14 @@ +#include <ruby.h> + +static VALUE +bug_funcall_callback(VALUE self, VALUE obj) +{ + return rb_funcall(obj, rb_intern("callback"), 0); +} + +void +Init_bug_5832(void) +{ + VALUE mBug = rb_define_module("Bug"); + rb_define_module_function(mBug, "funcall_callback", bug_funcall_callback, 1); +} diff --git a/ext/-test-/bug-5832/depend b/ext/-test-/bug-5832/depend new file mode 100644 index 0000000000..69c970b6f2 --- /dev/null +++ b/ext/-test-/bug-5832/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +bug.o: $(RUBY_EXTCONF_H) +bug.o: $(arch_hdrdir)/ruby/config.h +bug.o: $(hdrdir)/ruby.h +bug.o: $(hdrdir)/ruby/assert.h +bug.o: $(hdrdir)/ruby/backward.h +bug.o: $(hdrdir)/ruby/backward/2/assume.h +bug.o: $(hdrdir)/ruby/backward/2/attributes.h +bug.o: $(hdrdir)/ruby/backward/2/bool.h +bug.o: $(hdrdir)/ruby/backward/2/inttypes.h +bug.o: $(hdrdir)/ruby/backward/2/limits.h +bug.o: $(hdrdir)/ruby/backward/2/long_long.h +bug.o: $(hdrdir)/ruby/backward/2/stdalign.h +bug.o: $(hdrdir)/ruby/backward/2/stdarg.h +bug.o: $(hdrdir)/ruby/defines.h +bug.o: $(hdrdir)/ruby/intern.h +bug.o: $(hdrdir)/ruby/internal/abi.h +bug.o: $(hdrdir)/ruby/internal/anyargs.h +bug.o: $(hdrdir)/ruby/internal/arithmetic.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bug.o: $(hdrdir)/ruby/internal/assume.h +bug.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bug.o: $(hdrdir)/ruby/internal/attr/artificial.h +bug.o: $(hdrdir)/ruby/internal/attr/cold.h +bug.o: $(hdrdir)/ruby/internal/attr/const.h +bug.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bug.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bug.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bug.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bug.o: $(hdrdir)/ruby/internal/attr/error.h +bug.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bug.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bug.o: $(hdrdir)/ruby/internal/attr/format.h +bug.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bug.o: $(hdrdir)/ruby/internal/attr/noalias.h +bug.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bug.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bug.o: $(hdrdir)/ruby/internal/attr/noinline.h +bug.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bug.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bug.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bug.o: $(hdrdir)/ruby/internal/attr/pure.h +bug.o: $(hdrdir)/ruby/internal/attr/restrict.h +bug.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bug.o: $(hdrdir)/ruby/internal/attr/warning.h +bug.o: $(hdrdir)/ruby/internal/attr/weakref.h +bug.o: $(hdrdir)/ruby/internal/cast.h +bug.o: $(hdrdir)/ruby/internal/compiler_is.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bug.o: $(hdrdir)/ruby/internal/compiler_since.h +bug.o: $(hdrdir)/ruby/internal/config.h +bug.o: $(hdrdir)/ruby/internal/constant_p.h +bug.o: $(hdrdir)/ruby/internal/core.h +bug.o: $(hdrdir)/ruby/internal/core/rarray.h +bug.o: $(hdrdir)/ruby/internal/core/rbasic.h +bug.o: $(hdrdir)/ruby/internal/core/rbignum.h +bug.o: $(hdrdir)/ruby/internal/core/rclass.h +bug.o: $(hdrdir)/ruby/internal/core/rdata.h +bug.o: $(hdrdir)/ruby/internal/core/rfile.h +bug.o: $(hdrdir)/ruby/internal/core/rhash.h +bug.o: $(hdrdir)/ruby/internal/core/robject.h +bug.o: $(hdrdir)/ruby/internal/core/rregexp.h +bug.o: $(hdrdir)/ruby/internal/core/rstring.h +bug.o: $(hdrdir)/ruby/internal/core/rstruct.h +bug.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bug.o: $(hdrdir)/ruby/internal/ctype.h +bug.o: $(hdrdir)/ruby/internal/dllexport.h +bug.o: $(hdrdir)/ruby/internal/dosish.h +bug.o: $(hdrdir)/ruby/internal/error.h +bug.o: $(hdrdir)/ruby/internal/eval.h +bug.o: $(hdrdir)/ruby/internal/event.h +bug.o: $(hdrdir)/ruby/internal/fl_type.h +bug.o: $(hdrdir)/ruby/internal/gc.h +bug.o: $(hdrdir)/ruby/internal/glob.h +bug.o: $(hdrdir)/ruby/internal/globals.h +bug.o: $(hdrdir)/ruby/internal/has/attribute.h +bug.o: $(hdrdir)/ruby/internal/has/builtin.h +bug.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/extension.h +bug.o: $(hdrdir)/ruby/internal/has/feature.h +bug.o: $(hdrdir)/ruby/internal/has/warning.h +bug.o: $(hdrdir)/ruby/internal/intern/array.h +bug.o: $(hdrdir)/ruby/internal/intern/bignum.h +bug.o: $(hdrdir)/ruby/internal/intern/class.h +bug.o: $(hdrdir)/ruby/internal/intern/compar.h +bug.o: $(hdrdir)/ruby/internal/intern/complex.h +bug.o: $(hdrdir)/ruby/internal/intern/cont.h +bug.o: $(hdrdir)/ruby/internal/intern/dir.h +bug.o: $(hdrdir)/ruby/internal/intern/enum.h +bug.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bug.o: $(hdrdir)/ruby/internal/intern/error.h +bug.o: $(hdrdir)/ruby/internal/intern/eval.h +bug.o: $(hdrdir)/ruby/internal/intern/file.h +bug.o: $(hdrdir)/ruby/internal/intern/hash.h +bug.o: $(hdrdir)/ruby/internal/intern/io.h +bug.o: $(hdrdir)/ruby/internal/intern/load.h +bug.o: $(hdrdir)/ruby/internal/intern/marshal.h +bug.o: $(hdrdir)/ruby/internal/intern/numeric.h +bug.o: $(hdrdir)/ruby/internal/intern/object.h +bug.o: $(hdrdir)/ruby/internal/intern/parse.h +bug.o: $(hdrdir)/ruby/internal/intern/proc.h +bug.o: $(hdrdir)/ruby/internal/intern/process.h +bug.o: $(hdrdir)/ruby/internal/intern/random.h +bug.o: $(hdrdir)/ruby/internal/intern/range.h +bug.o: $(hdrdir)/ruby/internal/intern/rational.h +bug.o: $(hdrdir)/ruby/internal/intern/re.h +bug.o: $(hdrdir)/ruby/internal/intern/ruby.h +bug.o: $(hdrdir)/ruby/internal/intern/select.h +bug.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bug.o: $(hdrdir)/ruby/internal/intern/set.h +bug.o: $(hdrdir)/ruby/internal/intern/signal.h +bug.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bug.o: $(hdrdir)/ruby/internal/intern/string.h +bug.o: $(hdrdir)/ruby/internal/intern/struct.h +bug.o: $(hdrdir)/ruby/internal/intern/thread.h +bug.o: $(hdrdir)/ruby/internal/intern/time.h +bug.o: $(hdrdir)/ruby/internal/intern/variable.h +bug.o: $(hdrdir)/ruby/internal/intern/vm.h +bug.o: $(hdrdir)/ruby/internal/interpreter.h +bug.o: $(hdrdir)/ruby/internal/iterator.h +bug.o: $(hdrdir)/ruby/internal/memory.h +bug.o: $(hdrdir)/ruby/internal/method.h +bug.o: $(hdrdir)/ruby/internal/module.h +bug.o: $(hdrdir)/ruby/internal/newobj.h +bug.o: $(hdrdir)/ruby/internal/scan_args.h +bug.o: $(hdrdir)/ruby/internal/special_consts.h +bug.o: $(hdrdir)/ruby/internal/static_assert.h +bug.o: $(hdrdir)/ruby/internal/stdalign.h +bug.o: $(hdrdir)/ruby/internal/stdbool.h +bug.o: $(hdrdir)/ruby/internal/stdckdint.h +bug.o: $(hdrdir)/ruby/internal/symbol.h +bug.o: $(hdrdir)/ruby/internal/value.h +bug.o: $(hdrdir)/ruby/internal/value_type.h +bug.o: $(hdrdir)/ruby/internal/variable.h +bug.o: $(hdrdir)/ruby/internal/warning_push.h +bug.o: $(hdrdir)/ruby/internal/xmalloc.h +bug.o: $(hdrdir)/ruby/missing.h +bug.o: $(hdrdir)/ruby/ruby.h +bug.o: $(hdrdir)/ruby/st.h +bug.o: $(hdrdir)/ruby/subst.h +bug.o: bug.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/bug-5832/extconf.rb b/ext/-test-/bug-5832/extconf.rb new file mode 100644 index 0000000000..b8452b4f8f --- /dev/null +++ b/ext/-test-/bug-5832/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/bug_5832") diff --git a/ext/-test-/bug_reporter/bug_reporter.c b/ext/-test-/bug_reporter/bug_reporter.c new file mode 100644 index 0000000000..e9ea9e3db0 --- /dev/null +++ b/ext/-test-/bug_reporter/bug_reporter.c @@ -0,0 +1,24 @@ +#include <ruby.h> +#include <stdio.h> + +int rb_bug_reporter_add(void (*func)(FILE *, void *), void *data); + +static void +sample_bug_reporter(FILE *out, void *ptr) +{ + int n = (int)(uintptr_t)ptr; + fprintf(out, "Sample bug reporter: %d\n", n); +} + +static VALUE +register_sample_bug_reporter(VALUE self, VALUE obj) +{ + rb_bug_reporter_add(sample_bug_reporter, (void *)(uintptr_t)NUM2INT(obj)); + return Qnil; +} + +void +Init_bug_reporter(void) +{ + rb_define_global_function("register_sample_bug_reporter", register_sample_bug_reporter, 1); +} diff --git a/ext/-test-/bug_reporter/depend b/ext/-test-/bug_reporter/depend new file mode 100644 index 0000000000..e9993c3295 --- /dev/null +++ b/ext/-test-/bug_reporter/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +bug_reporter.o: $(RUBY_EXTCONF_H) +bug_reporter.o: $(arch_hdrdir)/ruby/config.h +bug_reporter.o: $(hdrdir)/ruby.h +bug_reporter.o: $(hdrdir)/ruby/assert.h +bug_reporter.o: $(hdrdir)/ruby/backward.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/assume.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/attributes.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/bool.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/inttypes.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/limits.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/long_long.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/stdalign.h +bug_reporter.o: $(hdrdir)/ruby/backward/2/stdarg.h +bug_reporter.o: $(hdrdir)/ruby/defines.h +bug_reporter.o: $(hdrdir)/ruby/intern.h +bug_reporter.o: $(hdrdir)/ruby/internal/abi.h +bug_reporter.o: $(hdrdir)/ruby/internal/anyargs.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bug_reporter.o: $(hdrdir)/ruby/internal/assume.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/artificial.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/cold.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/const.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/error.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/format.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/noalias.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/noinline.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/pure.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/restrict.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/warning.h +bug_reporter.o: $(hdrdir)/ruby/internal/attr/weakref.h +bug_reporter.o: $(hdrdir)/ruby/internal/cast.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bug_reporter.o: $(hdrdir)/ruby/internal/compiler_since.h +bug_reporter.o: $(hdrdir)/ruby/internal/config.h +bug_reporter.o: $(hdrdir)/ruby/internal/constant_p.h +bug_reporter.o: $(hdrdir)/ruby/internal/core.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rarray.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rbasic.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rbignum.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rclass.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rdata.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rfile.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rhash.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/robject.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rregexp.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rstring.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rstruct.h +bug_reporter.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bug_reporter.o: $(hdrdir)/ruby/internal/ctype.h +bug_reporter.o: $(hdrdir)/ruby/internal/dllexport.h +bug_reporter.o: $(hdrdir)/ruby/internal/dosish.h +bug_reporter.o: $(hdrdir)/ruby/internal/error.h +bug_reporter.o: $(hdrdir)/ruby/internal/eval.h +bug_reporter.o: $(hdrdir)/ruby/internal/event.h +bug_reporter.o: $(hdrdir)/ruby/internal/fl_type.h +bug_reporter.o: $(hdrdir)/ruby/internal/gc.h +bug_reporter.o: $(hdrdir)/ruby/internal/glob.h +bug_reporter.o: $(hdrdir)/ruby/internal/globals.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/attribute.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/builtin.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/extension.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/feature.h +bug_reporter.o: $(hdrdir)/ruby/internal/has/warning.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/array.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/bignum.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/class.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/compar.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/complex.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/cont.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/dir.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/enum.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/error.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/eval.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/file.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/hash.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/io.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/load.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/marshal.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/numeric.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/object.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/parse.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/proc.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/process.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/random.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/range.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/rational.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/re.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/ruby.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/select.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/set.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/signal.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/string.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/struct.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/thread.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/time.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/variable.h +bug_reporter.o: $(hdrdir)/ruby/internal/intern/vm.h +bug_reporter.o: $(hdrdir)/ruby/internal/interpreter.h +bug_reporter.o: $(hdrdir)/ruby/internal/iterator.h +bug_reporter.o: $(hdrdir)/ruby/internal/memory.h +bug_reporter.o: $(hdrdir)/ruby/internal/method.h +bug_reporter.o: $(hdrdir)/ruby/internal/module.h +bug_reporter.o: $(hdrdir)/ruby/internal/newobj.h +bug_reporter.o: $(hdrdir)/ruby/internal/scan_args.h +bug_reporter.o: $(hdrdir)/ruby/internal/special_consts.h +bug_reporter.o: $(hdrdir)/ruby/internal/static_assert.h +bug_reporter.o: $(hdrdir)/ruby/internal/stdalign.h +bug_reporter.o: $(hdrdir)/ruby/internal/stdbool.h +bug_reporter.o: $(hdrdir)/ruby/internal/stdckdint.h +bug_reporter.o: $(hdrdir)/ruby/internal/symbol.h +bug_reporter.o: $(hdrdir)/ruby/internal/value.h +bug_reporter.o: $(hdrdir)/ruby/internal/value_type.h +bug_reporter.o: $(hdrdir)/ruby/internal/variable.h +bug_reporter.o: $(hdrdir)/ruby/internal/warning_push.h +bug_reporter.o: $(hdrdir)/ruby/internal/xmalloc.h +bug_reporter.o: $(hdrdir)/ruby/missing.h +bug_reporter.o: $(hdrdir)/ruby/ruby.h +bug_reporter.o: $(hdrdir)/ruby/st.h +bug_reporter.o: $(hdrdir)/ruby/subst.h +bug_reporter.o: bug_reporter.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/bug_reporter/extconf.rb b/ext/-test-/bug_reporter/extconf.rb new file mode 100644 index 0000000000..d9d49bb23e --- /dev/null +++ b/ext/-test-/bug_reporter/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/bug_reporter") diff --git a/ext/-test-/class/class2name.c b/ext/-test-/class/class2name.c new file mode 100644 index 0000000000..c48df6fb2a --- /dev/null +++ b/ext/-test-/class/class2name.c @@ -0,0 +1,14 @@ +#include <ruby/ruby.h> + +static VALUE +class2name(VALUE self, VALUE klass) +{ + const char *name = rb_class2name(klass); + return name ? rb_str_new_cstr(name) : Qnil; +} + +void +Init_class2name(VALUE klass) +{ + rb_define_singleton_method(klass, "class2name", class2name, 1); +} diff --git a/ext/-test-/class/depend b/ext/-test-/class/depend new file mode 100644 index 0000000000..557206cefb --- /dev/null +++ b/ext/-test-/class/depend @@ -0,0 +1,323 @@ +# AUTOGENERATED DEPENDENCIES START +class2name.o: $(RUBY_EXTCONF_H) +class2name.o: $(arch_hdrdir)/ruby/config.h +class2name.o: $(hdrdir)/ruby/assert.h +class2name.o: $(hdrdir)/ruby/backward.h +class2name.o: $(hdrdir)/ruby/backward/2/assume.h +class2name.o: $(hdrdir)/ruby/backward/2/attributes.h +class2name.o: $(hdrdir)/ruby/backward/2/bool.h +class2name.o: $(hdrdir)/ruby/backward/2/inttypes.h +class2name.o: $(hdrdir)/ruby/backward/2/limits.h +class2name.o: $(hdrdir)/ruby/backward/2/long_long.h +class2name.o: $(hdrdir)/ruby/backward/2/stdalign.h +class2name.o: $(hdrdir)/ruby/backward/2/stdarg.h +class2name.o: $(hdrdir)/ruby/defines.h +class2name.o: $(hdrdir)/ruby/intern.h +class2name.o: $(hdrdir)/ruby/internal/abi.h +class2name.o: $(hdrdir)/ruby/internal/anyargs.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/char.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/double.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/int.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/long.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/short.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +class2name.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +class2name.o: $(hdrdir)/ruby/internal/assume.h +class2name.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +class2name.o: $(hdrdir)/ruby/internal/attr/artificial.h +class2name.o: $(hdrdir)/ruby/internal/attr/cold.h +class2name.o: $(hdrdir)/ruby/internal/attr/const.h +class2name.o: $(hdrdir)/ruby/internal/attr/constexpr.h +class2name.o: $(hdrdir)/ruby/internal/attr/deprecated.h +class2name.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +class2name.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +class2name.o: $(hdrdir)/ruby/internal/attr/error.h +class2name.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +class2name.o: $(hdrdir)/ruby/internal/attr/forceinline.h +class2name.o: $(hdrdir)/ruby/internal/attr/format.h +class2name.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +class2name.o: $(hdrdir)/ruby/internal/attr/noalias.h +class2name.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +class2name.o: $(hdrdir)/ruby/internal/attr/noexcept.h +class2name.o: $(hdrdir)/ruby/internal/attr/noinline.h +class2name.o: $(hdrdir)/ruby/internal/attr/nonnull.h +class2name.o: $(hdrdir)/ruby/internal/attr/noreturn.h +class2name.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +class2name.o: $(hdrdir)/ruby/internal/attr/pure.h +class2name.o: $(hdrdir)/ruby/internal/attr/restrict.h +class2name.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +class2name.o: $(hdrdir)/ruby/internal/attr/warning.h +class2name.o: $(hdrdir)/ruby/internal/attr/weakref.h +class2name.o: $(hdrdir)/ruby/internal/cast.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +class2name.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +class2name.o: $(hdrdir)/ruby/internal/compiler_since.h +class2name.o: $(hdrdir)/ruby/internal/config.h +class2name.o: $(hdrdir)/ruby/internal/constant_p.h +class2name.o: $(hdrdir)/ruby/internal/core.h +class2name.o: $(hdrdir)/ruby/internal/core/rarray.h +class2name.o: $(hdrdir)/ruby/internal/core/rbasic.h +class2name.o: $(hdrdir)/ruby/internal/core/rbignum.h +class2name.o: $(hdrdir)/ruby/internal/core/rclass.h +class2name.o: $(hdrdir)/ruby/internal/core/rdata.h +class2name.o: $(hdrdir)/ruby/internal/core/rfile.h +class2name.o: $(hdrdir)/ruby/internal/core/rhash.h +class2name.o: $(hdrdir)/ruby/internal/core/robject.h +class2name.o: $(hdrdir)/ruby/internal/core/rregexp.h +class2name.o: $(hdrdir)/ruby/internal/core/rstring.h +class2name.o: $(hdrdir)/ruby/internal/core/rstruct.h +class2name.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +class2name.o: $(hdrdir)/ruby/internal/ctype.h +class2name.o: $(hdrdir)/ruby/internal/dllexport.h +class2name.o: $(hdrdir)/ruby/internal/dosish.h +class2name.o: $(hdrdir)/ruby/internal/error.h +class2name.o: $(hdrdir)/ruby/internal/eval.h +class2name.o: $(hdrdir)/ruby/internal/event.h +class2name.o: $(hdrdir)/ruby/internal/fl_type.h +class2name.o: $(hdrdir)/ruby/internal/gc.h +class2name.o: $(hdrdir)/ruby/internal/glob.h +class2name.o: $(hdrdir)/ruby/internal/globals.h +class2name.o: $(hdrdir)/ruby/internal/has/attribute.h +class2name.o: $(hdrdir)/ruby/internal/has/builtin.h +class2name.o: $(hdrdir)/ruby/internal/has/c_attribute.h +class2name.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +class2name.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +class2name.o: $(hdrdir)/ruby/internal/has/extension.h +class2name.o: $(hdrdir)/ruby/internal/has/feature.h +class2name.o: $(hdrdir)/ruby/internal/has/warning.h +class2name.o: $(hdrdir)/ruby/internal/intern/array.h +class2name.o: $(hdrdir)/ruby/internal/intern/bignum.h +class2name.o: $(hdrdir)/ruby/internal/intern/class.h +class2name.o: $(hdrdir)/ruby/internal/intern/compar.h +class2name.o: $(hdrdir)/ruby/internal/intern/complex.h +class2name.o: $(hdrdir)/ruby/internal/intern/cont.h +class2name.o: $(hdrdir)/ruby/internal/intern/dir.h +class2name.o: $(hdrdir)/ruby/internal/intern/enum.h +class2name.o: $(hdrdir)/ruby/internal/intern/enumerator.h +class2name.o: $(hdrdir)/ruby/internal/intern/error.h +class2name.o: $(hdrdir)/ruby/internal/intern/eval.h +class2name.o: $(hdrdir)/ruby/internal/intern/file.h +class2name.o: $(hdrdir)/ruby/internal/intern/hash.h +class2name.o: $(hdrdir)/ruby/internal/intern/io.h +class2name.o: $(hdrdir)/ruby/internal/intern/load.h +class2name.o: $(hdrdir)/ruby/internal/intern/marshal.h +class2name.o: $(hdrdir)/ruby/internal/intern/numeric.h +class2name.o: $(hdrdir)/ruby/internal/intern/object.h +class2name.o: $(hdrdir)/ruby/internal/intern/parse.h +class2name.o: $(hdrdir)/ruby/internal/intern/proc.h +class2name.o: $(hdrdir)/ruby/internal/intern/process.h +class2name.o: $(hdrdir)/ruby/internal/intern/random.h +class2name.o: $(hdrdir)/ruby/internal/intern/range.h +class2name.o: $(hdrdir)/ruby/internal/intern/rational.h +class2name.o: $(hdrdir)/ruby/internal/intern/re.h +class2name.o: $(hdrdir)/ruby/internal/intern/ruby.h +class2name.o: $(hdrdir)/ruby/internal/intern/select.h +class2name.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +class2name.o: $(hdrdir)/ruby/internal/intern/set.h +class2name.o: $(hdrdir)/ruby/internal/intern/signal.h +class2name.o: $(hdrdir)/ruby/internal/intern/sprintf.h +class2name.o: $(hdrdir)/ruby/internal/intern/string.h +class2name.o: $(hdrdir)/ruby/internal/intern/struct.h +class2name.o: $(hdrdir)/ruby/internal/intern/thread.h +class2name.o: $(hdrdir)/ruby/internal/intern/time.h +class2name.o: $(hdrdir)/ruby/internal/intern/variable.h +class2name.o: $(hdrdir)/ruby/internal/intern/vm.h +class2name.o: $(hdrdir)/ruby/internal/interpreter.h +class2name.o: $(hdrdir)/ruby/internal/iterator.h +class2name.o: $(hdrdir)/ruby/internal/memory.h +class2name.o: $(hdrdir)/ruby/internal/method.h +class2name.o: $(hdrdir)/ruby/internal/module.h +class2name.o: $(hdrdir)/ruby/internal/newobj.h +class2name.o: $(hdrdir)/ruby/internal/scan_args.h +class2name.o: $(hdrdir)/ruby/internal/special_consts.h +class2name.o: $(hdrdir)/ruby/internal/static_assert.h +class2name.o: $(hdrdir)/ruby/internal/stdalign.h +class2name.o: $(hdrdir)/ruby/internal/stdbool.h +class2name.o: $(hdrdir)/ruby/internal/stdckdint.h +class2name.o: $(hdrdir)/ruby/internal/symbol.h +class2name.o: $(hdrdir)/ruby/internal/value.h +class2name.o: $(hdrdir)/ruby/internal/value_type.h +class2name.o: $(hdrdir)/ruby/internal/variable.h +class2name.o: $(hdrdir)/ruby/internal/warning_push.h +class2name.o: $(hdrdir)/ruby/internal/xmalloc.h +class2name.o: $(hdrdir)/ruby/missing.h +class2name.o: $(hdrdir)/ruby/ruby.h +class2name.o: $(hdrdir)/ruby/st.h +class2name.o: $(hdrdir)/ruby/subst.h +class2name.o: class2name.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/class/extconf.rb b/ext/-test-/class/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/class/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/class/init.c b/ext/-test-/class/init.c new file mode 100644 index 0000000000..108ff7525c --- /dev/null +++ b/ext/-test-/class/init.c @@ -0,0 +1,12 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE mod); Init_##n(mod);} + +void +Init_class(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE mod = rb_define_module_under(mBug, "Class"); + rb_define_class_under(mod, "TestClassDefinedInC", rb_cObject); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/cxxanyargs/cxxanyargs.cpp b/ext/-test-/cxxanyargs/cxxanyargs.cpp new file mode 100644 index 0000000000..c7df7f9038 --- /dev/null +++ b/ext/-test-/cxxanyargs/cxxanyargs.cpp @@ -0,0 +1,935 @@ +#include <ruby/ruby.h> + +#if 0 // Warnings expected, should just suppress them + +#elif defined(_MSC_VER) +#pragma warning(disable : 4996) + +#elif defined(__INTEL_COMPILER) +#pragma warning(disable : 1786) + +#elif defined(__clang__) +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + +#elif defined(__GNUC__) +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + +#elif defined(__SUNPRO_CC) +#pragma error_messages (off,symdeprecated) + +#else +// :FIXME: improve here for your compiler. + +#endif + +namespace test_rb_define_virtual_variable { + VALUE + getter(ID, VALUE *data) + { + return *data; + } + + void + setter(VALUE val, ID, VALUE *data) + { + *data = val; + } + + VALUE + test(VALUE self) + { + rb_define_virtual_variable("test", + RUBY_METHOD_FUNC(getter), + reinterpret_cast<void(*)(ANYARGS)>(setter)); // old + rb_define_virtual_variable("test", getter, setter); // new + +#ifdef HAVE_NULLPTR + rb_define_virtual_variable("test", nullptr, reinterpret_cast<void(*)(ANYARGS)>(setter)); + rb_define_virtual_variable("test", nullptr, setter); + + rb_define_virtual_variable("test", RUBY_METHOD_FUNC(getter), nullptr); + rb_define_virtual_variable("test", getter, nullptr); + + // It doesn't make any sense for both function pointers be nullptr at + // the same time. +#endif + + return self; + } +} + +struct test_rb_define_hooked_variable { + static VALUE v; + + static VALUE + getter(ID, VALUE *data) + { + return *data; + } + + static void + setter(VALUE val, ID, VALUE *data) + { + *data = val; + } + + static VALUE + test(VALUE self) + { + rb_define_hooked_variable("test", &v, + RUBY_METHOD_FUNC(getter), + reinterpret_cast<void(*)(ANYARGS)>(setter)); // old + rb_define_hooked_variable("test", &v, getter, setter); // new + +#ifdef HAVE_NULLPTR + rb_define_hooked_variable("test", &v, nullptr, reinterpret_cast<void(*)(ANYARGS)>(setter)); + rb_define_hooked_variable("test", &v, nullptr, setter); + + rb_define_hooked_variable("test", &v, RUBY_METHOD_FUNC(getter), nullptr); + rb_define_hooked_variable("test", &v, getter, nullptr); + + // It doesn't make any sense for both function pointers be nullptr at + // the same time. +#endif + + return self; + } +}; +VALUE test_rb_define_hooked_variable::v = Qundef; + +namespace test_rb_block_call { + VALUE + block(RB_BLOCK_CALL_FUNC_ARGLIST(arg, param)) + { + return rb_funcall(arg, rb_intern("=="), 1, param); + } + + VALUE + test(VALUE self) + { + const ID mid = rb_intern("each"); + const VALUE argv[] = { Qundef }; + +#ifdef HAVE_NULLPTR + rb_block_call(self, mid, 0, argv, nullptr, self); +#endif + + rb_block_call(self, mid, 0, argv, RUBY_METHOD_FUNC(block), self); // old + return rb_block_call(self, mid, 0, argv, block, self); // new + } +} + +namespace test_rb_rescue { + VALUE + begin(VALUE arg) + { + return arg; + } + + VALUE + rescue(VALUE arg, VALUE exc) + { + return exc; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + rb_rescue(RUBY_METHOD_FUNC(begin), self, nullptr, self); + rb_rescue(begin, self, nullptr, self); +#endif + + rb_rescue(RUBY_METHOD_FUNC(begin), self, RUBY_METHOD_FUNC(rescue), self); // old + return rb_rescue(begin, self, rescue, self); // new + } +} + +namespace test_rb_rescue2 { + VALUE + begin(VALUE arg) + { + return arg; + } + + VALUE + rescue(VALUE arg, VALUE exc) + { + return exc; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + rb_rescue2(RUBY_METHOD_FUNC(begin), self, nullptr, self, rb_eStandardError, rb_eFatal, (VALUE)0); + rb_rescue2(begin, self, nullptr, self, rb_eStandardError, rb_eFatal, (VALUE)0); +#endif + + rb_rescue2(RUBY_METHOD_FUNC(begin), self, RUBY_METHOD_FUNC(rescue), self, + rb_eStandardError, rb_eFatal, (VALUE)0); // old + return rb_rescue2(begin, self, rescue, self, rb_eStandardError, rb_eFatal, (VALUE)0); // new + } +} + +namespace test_rb_ensure { + VALUE + begin(VALUE arg) + { + return arg; + } + + VALUE + ensure(VALUE arg) + { + return arg; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + rb_ensure(RUBY_METHOD_FUNC(begin), self, nullptr, self); + rb_ensure(begin, self, nullptr, self); +#endif + + rb_ensure(RUBY_METHOD_FUNC(begin), self, RUBY_METHOD_FUNC(ensure), self); // old + return rb_ensure(begin, self, ensure, self); // new + } +} + +namespace test_rb_catch { + VALUE + catcher(RB_BLOCK_CALL_FUNC_ARGLIST(arg, param)) + { + return arg; + } + + VALUE + test(VALUE self) + { + static const char *zero = 0; + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a catcher. +#endif + + rb_catch(zero, RUBY_METHOD_FUNC(catcher), self); // old + return rb_catch(zero, catcher, self); // new + } +} + +namespace test_rb_catch_obj { + VALUE + catcher(RB_BLOCK_CALL_FUNC_ARGLIST(arg, param)) + { + return arg; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a catcher. +#endif + + rb_catch_obj(self, RUBY_METHOD_FUNC(catcher), self); // old + return rb_catch_obj(self, catcher, self); // new + } +} + +namespace test_rb_fiber_new { + VALUE + fiber(RB_BLOCK_CALL_FUNC_ARGLIST(arg, param)) + { + return arg; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a fiber. +#endif + + rb_fiber_new(RUBY_METHOD_FUNC(fiber), self); // old + return rb_fiber_new(fiber, self); // new + } +} + +namespace test_rb_proc_new { + VALUE + proc(RB_BLOCK_CALL_FUNC_ARGLIST(arg, param)) + { + return arg; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a proc. +#endif + + rb_fiber_new(RUBY_METHOD_FUNC(proc), self); // old + return rb_fiber_new(proc, self); // new + } +} + +struct test_rb_thread_create { + static VALUE v; + + static VALUE + thread(void *ptr) + { + const VALUE *w = reinterpret_cast<const VALUE*>(ptr); + return *w; + } + + static VALUE + test(VALUE self) + { + v = self; + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a thread. +#endif + + rb_thread_create(RUBY_METHOD_FUNC(thread), &v); // old + return rb_thread_create(thread, &v); // new + } +}; +VALUE test_rb_thread_create::v = Qundef; + +namespace test_st_foreach { + static int + iter(st_data_t, st_data_t, st_data_t) + { + return ST_CONTINUE; + } + + VALUE + test(VALUE self) + { + st_data_t data = 0; + st_table *st = st_init_numtable(); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as an iterator. +#endif + + st_foreach(st, reinterpret_cast<int(*)(ANYARGS)>(iter), data); // old + st_foreach(st, iter, data); // new + return self; + } +} + +namespace test_st_foreach_check { + static int + iter(st_data_t, st_data_t, st_data_t, int x) + { + return x ? ST_STOP : ST_CONTINUE; + } + + VALUE + test(VALUE self) + { + st_data_t data = 0; + st_table *st = st_init_numtable(); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as an iterator. +#endif + + st_foreach_check(st, reinterpret_cast<int(*)(ANYARGS)>(iter), data, data); // old + st_foreach_check(st, iter, data, data); // new + return self; + } +} + +namespace test_st_foreach_safe { + static int + iter(st_data_t, st_data_t, st_data_t) + { + return ST_CONTINUE; + } + + VALUE + test(VALUE self) + { + st_data_t data = 0; + st_table *st = st_init_numtable(); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as an iterator. +#endif + + st_foreach_safe(st, reinterpret_cast<int(*)(ANYARGS)>(iter), data); // old + st_foreach_safe(st, iter, data); // new + return self; + } +} + +namespace test_rb_hash_foreach { + static int + iter(VALUE, VALUE, VALUE) + { + return ST_CONTINUE; + } + + VALUE + test(VALUE self) + { + VALUE h = rb_hash_new(); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as an iterator. +#endif + + rb_hash_foreach(h, reinterpret_cast<int(*)(ANYARGS)>(iter), self); // old + rb_hash_foreach(h, iter, self); // new + return self; + } +} + +namespace test_rb_ivar_foreach { + static int + iter(VALUE, VALUE, VALUE) + { + return ST_CONTINUE; + } + + VALUE + test(VALUE self) + { +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as an iterator. +#endif + + rb_ivar_foreach(self, reinterpret_cast<int(*)(ANYARGS)>(iter), self); // old + rb_ivar_foreach(self, iter, self); // new + return self; + } +} + +namespace test_rb_define_method { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_method(self, "m1", m1, 1); + rb_define_method(self, "m2", m2, 2); + rb_define_method(self, "ma", ma, -2); + rb_define_method(self, "mv", mv, -1); + rb_define_method(self, "mc", mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_method(self, "m1", RUBY_METHOD_FUNC(m1), 1); + rb_define_method(self, "m2", RUBY_METHOD_FUNC(m2), 2); + rb_define_method(self, "ma", RUBY_METHOD_FUNC(ma), -2); + rb_define_method(self, "mv", RUBY_METHOD_FUNC(mv), -1); + rb_define_method(self, "mc", RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_method(self, "m1", (VALUE (*)(...))(m1), 1); + rb_define_method(self, "m2", (VALUE (*)(...))(m2), 2); + rb_define_method(self, "ma", (VALUE (*)(...))(ma), -2); + rb_define_method(self, "mv", (VALUE (*)(...))(mv), -1); + rb_define_method(self, "mc", (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_method(self, "m1", rb_f_notimplement, 1); + rb_define_method(self, "m2", rb_f_notimplement, 2); + rb_define_method(self, "ma", rb_f_notimplement, -2); + rb_define_method(self, "mv", rb_f_notimplement, -1); + rb_define_method(self, "mc", rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +namespace test_rb_define_method_id { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_method_id(self, rb_intern("m1"), m1, 1); + rb_define_method_id(self, rb_intern("m2"), m2, 2); + rb_define_method_id(self, rb_intern("ma"), ma, -2); + rb_define_method_id(self, rb_intern("mv"), mv, -1); + rb_define_method_id(self, rb_intern("mc"), mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_method_id(self, rb_intern("m1"), RUBY_METHOD_FUNC(m1), 1); + rb_define_method_id(self, rb_intern("m2"), RUBY_METHOD_FUNC(m2), 2); + rb_define_method_id(self, rb_intern("ma"), RUBY_METHOD_FUNC(ma), -2); + rb_define_method_id(self, rb_intern("mv"), RUBY_METHOD_FUNC(mv), -1); + rb_define_method_id(self, rb_intern("mc"), RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_method_id(self, rb_intern("m1"), (VALUE (*)(...))(m1), 1); + rb_define_method_id(self, rb_intern("m2"), (VALUE (*)(...))(m2), 2); + rb_define_method_id(self, rb_intern("ma"), (VALUE (*)(...))(ma), -2); + rb_define_method_id(self, rb_intern("mv"), (VALUE (*)(...))(mv), -1); + rb_define_method_id(self, rb_intern("mc"), (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_method_id(self, rb_intern("m1"), rb_f_notimplement, 1); + rb_define_method_id(self, rb_intern("m2"), rb_f_notimplement, 2); + rb_define_method_id(self, rb_intern("ma"), rb_f_notimplement, -2); + rb_define_method_id(self, rb_intern("mv"), rb_f_notimplement, -1); + rb_define_method_id(self, rb_intern("mc"), rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +namespace test_rb_define_module_function { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_module_function(self, "m1", m1, 1); + rb_define_module_function(self, "m2", m2, 2); + rb_define_module_function(self, "ma", ma, -2); + rb_define_module_function(self, "mv", mv, -1); + rb_define_module_function(self, "mc", mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_module_function(self, "m1", RUBY_METHOD_FUNC(m1), 1); + rb_define_module_function(self, "m2", RUBY_METHOD_FUNC(m2), 2); + rb_define_module_function(self, "ma", RUBY_METHOD_FUNC(ma), -2); + rb_define_module_function(self, "mv", RUBY_METHOD_FUNC(mv), -1); + rb_define_module_function(self, "mc", RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_module_function(self, "m1", (VALUE (*)(...))(m1), 1); + rb_define_module_function(self, "m2", (VALUE (*)(...))(m2), 2); + rb_define_module_function(self, "ma", (VALUE (*)(...))(ma), -2); + rb_define_module_function(self, "mv", (VALUE (*)(...))(mv), -1); + rb_define_module_function(self, "mc", (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_module_function(self, "m1", rb_f_notimplement, 1); + rb_define_module_function(self, "m2", rb_f_notimplement, 2); + rb_define_module_function(self, "ma", rb_f_notimplement, -2); + rb_define_module_function(self, "mv", rb_f_notimplement, -1); + rb_define_module_function(self, "mc", rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +namespace test_rb_define_singleton_method { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_singleton_method(self, "m1", m1, 1); + rb_define_singleton_method(self, "m2", m2, 2); + rb_define_singleton_method(self, "ma", ma, -2); + rb_define_singleton_method(self, "mv", mv, -1); + rb_define_singleton_method(self, "mc", mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_singleton_method(self, "m1", RUBY_METHOD_FUNC(m1), 1); + rb_define_singleton_method(self, "m2", RUBY_METHOD_FUNC(m2), 2); + rb_define_singleton_method(self, "ma", RUBY_METHOD_FUNC(ma), -2); + rb_define_singleton_method(self, "mv", RUBY_METHOD_FUNC(mv), -1); + rb_define_singleton_method(self, "mc", RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_singleton_method(self, "m1", (VALUE (*)(...))(m1), 1); + rb_define_singleton_method(self, "m2", (VALUE (*)(...))(m2), 2); + rb_define_singleton_method(self, "ma", (VALUE (*)(...))(ma), -2); + rb_define_singleton_method(self, "mv", (VALUE (*)(...))(mv), -1); + rb_define_singleton_method(self, "mc", (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_singleton_method(self, "m1", rb_f_notimplement, 1); + rb_define_singleton_method(self, "m2", rb_f_notimplement, 2); + rb_define_singleton_method(self, "ma", rb_f_notimplement, -2); + rb_define_singleton_method(self, "mv", rb_f_notimplement, -1); + rb_define_singleton_method(self, "mc", rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +namespace test_rb_define_protected_method { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_protected_method(self, "m1", m1, 1); + rb_define_protected_method(self, "m2", m2, 2); + rb_define_protected_method(self, "ma", ma, -2); + rb_define_protected_method(self, "mv", mv, -1); + rb_define_protected_method(self, "mc", mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_protected_method(self, "m1", RUBY_METHOD_FUNC(m1), 1); + rb_define_protected_method(self, "m2", RUBY_METHOD_FUNC(m2), 2); + rb_define_protected_method(self, "ma", RUBY_METHOD_FUNC(ma), -2); + rb_define_protected_method(self, "mv", RUBY_METHOD_FUNC(mv), -1); + rb_define_protected_method(self, "mc", RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_protected_method(self, "m1", (VALUE (*)(...))(m1), 1); + rb_define_protected_method(self, "m2", (VALUE (*)(...))(m2), 2); + rb_define_protected_method(self, "ma", (VALUE (*)(...))(ma), -2); + rb_define_protected_method(self, "mv", (VALUE (*)(...))(mv), -1); + rb_define_protected_method(self, "mc", (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_protected_method(self, "m1", rb_f_notimplement, 1); + rb_define_protected_method(self, "m2", rb_f_notimplement, 2); + rb_define_protected_method(self, "ma", rb_f_notimplement, -2); + rb_define_protected_method(self, "mv", rb_f_notimplement, -1); + rb_define_protected_method(self, "mc", rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +namespace test_rb_define_private_method { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_private_method(self, "m1", m1, 1); + rb_define_private_method(self, "m2", m2, 2); + rb_define_private_method(self, "ma", ma, -2); + rb_define_private_method(self, "mv", mv, -1); + rb_define_private_method(self, "mc", mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_private_method(self, "m1", RUBY_METHOD_FUNC(m1), 1); + rb_define_private_method(self, "m2", RUBY_METHOD_FUNC(m2), 2); + rb_define_private_method(self, "ma", RUBY_METHOD_FUNC(ma), -2); + rb_define_private_method(self, "mv", RUBY_METHOD_FUNC(mv), -1); + rb_define_private_method(self, "mc", RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_private_method(self, "m1", (VALUE (*)(...))(m1), 1); + rb_define_private_method(self, "m2", (VALUE (*)(...))(m2), 2); + rb_define_private_method(self, "ma", (VALUE (*)(...))(ma), -2); + rb_define_private_method(self, "mv", (VALUE (*)(...))(mv), -1); + rb_define_private_method(self, "mc", (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_private_method(self, "m1", rb_f_notimplement, 1); + rb_define_private_method(self, "m2", rb_f_notimplement, 2); + rb_define_private_method(self, "ma", rb_f_notimplement, -2); + rb_define_private_method(self, "mv", rb_f_notimplement, -1); + rb_define_private_method(self, "mc", rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +namespace test_rb_define_global_function { + static VALUE + m1(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + m2(VALUE, VALUE, VALUE) + { + return Qnil; + } + + static VALUE + ma(VALUE, VALUE) + { + return Qnil; + } + + static VALUE + mv(int, VALUE*, VALUE) + { + return Qnil; + } + + static VALUE + mc(int, const VALUE*, VALUE) + { + return Qnil; + } + + VALUE + test(VALUE self) + { + // No cast + rb_define_global_function("m1", m1, 1); + rb_define_global_function("m2", m2, 2); + rb_define_global_function("ma", ma, -2); + rb_define_global_function("mv", mv, -1); + rb_define_global_function("mc", mc, -1); + + // Cast by RUBY_METHOD_FUNC + rb_define_global_function("m1", RUBY_METHOD_FUNC(m1), 1); + rb_define_global_function("m2", RUBY_METHOD_FUNC(m2), 2); + rb_define_global_function("ma", RUBY_METHOD_FUNC(ma), -2); + rb_define_global_function("mv", RUBY_METHOD_FUNC(mv), -1); + rb_define_global_function("mc", RUBY_METHOD_FUNC(mc), -1); + + // Explicit cast instead of RUBY_METHOD_FUNC + rb_define_global_function("m1", (VALUE (*)(...))(m1), 1); + rb_define_global_function("m2", (VALUE (*)(...))(m2), 2); + rb_define_global_function("ma", (VALUE (*)(...))(ma), -2); + rb_define_global_function("mv", (VALUE (*)(...))(mv), -1); + rb_define_global_function("mc", (VALUE (*)(...))(mc), -1); + + // rb_f_notimplement + rb_define_global_function("m1", rb_f_notimplement, 1); + rb_define_global_function("m2", rb_f_notimplement, 2); + rb_define_global_function("ma", rb_f_notimplement, -2); + rb_define_global_function("mv", rb_f_notimplement, -1); + rb_define_global_function("mc", rb_f_notimplement, -1); + +#ifdef HAVE_NULLPTR + // It doesn't make any sense at all to pass nullptr as a method. +#endif + + return self; + } +} + +extern "C" void +Init_cxxanyargs(void) +{ + VALUE b = rb_define_module("Bug"); +#define test(sym) \ + rb_define_module_function(b, #sym, RUBY_METHOD_FUNC(test_ ## sym::test), 0) + + test(rb_define_virtual_variable); + test(rb_define_hooked_variable); + test(rb_block_call); + test(rb_rescue); + test(rb_rescue2); + test(rb_ensure); + test(rb_catch); + test(rb_catch_obj); + test(rb_fiber_new); + test(rb_proc_new); + test(rb_thread_create); + test(st_foreach); + test(st_foreach_check); + test(st_foreach_safe); + test(rb_hash_foreach); + test(rb_ivar_foreach); + test(rb_define_method); + test(rb_define_method_id); + test(rb_define_module_function); + test(rb_define_singleton_method); + test(rb_define_protected_method); + test(rb_define_private_method); + test(rb_define_global_function); +} diff --git a/ext/-test-/cxxanyargs/depend b/ext/-test-/cxxanyargs/depend new file mode 100644 index 0000000000..fc3d8e45d9 --- /dev/null +++ b/ext/-test-/cxxanyargs/depend @@ -0,0 +1,13 @@ +$(TARGET_SO) $(STATIC_LIB): $(FAILURES:.cpp=.failed) + +.SUFFIXES: .failed + +.cpp.failed: + $(Q)$(RUBY) -rfileutils \ + -e "t = ARGV.shift" \ + -e "err = IO.popen(ARGV, err:[:child, :out], &:read)" \ + -e "abort err unless /rb_define_method/ =~ err.b" \ + -e "File.write(t, err)" $@ $(MAKE) $(*F).o + +# AUTOGENERATED DEPENDENCIES START +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/cxxanyargs/extconf.rb b/ext/-test-/cxxanyargs/extconf.rb new file mode 100644 index 0000000000..9749f42068 --- /dev/null +++ b/ext/-test-/cxxanyargs/extconf.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: false + +cxx = MakeMakefile["C++"] + +# #### have_devel hack #### +# cxx.try_compile tries to detect compilers, but the try_compile below is +# trying to detect a compiler in a different way. We need to prevent the +# default detection routine. + +cxx.instance_variable_set(:'@have_devel', true) + +ok = cxx.try_link(<<~'begin', "") do |x| + #include "ruby/config.h" + + #ifdef RUBY_ALTERNATIVE_MALLOC_HEADER + # include RUBY_ALTERNATIVE_MALLOC_HEADER + #endif + + namespace { + typedef int conftest1[SIZEOF_LONG == sizeof(long) ? 1 : -1]; + typedef int conftest2[SIZEOF_VOIDP == sizeof(void*) ? 1 : -1]; + } + + int + main(int argc, const char** argv) + { + return !!argv[argc]; + } +begin + # We are wiping ruby.h from the source because that header file is the + # subject we are going to test in this extension library. + x.sub! %<#include "ruby.h">, '' +end + +cxx.instance_variable_set(:'@have_devel', ok) + +if ok + $srcs = %w[cxxanyargs.cpp] + failures = Dir.glob($srcdir + "/failure*.cpp").map {|n| File.basename(n)} + $cleanfiles << "$(FAILURES:.cpp=.failed)" + create_makefile("-test-/cxxanyargs") do |mk| + mk << "FAILURES #{['=', failures].join(' ')}\n" + mk << ".IGNORE: $(FAILURES:.cpp=.o)\n" unless $mswin + mk + end +end diff --git a/ext/-test-/cxxanyargs/failure.cpp b/ext/-test-/cxxanyargs/failure.cpp new file mode 100644 index 0000000000..039beb1633 --- /dev/null +++ b/ext/-test-/cxxanyargs/failure.cpp @@ -0,0 +1,13 @@ +#include <ruby/ruby.h> + +static VALUE +func_arg1(VALUE self, VALUE arg1) +{ + return arg1; +} + +extern "C" void +Init_failure(void) +{ + rb_define_method(rb_cObject, "arg1", func_arg1, 0); +} diff --git a/ext/-test-/cxxanyargs/failurem1.cpp b/ext/-test-/cxxanyargs/failurem1.cpp new file mode 100644 index 0000000000..e58a0f4e0d --- /dev/null +++ b/ext/-test-/cxxanyargs/failurem1.cpp @@ -0,0 +1,13 @@ +#include <ruby/ruby.h> + +static VALUE +func_argm1(int argc, VALUE *argv, VALUE self) +{ + return argc > 0 ? argv[0] : Qnil; +} + +extern "C" void +Init_failure(void) +{ + rb_define_method(rb_cObject, "argm1", func_argm1, 0); +} diff --git a/ext/-test-/debug/depend b/ext/-test-/debug/depend new file mode 100644 index 0000000000..4ae0378ef2 --- /dev/null +++ b/ext/-test-/debug/depend @@ -0,0 +1,485 @@ +# AUTOGENERATED DEPENDENCIES START +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +inspector.o: $(RUBY_EXTCONF_H) +inspector.o: $(arch_hdrdir)/ruby/config.h +inspector.o: $(hdrdir)/ruby/assert.h +inspector.o: $(hdrdir)/ruby/backward.h +inspector.o: $(hdrdir)/ruby/backward/2/assume.h +inspector.o: $(hdrdir)/ruby/backward/2/attributes.h +inspector.o: $(hdrdir)/ruby/backward/2/bool.h +inspector.o: $(hdrdir)/ruby/backward/2/inttypes.h +inspector.o: $(hdrdir)/ruby/backward/2/limits.h +inspector.o: $(hdrdir)/ruby/backward/2/long_long.h +inspector.o: $(hdrdir)/ruby/backward/2/stdalign.h +inspector.o: $(hdrdir)/ruby/backward/2/stdarg.h +inspector.o: $(hdrdir)/ruby/debug.h +inspector.o: $(hdrdir)/ruby/defines.h +inspector.o: $(hdrdir)/ruby/intern.h +inspector.o: $(hdrdir)/ruby/internal/abi.h +inspector.o: $(hdrdir)/ruby/internal/anyargs.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/char.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/double.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/int.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/long.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/short.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +inspector.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +inspector.o: $(hdrdir)/ruby/internal/assume.h +inspector.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +inspector.o: $(hdrdir)/ruby/internal/attr/artificial.h +inspector.o: $(hdrdir)/ruby/internal/attr/cold.h +inspector.o: $(hdrdir)/ruby/internal/attr/const.h +inspector.o: $(hdrdir)/ruby/internal/attr/constexpr.h +inspector.o: $(hdrdir)/ruby/internal/attr/deprecated.h +inspector.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +inspector.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +inspector.o: $(hdrdir)/ruby/internal/attr/error.h +inspector.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +inspector.o: $(hdrdir)/ruby/internal/attr/forceinline.h +inspector.o: $(hdrdir)/ruby/internal/attr/format.h +inspector.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +inspector.o: $(hdrdir)/ruby/internal/attr/noalias.h +inspector.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +inspector.o: $(hdrdir)/ruby/internal/attr/noexcept.h +inspector.o: $(hdrdir)/ruby/internal/attr/noinline.h +inspector.o: $(hdrdir)/ruby/internal/attr/nonnull.h +inspector.o: $(hdrdir)/ruby/internal/attr/noreturn.h +inspector.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +inspector.o: $(hdrdir)/ruby/internal/attr/pure.h +inspector.o: $(hdrdir)/ruby/internal/attr/restrict.h +inspector.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +inspector.o: $(hdrdir)/ruby/internal/attr/warning.h +inspector.o: $(hdrdir)/ruby/internal/attr/weakref.h +inspector.o: $(hdrdir)/ruby/internal/cast.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +inspector.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +inspector.o: $(hdrdir)/ruby/internal/compiler_since.h +inspector.o: $(hdrdir)/ruby/internal/config.h +inspector.o: $(hdrdir)/ruby/internal/constant_p.h +inspector.o: $(hdrdir)/ruby/internal/core.h +inspector.o: $(hdrdir)/ruby/internal/core/rarray.h +inspector.o: $(hdrdir)/ruby/internal/core/rbasic.h +inspector.o: $(hdrdir)/ruby/internal/core/rbignum.h +inspector.o: $(hdrdir)/ruby/internal/core/rclass.h +inspector.o: $(hdrdir)/ruby/internal/core/rdata.h +inspector.o: $(hdrdir)/ruby/internal/core/rfile.h +inspector.o: $(hdrdir)/ruby/internal/core/rhash.h +inspector.o: $(hdrdir)/ruby/internal/core/robject.h +inspector.o: $(hdrdir)/ruby/internal/core/rregexp.h +inspector.o: $(hdrdir)/ruby/internal/core/rstring.h +inspector.o: $(hdrdir)/ruby/internal/core/rstruct.h +inspector.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +inspector.o: $(hdrdir)/ruby/internal/ctype.h +inspector.o: $(hdrdir)/ruby/internal/dllexport.h +inspector.o: $(hdrdir)/ruby/internal/dosish.h +inspector.o: $(hdrdir)/ruby/internal/error.h +inspector.o: $(hdrdir)/ruby/internal/eval.h +inspector.o: $(hdrdir)/ruby/internal/event.h +inspector.o: $(hdrdir)/ruby/internal/fl_type.h +inspector.o: $(hdrdir)/ruby/internal/gc.h +inspector.o: $(hdrdir)/ruby/internal/glob.h +inspector.o: $(hdrdir)/ruby/internal/globals.h +inspector.o: $(hdrdir)/ruby/internal/has/attribute.h +inspector.o: $(hdrdir)/ruby/internal/has/builtin.h +inspector.o: $(hdrdir)/ruby/internal/has/c_attribute.h +inspector.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +inspector.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +inspector.o: $(hdrdir)/ruby/internal/has/extension.h +inspector.o: $(hdrdir)/ruby/internal/has/feature.h +inspector.o: $(hdrdir)/ruby/internal/has/warning.h +inspector.o: $(hdrdir)/ruby/internal/intern/array.h +inspector.o: $(hdrdir)/ruby/internal/intern/bignum.h +inspector.o: $(hdrdir)/ruby/internal/intern/class.h +inspector.o: $(hdrdir)/ruby/internal/intern/compar.h +inspector.o: $(hdrdir)/ruby/internal/intern/complex.h +inspector.o: $(hdrdir)/ruby/internal/intern/cont.h +inspector.o: $(hdrdir)/ruby/internal/intern/dir.h +inspector.o: $(hdrdir)/ruby/internal/intern/enum.h +inspector.o: $(hdrdir)/ruby/internal/intern/enumerator.h +inspector.o: $(hdrdir)/ruby/internal/intern/error.h +inspector.o: $(hdrdir)/ruby/internal/intern/eval.h +inspector.o: $(hdrdir)/ruby/internal/intern/file.h +inspector.o: $(hdrdir)/ruby/internal/intern/hash.h +inspector.o: $(hdrdir)/ruby/internal/intern/io.h +inspector.o: $(hdrdir)/ruby/internal/intern/load.h +inspector.o: $(hdrdir)/ruby/internal/intern/marshal.h +inspector.o: $(hdrdir)/ruby/internal/intern/numeric.h +inspector.o: $(hdrdir)/ruby/internal/intern/object.h +inspector.o: $(hdrdir)/ruby/internal/intern/parse.h +inspector.o: $(hdrdir)/ruby/internal/intern/proc.h +inspector.o: $(hdrdir)/ruby/internal/intern/process.h +inspector.o: $(hdrdir)/ruby/internal/intern/random.h +inspector.o: $(hdrdir)/ruby/internal/intern/range.h +inspector.o: $(hdrdir)/ruby/internal/intern/rational.h +inspector.o: $(hdrdir)/ruby/internal/intern/re.h +inspector.o: $(hdrdir)/ruby/internal/intern/ruby.h +inspector.o: $(hdrdir)/ruby/internal/intern/select.h +inspector.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +inspector.o: $(hdrdir)/ruby/internal/intern/set.h +inspector.o: $(hdrdir)/ruby/internal/intern/signal.h +inspector.o: $(hdrdir)/ruby/internal/intern/sprintf.h +inspector.o: $(hdrdir)/ruby/internal/intern/string.h +inspector.o: $(hdrdir)/ruby/internal/intern/struct.h +inspector.o: $(hdrdir)/ruby/internal/intern/thread.h +inspector.o: $(hdrdir)/ruby/internal/intern/time.h +inspector.o: $(hdrdir)/ruby/internal/intern/variable.h +inspector.o: $(hdrdir)/ruby/internal/intern/vm.h +inspector.o: $(hdrdir)/ruby/internal/interpreter.h +inspector.o: $(hdrdir)/ruby/internal/iterator.h +inspector.o: $(hdrdir)/ruby/internal/memory.h +inspector.o: $(hdrdir)/ruby/internal/method.h +inspector.o: $(hdrdir)/ruby/internal/module.h +inspector.o: $(hdrdir)/ruby/internal/newobj.h +inspector.o: $(hdrdir)/ruby/internal/scan_args.h +inspector.o: $(hdrdir)/ruby/internal/special_consts.h +inspector.o: $(hdrdir)/ruby/internal/static_assert.h +inspector.o: $(hdrdir)/ruby/internal/stdalign.h +inspector.o: $(hdrdir)/ruby/internal/stdbool.h +inspector.o: $(hdrdir)/ruby/internal/stdckdint.h +inspector.o: $(hdrdir)/ruby/internal/symbol.h +inspector.o: $(hdrdir)/ruby/internal/value.h +inspector.o: $(hdrdir)/ruby/internal/value_type.h +inspector.o: $(hdrdir)/ruby/internal/variable.h +inspector.o: $(hdrdir)/ruby/internal/warning_push.h +inspector.o: $(hdrdir)/ruby/internal/xmalloc.h +inspector.o: $(hdrdir)/ruby/missing.h +inspector.o: $(hdrdir)/ruby/ruby.h +inspector.o: $(hdrdir)/ruby/st.h +inspector.o: $(hdrdir)/ruby/subst.h +inspector.o: inspector.c +profile_frames.o: $(RUBY_EXTCONF_H) +profile_frames.o: $(arch_hdrdir)/ruby/config.h +profile_frames.o: $(hdrdir)/ruby/assert.h +profile_frames.o: $(hdrdir)/ruby/backward.h +profile_frames.o: $(hdrdir)/ruby/backward/2/assume.h +profile_frames.o: $(hdrdir)/ruby/backward/2/attributes.h +profile_frames.o: $(hdrdir)/ruby/backward/2/bool.h +profile_frames.o: $(hdrdir)/ruby/backward/2/inttypes.h +profile_frames.o: $(hdrdir)/ruby/backward/2/limits.h +profile_frames.o: $(hdrdir)/ruby/backward/2/long_long.h +profile_frames.o: $(hdrdir)/ruby/backward/2/stdalign.h +profile_frames.o: $(hdrdir)/ruby/backward/2/stdarg.h +profile_frames.o: $(hdrdir)/ruby/debug.h +profile_frames.o: $(hdrdir)/ruby/defines.h +profile_frames.o: $(hdrdir)/ruby/intern.h +profile_frames.o: $(hdrdir)/ruby/internal/abi.h +profile_frames.o: $(hdrdir)/ruby/internal/anyargs.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/char.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/double.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/int.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/long.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/short.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +profile_frames.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +profile_frames.o: $(hdrdir)/ruby/internal/assume.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/artificial.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/cold.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/const.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/constexpr.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/deprecated.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/error.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/forceinline.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/format.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/noalias.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/noexcept.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/noinline.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/nonnull.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/noreturn.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/pure.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/restrict.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/warning.h +profile_frames.o: $(hdrdir)/ruby/internal/attr/weakref.h +profile_frames.o: $(hdrdir)/ruby/internal/cast.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +profile_frames.o: $(hdrdir)/ruby/internal/compiler_since.h +profile_frames.o: $(hdrdir)/ruby/internal/config.h +profile_frames.o: $(hdrdir)/ruby/internal/constant_p.h +profile_frames.o: $(hdrdir)/ruby/internal/core.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rarray.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rbasic.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rbignum.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rclass.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rdata.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rfile.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rhash.h +profile_frames.o: $(hdrdir)/ruby/internal/core/robject.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rregexp.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rstring.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rstruct.h +profile_frames.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +profile_frames.o: $(hdrdir)/ruby/internal/ctype.h +profile_frames.o: $(hdrdir)/ruby/internal/dllexport.h +profile_frames.o: $(hdrdir)/ruby/internal/dosish.h +profile_frames.o: $(hdrdir)/ruby/internal/error.h +profile_frames.o: $(hdrdir)/ruby/internal/eval.h +profile_frames.o: $(hdrdir)/ruby/internal/event.h +profile_frames.o: $(hdrdir)/ruby/internal/fl_type.h +profile_frames.o: $(hdrdir)/ruby/internal/gc.h +profile_frames.o: $(hdrdir)/ruby/internal/glob.h +profile_frames.o: $(hdrdir)/ruby/internal/globals.h +profile_frames.o: $(hdrdir)/ruby/internal/has/attribute.h +profile_frames.o: $(hdrdir)/ruby/internal/has/builtin.h +profile_frames.o: $(hdrdir)/ruby/internal/has/c_attribute.h +profile_frames.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +profile_frames.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +profile_frames.o: $(hdrdir)/ruby/internal/has/extension.h +profile_frames.o: $(hdrdir)/ruby/internal/has/feature.h +profile_frames.o: $(hdrdir)/ruby/internal/has/warning.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/array.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/bignum.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/class.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/compar.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/complex.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/cont.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/dir.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/enum.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/enumerator.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/error.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/eval.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/file.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/hash.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/io.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/load.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/marshal.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/numeric.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/object.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/parse.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/proc.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/process.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/random.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/range.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/rational.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/re.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/ruby.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/select.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/set.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/signal.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/sprintf.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/string.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/struct.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/thread.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/time.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/variable.h +profile_frames.o: $(hdrdir)/ruby/internal/intern/vm.h +profile_frames.o: $(hdrdir)/ruby/internal/interpreter.h +profile_frames.o: $(hdrdir)/ruby/internal/iterator.h +profile_frames.o: $(hdrdir)/ruby/internal/memory.h +profile_frames.o: $(hdrdir)/ruby/internal/method.h +profile_frames.o: $(hdrdir)/ruby/internal/module.h +profile_frames.o: $(hdrdir)/ruby/internal/newobj.h +profile_frames.o: $(hdrdir)/ruby/internal/scan_args.h +profile_frames.o: $(hdrdir)/ruby/internal/special_consts.h +profile_frames.o: $(hdrdir)/ruby/internal/static_assert.h +profile_frames.o: $(hdrdir)/ruby/internal/stdalign.h +profile_frames.o: $(hdrdir)/ruby/internal/stdbool.h +profile_frames.o: $(hdrdir)/ruby/internal/stdckdint.h +profile_frames.o: $(hdrdir)/ruby/internal/symbol.h +profile_frames.o: $(hdrdir)/ruby/internal/value.h +profile_frames.o: $(hdrdir)/ruby/internal/value_type.h +profile_frames.o: $(hdrdir)/ruby/internal/variable.h +profile_frames.o: $(hdrdir)/ruby/internal/warning_push.h +profile_frames.o: $(hdrdir)/ruby/internal/xmalloc.h +profile_frames.o: $(hdrdir)/ruby/missing.h +profile_frames.o: $(hdrdir)/ruby/ruby.h +profile_frames.o: $(hdrdir)/ruby/st.h +profile_frames.o: $(hdrdir)/ruby/subst.h +profile_frames.o: profile_frames.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/debug/extconf.rb b/ext/-test-/debug/extconf.rb new file mode 100644 index 0000000000..ca51178a18 --- /dev/null +++ b/ext/-test-/debug/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext diff --git a/ext/-test-/debug/init.c b/ext/-test-/debug/init.c new file mode 100644 index 0000000000..fe3979cbc5 --- /dev/null +++ b/ext/-test-/debug/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_debug(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "Debug"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/debug/inspector.c b/ext/-test-/debug/inspector.c new file mode 100644 index 0000000000..25f9d894d3 --- /dev/null +++ b/ext/-test-/debug/inspector.c @@ -0,0 +1,32 @@ +#include "ruby/ruby.h" +#include "ruby/debug.h" + +static VALUE +callback(const rb_debug_inspector_t *dbg_context, void *data) +{ + VALUE locs = rb_debug_inspector_backtrace_locations(dbg_context); + long i, len = RARRAY_LEN(locs); + VALUE binds = rb_ary_new(); + for (i = 0; i < len; ++i) { + VALUE entry = rb_ary_new(); + rb_ary_push(binds, entry); + rb_ary_push(entry, rb_debug_inspector_frame_self_get(dbg_context, i)); + rb_ary_push(entry, rb_debug_inspector_frame_binding_get(dbg_context, i)); + rb_ary_push(entry, rb_debug_inspector_frame_class_get(dbg_context, i)); + rb_ary_push(entry, rb_debug_inspector_frame_iseq_get(dbg_context, i)); + rb_ary_push(entry, rb_ary_entry(locs, i)); + } + return binds; +} + +static VALUE +debug_inspector(VALUE self) +{ + return rb_debug_inspector_open(callback, NULL); +} + +void +Init_inspector(VALUE klass) +{ + rb_define_module_function(klass, "inspector", debug_inspector, 0); +} diff --git a/ext/-test-/debug/profile_frames.c b/ext/-test-/debug/profile_frames.c new file mode 100644 index 0000000000..f9a77a5a78 --- /dev/null +++ b/ext/-test-/debug/profile_frames.c @@ -0,0 +1,65 @@ +#include "ruby/ruby.h" +#include "ruby/debug.h" + +#define MAX_BUF_SIZE 0x100 + +static VALUE +profile_frames(VALUE self, VALUE start_v, VALUE num_v) +{ + int i, collected_size; + int start = NUM2INT(start_v); + int buff_size = NUM2INT(num_v); + VALUE buff[MAX_BUF_SIZE]; + int lines[MAX_BUF_SIZE]; + VALUE result = rb_ary_new(); + + if (buff_size > MAX_BUF_SIZE) rb_raise(rb_eRuntimeError, "too long buff_size"); + + collected_size = rb_profile_frames(start, buff_size, buff, lines); + + for (i=0; i<collected_size; i++) { + VALUE ary = rb_ary_new(); + rb_ary_push(ary, rb_profile_frame_path(buff[i])); + rb_ary_push(ary, rb_profile_frame_absolute_path(buff[i])); + rb_ary_push(ary, rb_profile_frame_label(buff[i])); + rb_ary_push(ary, rb_profile_frame_base_label(buff[i])); + rb_ary_push(ary, rb_profile_frame_full_label(buff[i])); + rb_ary_push(ary, rb_profile_frame_first_lineno(buff[i])); + rb_ary_push(ary, rb_profile_frame_classpath(buff[i])); + rb_ary_push(ary, rb_profile_frame_singleton_method_p(buff[i])); + rb_ary_push(ary, rb_profile_frame_method_name(buff[i])); + rb_ary_push(ary, rb_profile_frame_qualified_method_name(buff[i])); + rb_ary_push(ary, INT2NUM(lines[i])); + + rb_ary_push(result, ary); + } + + return result; +} + +static VALUE +profile_thread_frames(VALUE self, VALUE thread, VALUE start_v, VALUE num_v) +{ + int i, collected_size; + int start = NUM2INT(start_v); + int buff_size = NUM2INT(num_v); + VALUE buff[MAX_BUF_SIZE]; + int lines[MAX_BUF_SIZE]; + VALUE result = rb_ary_new(); + + if (buff_size > MAX_BUF_SIZE) rb_raise(rb_eRuntimeError, "too long buff_size"); + + collected_size = rb_profile_thread_frames(thread, start, buff_size, buff, lines); + for (i=0; i<collected_size; i++) { + rb_ary_push(result, rb_profile_frame_full_label(buff[i])); + } + + return result; +} + +void +Init_profile_frames(VALUE klass) +{ + rb_define_module_function(klass, "profile_frames", profile_frames, 2); + rb_define_module_function(klass, "profile_thread_frames", profile_thread_frames, 3); +} diff --git a/ext/-test-/dln/empty/depend b/ext/-test-/dln/empty/depend new file mode 100644 index 0000000000..58f1508598 --- /dev/null +++ b/ext/-test-/dln/empty/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +empty.o: $(RUBY_EXTCONF_H) +empty.o: $(arch_hdrdir)/ruby/config.h +empty.o: $(hdrdir)/ruby.h +empty.o: $(hdrdir)/ruby/assert.h +empty.o: $(hdrdir)/ruby/backward.h +empty.o: $(hdrdir)/ruby/backward/2/assume.h +empty.o: $(hdrdir)/ruby/backward/2/attributes.h +empty.o: $(hdrdir)/ruby/backward/2/bool.h +empty.o: $(hdrdir)/ruby/backward/2/inttypes.h +empty.o: $(hdrdir)/ruby/backward/2/limits.h +empty.o: $(hdrdir)/ruby/backward/2/long_long.h +empty.o: $(hdrdir)/ruby/backward/2/stdalign.h +empty.o: $(hdrdir)/ruby/backward/2/stdarg.h +empty.o: $(hdrdir)/ruby/defines.h +empty.o: $(hdrdir)/ruby/intern.h +empty.o: $(hdrdir)/ruby/internal/abi.h +empty.o: $(hdrdir)/ruby/internal/anyargs.h +empty.o: $(hdrdir)/ruby/internal/arithmetic.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/char.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/double.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/int.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/long.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/short.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +empty.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +empty.o: $(hdrdir)/ruby/internal/assume.h +empty.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +empty.o: $(hdrdir)/ruby/internal/attr/artificial.h +empty.o: $(hdrdir)/ruby/internal/attr/cold.h +empty.o: $(hdrdir)/ruby/internal/attr/const.h +empty.o: $(hdrdir)/ruby/internal/attr/constexpr.h +empty.o: $(hdrdir)/ruby/internal/attr/deprecated.h +empty.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +empty.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +empty.o: $(hdrdir)/ruby/internal/attr/error.h +empty.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +empty.o: $(hdrdir)/ruby/internal/attr/forceinline.h +empty.o: $(hdrdir)/ruby/internal/attr/format.h +empty.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +empty.o: $(hdrdir)/ruby/internal/attr/noalias.h +empty.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +empty.o: $(hdrdir)/ruby/internal/attr/noexcept.h +empty.o: $(hdrdir)/ruby/internal/attr/noinline.h +empty.o: $(hdrdir)/ruby/internal/attr/nonnull.h +empty.o: $(hdrdir)/ruby/internal/attr/noreturn.h +empty.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +empty.o: $(hdrdir)/ruby/internal/attr/pure.h +empty.o: $(hdrdir)/ruby/internal/attr/restrict.h +empty.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +empty.o: $(hdrdir)/ruby/internal/attr/warning.h +empty.o: $(hdrdir)/ruby/internal/attr/weakref.h +empty.o: $(hdrdir)/ruby/internal/cast.h +empty.o: $(hdrdir)/ruby/internal/compiler_is.h +empty.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +empty.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +empty.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +empty.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +empty.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +empty.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +empty.o: $(hdrdir)/ruby/internal/compiler_since.h +empty.o: $(hdrdir)/ruby/internal/config.h +empty.o: $(hdrdir)/ruby/internal/constant_p.h +empty.o: $(hdrdir)/ruby/internal/core.h +empty.o: $(hdrdir)/ruby/internal/core/rarray.h +empty.o: $(hdrdir)/ruby/internal/core/rbasic.h +empty.o: $(hdrdir)/ruby/internal/core/rbignum.h +empty.o: $(hdrdir)/ruby/internal/core/rclass.h +empty.o: $(hdrdir)/ruby/internal/core/rdata.h +empty.o: $(hdrdir)/ruby/internal/core/rfile.h +empty.o: $(hdrdir)/ruby/internal/core/rhash.h +empty.o: $(hdrdir)/ruby/internal/core/robject.h +empty.o: $(hdrdir)/ruby/internal/core/rregexp.h +empty.o: $(hdrdir)/ruby/internal/core/rstring.h +empty.o: $(hdrdir)/ruby/internal/core/rstruct.h +empty.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +empty.o: $(hdrdir)/ruby/internal/ctype.h +empty.o: $(hdrdir)/ruby/internal/dllexport.h +empty.o: $(hdrdir)/ruby/internal/dosish.h +empty.o: $(hdrdir)/ruby/internal/error.h +empty.o: $(hdrdir)/ruby/internal/eval.h +empty.o: $(hdrdir)/ruby/internal/event.h +empty.o: $(hdrdir)/ruby/internal/fl_type.h +empty.o: $(hdrdir)/ruby/internal/gc.h +empty.o: $(hdrdir)/ruby/internal/glob.h +empty.o: $(hdrdir)/ruby/internal/globals.h +empty.o: $(hdrdir)/ruby/internal/has/attribute.h +empty.o: $(hdrdir)/ruby/internal/has/builtin.h +empty.o: $(hdrdir)/ruby/internal/has/c_attribute.h +empty.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +empty.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +empty.o: $(hdrdir)/ruby/internal/has/extension.h +empty.o: $(hdrdir)/ruby/internal/has/feature.h +empty.o: $(hdrdir)/ruby/internal/has/warning.h +empty.o: $(hdrdir)/ruby/internal/intern/array.h +empty.o: $(hdrdir)/ruby/internal/intern/bignum.h +empty.o: $(hdrdir)/ruby/internal/intern/class.h +empty.o: $(hdrdir)/ruby/internal/intern/compar.h +empty.o: $(hdrdir)/ruby/internal/intern/complex.h +empty.o: $(hdrdir)/ruby/internal/intern/cont.h +empty.o: $(hdrdir)/ruby/internal/intern/dir.h +empty.o: $(hdrdir)/ruby/internal/intern/enum.h +empty.o: $(hdrdir)/ruby/internal/intern/enumerator.h +empty.o: $(hdrdir)/ruby/internal/intern/error.h +empty.o: $(hdrdir)/ruby/internal/intern/eval.h +empty.o: $(hdrdir)/ruby/internal/intern/file.h +empty.o: $(hdrdir)/ruby/internal/intern/hash.h +empty.o: $(hdrdir)/ruby/internal/intern/io.h +empty.o: $(hdrdir)/ruby/internal/intern/load.h +empty.o: $(hdrdir)/ruby/internal/intern/marshal.h +empty.o: $(hdrdir)/ruby/internal/intern/numeric.h +empty.o: $(hdrdir)/ruby/internal/intern/object.h +empty.o: $(hdrdir)/ruby/internal/intern/parse.h +empty.o: $(hdrdir)/ruby/internal/intern/proc.h +empty.o: $(hdrdir)/ruby/internal/intern/process.h +empty.o: $(hdrdir)/ruby/internal/intern/random.h +empty.o: $(hdrdir)/ruby/internal/intern/range.h +empty.o: $(hdrdir)/ruby/internal/intern/rational.h +empty.o: $(hdrdir)/ruby/internal/intern/re.h +empty.o: $(hdrdir)/ruby/internal/intern/ruby.h +empty.o: $(hdrdir)/ruby/internal/intern/select.h +empty.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +empty.o: $(hdrdir)/ruby/internal/intern/set.h +empty.o: $(hdrdir)/ruby/internal/intern/signal.h +empty.o: $(hdrdir)/ruby/internal/intern/sprintf.h +empty.o: $(hdrdir)/ruby/internal/intern/string.h +empty.o: $(hdrdir)/ruby/internal/intern/struct.h +empty.o: $(hdrdir)/ruby/internal/intern/thread.h +empty.o: $(hdrdir)/ruby/internal/intern/time.h +empty.o: $(hdrdir)/ruby/internal/intern/variable.h +empty.o: $(hdrdir)/ruby/internal/intern/vm.h +empty.o: $(hdrdir)/ruby/internal/interpreter.h +empty.o: $(hdrdir)/ruby/internal/iterator.h +empty.o: $(hdrdir)/ruby/internal/memory.h +empty.o: $(hdrdir)/ruby/internal/method.h +empty.o: $(hdrdir)/ruby/internal/module.h +empty.o: $(hdrdir)/ruby/internal/newobj.h +empty.o: $(hdrdir)/ruby/internal/scan_args.h +empty.o: $(hdrdir)/ruby/internal/special_consts.h +empty.o: $(hdrdir)/ruby/internal/static_assert.h +empty.o: $(hdrdir)/ruby/internal/stdalign.h +empty.o: $(hdrdir)/ruby/internal/stdbool.h +empty.o: $(hdrdir)/ruby/internal/stdckdint.h +empty.o: $(hdrdir)/ruby/internal/symbol.h +empty.o: $(hdrdir)/ruby/internal/value.h +empty.o: $(hdrdir)/ruby/internal/value_type.h +empty.o: $(hdrdir)/ruby/internal/variable.h +empty.o: $(hdrdir)/ruby/internal/warning_push.h +empty.o: $(hdrdir)/ruby/internal/xmalloc.h +empty.o: $(hdrdir)/ruby/missing.h +empty.o: $(hdrdir)/ruby/ruby.h +empty.o: $(hdrdir)/ruby/st.h +empty.o: $(hdrdir)/ruby/subst.h +empty.o: empty.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/dln/empty/empty.c b/ext/-test-/dln/empty/empty.c new file mode 100644 index 0000000000..2b4fd42cd2 --- /dev/null +++ b/ext/-test-/dln/empty/empty.c @@ -0,0 +1,6 @@ +#include "ruby.h" + +void +Init_empty(void) +{ +} diff --git a/ext/-test-/dln/empty/extconf.rb b/ext/-test-/dln/empty/extconf.rb new file mode 100644 index 0000000000..20310b6dde --- /dev/null +++ b/ext/-test-/dln/empty/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/dln/empty") diff --git a/ext/-test-/econv/append.c b/ext/-test-/econv/append.c new file mode 100644 index 0000000000..eb473c47a3 --- /dev/null +++ b/ext/-test-/econv/append.c @@ -0,0 +1,17 @@ +#include "ruby/ruby.h" +#include "ruby/encoding.h" + +static VALUE +econv_append(VALUE self, VALUE src, VALUE dst) +{ + rb_econv_t *ec = DATA_PTR(self); + StringValue(src); + StringValue(dst); + return rb_econv_str_append(ec, src, dst, 0); +} + +void +Init_econv_append(VALUE klass) +{ + rb_define_method(klass, "append", econv_append, 2); +} diff --git a/ext/-test-/econv/depend b/ext/-test-/econv/depend new file mode 100644 index 0000000000..3a5bc9c659 --- /dev/null +++ b/ext/-test-/econv/depend @@ -0,0 +1,336 @@ +# AUTOGENERATED DEPENDENCIES START +append.o: $(RUBY_EXTCONF_H) +append.o: $(arch_hdrdir)/ruby/config.h +append.o: $(hdrdir)/ruby.h +append.o: $(hdrdir)/ruby/assert.h +append.o: $(hdrdir)/ruby/backward.h +append.o: $(hdrdir)/ruby/backward/2/assume.h +append.o: $(hdrdir)/ruby/backward/2/attributes.h +append.o: $(hdrdir)/ruby/backward/2/bool.h +append.o: $(hdrdir)/ruby/backward/2/inttypes.h +append.o: $(hdrdir)/ruby/backward/2/limits.h +append.o: $(hdrdir)/ruby/backward/2/long_long.h +append.o: $(hdrdir)/ruby/backward/2/stdalign.h +append.o: $(hdrdir)/ruby/backward/2/stdarg.h +append.o: $(hdrdir)/ruby/defines.h +append.o: $(hdrdir)/ruby/encoding.h +append.o: $(hdrdir)/ruby/intern.h +append.o: $(hdrdir)/ruby/internal/abi.h +append.o: $(hdrdir)/ruby/internal/anyargs.h +append.o: $(hdrdir)/ruby/internal/arithmetic.h +append.o: $(hdrdir)/ruby/internal/arithmetic/char.h +append.o: $(hdrdir)/ruby/internal/arithmetic/double.h +append.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +append.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/int.h +append.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/long.h +append.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +append.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/short.h +append.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +append.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +append.o: $(hdrdir)/ruby/internal/assume.h +append.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +append.o: $(hdrdir)/ruby/internal/attr/artificial.h +append.o: $(hdrdir)/ruby/internal/attr/cold.h +append.o: $(hdrdir)/ruby/internal/attr/const.h +append.o: $(hdrdir)/ruby/internal/attr/constexpr.h +append.o: $(hdrdir)/ruby/internal/attr/deprecated.h +append.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +append.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +append.o: $(hdrdir)/ruby/internal/attr/error.h +append.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +append.o: $(hdrdir)/ruby/internal/attr/forceinline.h +append.o: $(hdrdir)/ruby/internal/attr/format.h +append.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +append.o: $(hdrdir)/ruby/internal/attr/noalias.h +append.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +append.o: $(hdrdir)/ruby/internal/attr/noexcept.h +append.o: $(hdrdir)/ruby/internal/attr/noinline.h +append.o: $(hdrdir)/ruby/internal/attr/nonnull.h +append.o: $(hdrdir)/ruby/internal/attr/noreturn.h +append.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +append.o: $(hdrdir)/ruby/internal/attr/pure.h +append.o: $(hdrdir)/ruby/internal/attr/restrict.h +append.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +append.o: $(hdrdir)/ruby/internal/attr/warning.h +append.o: $(hdrdir)/ruby/internal/attr/weakref.h +append.o: $(hdrdir)/ruby/internal/cast.h +append.o: $(hdrdir)/ruby/internal/compiler_is.h +append.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +append.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +append.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +append.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +append.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +append.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +append.o: $(hdrdir)/ruby/internal/compiler_since.h +append.o: $(hdrdir)/ruby/internal/config.h +append.o: $(hdrdir)/ruby/internal/constant_p.h +append.o: $(hdrdir)/ruby/internal/core.h +append.o: $(hdrdir)/ruby/internal/core/rarray.h +append.o: $(hdrdir)/ruby/internal/core/rbasic.h +append.o: $(hdrdir)/ruby/internal/core/rbignum.h +append.o: $(hdrdir)/ruby/internal/core/rclass.h +append.o: $(hdrdir)/ruby/internal/core/rdata.h +append.o: $(hdrdir)/ruby/internal/core/rfile.h +append.o: $(hdrdir)/ruby/internal/core/rhash.h +append.o: $(hdrdir)/ruby/internal/core/robject.h +append.o: $(hdrdir)/ruby/internal/core/rregexp.h +append.o: $(hdrdir)/ruby/internal/core/rstring.h +append.o: $(hdrdir)/ruby/internal/core/rstruct.h +append.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +append.o: $(hdrdir)/ruby/internal/ctype.h +append.o: $(hdrdir)/ruby/internal/dllexport.h +append.o: $(hdrdir)/ruby/internal/dosish.h +append.o: $(hdrdir)/ruby/internal/encoding/coderange.h +append.o: $(hdrdir)/ruby/internal/encoding/ctype.h +append.o: $(hdrdir)/ruby/internal/encoding/encoding.h +append.o: $(hdrdir)/ruby/internal/encoding/pathname.h +append.o: $(hdrdir)/ruby/internal/encoding/re.h +append.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +append.o: $(hdrdir)/ruby/internal/encoding/string.h +append.o: $(hdrdir)/ruby/internal/encoding/symbol.h +append.o: $(hdrdir)/ruby/internal/encoding/transcode.h +append.o: $(hdrdir)/ruby/internal/error.h +append.o: $(hdrdir)/ruby/internal/eval.h +append.o: $(hdrdir)/ruby/internal/event.h +append.o: $(hdrdir)/ruby/internal/fl_type.h +append.o: $(hdrdir)/ruby/internal/gc.h +append.o: $(hdrdir)/ruby/internal/glob.h +append.o: $(hdrdir)/ruby/internal/globals.h +append.o: $(hdrdir)/ruby/internal/has/attribute.h +append.o: $(hdrdir)/ruby/internal/has/builtin.h +append.o: $(hdrdir)/ruby/internal/has/c_attribute.h +append.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +append.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +append.o: $(hdrdir)/ruby/internal/has/extension.h +append.o: $(hdrdir)/ruby/internal/has/feature.h +append.o: $(hdrdir)/ruby/internal/has/warning.h +append.o: $(hdrdir)/ruby/internal/intern/array.h +append.o: $(hdrdir)/ruby/internal/intern/bignum.h +append.o: $(hdrdir)/ruby/internal/intern/class.h +append.o: $(hdrdir)/ruby/internal/intern/compar.h +append.o: $(hdrdir)/ruby/internal/intern/complex.h +append.o: $(hdrdir)/ruby/internal/intern/cont.h +append.o: $(hdrdir)/ruby/internal/intern/dir.h +append.o: $(hdrdir)/ruby/internal/intern/enum.h +append.o: $(hdrdir)/ruby/internal/intern/enumerator.h +append.o: $(hdrdir)/ruby/internal/intern/error.h +append.o: $(hdrdir)/ruby/internal/intern/eval.h +append.o: $(hdrdir)/ruby/internal/intern/file.h +append.o: $(hdrdir)/ruby/internal/intern/hash.h +append.o: $(hdrdir)/ruby/internal/intern/io.h +append.o: $(hdrdir)/ruby/internal/intern/load.h +append.o: $(hdrdir)/ruby/internal/intern/marshal.h +append.o: $(hdrdir)/ruby/internal/intern/numeric.h +append.o: $(hdrdir)/ruby/internal/intern/object.h +append.o: $(hdrdir)/ruby/internal/intern/parse.h +append.o: $(hdrdir)/ruby/internal/intern/proc.h +append.o: $(hdrdir)/ruby/internal/intern/process.h +append.o: $(hdrdir)/ruby/internal/intern/random.h +append.o: $(hdrdir)/ruby/internal/intern/range.h +append.o: $(hdrdir)/ruby/internal/intern/rational.h +append.o: $(hdrdir)/ruby/internal/intern/re.h +append.o: $(hdrdir)/ruby/internal/intern/ruby.h +append.o: $(hdrdir)/ruby/internal/intern/select.h +append.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +append.o: $(hdrdir)/ruby/internal/intern/set.h +append.o: $(hdrdir)/ruby/internal/intern/signal.h +append.o: $(hdrdir)/ruby/internal/intern/sprintf.h +append.o: $(hdrdir)/ruby/internal/intern/string.h +append.o: $(hdrdir)/ruby/internal/intern/struct.h +append.o: $(hdrdir)/ruby/internal/intern/thread.h +append.o: $(hdrdir)/ruby/internal/intern/time.h +append.o: $(hdrdir)/ruby/internal/intern/variable.h +append.o: $(hdrdir)/ruby/internal/intern/vm.h +append.o: $(hdrdir)/ruby/internal/interpreter.h +append.o: $(hdrdir)/ruby/internal/iterator.h +append.o: $(hdrdir)/ruby/internal/memory.h +append.o: $(hdrdir)/ruby/internal/method.h +append.o: $(hdrdir)/ruby/internal/module.h +append.o: $(hdrdir)/ruby/internal/newobj.h +append.o: $(hdrdir)/ruby/internal/scan_args.h +append.o: $(hdrdir)/ruby/internal/special_consts.h +append.o: $(hdrdir)/ruby/internal/static_assert.h +append.o: $(hdrdir)/ruby/internal/stdalign.h +append.o: $(hdrdir)/ruby/internal/stdbool.h +append.o: $(hdrdir)/ruby/internal/stdckdint.h +append.o: $(hdrdir)/ruby/internal/symbol.h +append.o: $(hdrdir)/ruby/internal/value.h +append.o: $(hdrdir)/ruby/internal/value_type.h +append.o: $(hdrdir)/ruby/internal/variable.h +append.o: $(hdrdir)/ruby/internal/warning_push.h +append.o: $(hdrdir)/ruby/internal/xmalloc.h +append.o: $(hdrdir)/ruby/missing.h +append.o: $(hdrdir)/ruby/onigmo.h +append.o: $(hdrdir)/ruby/oniguruma.h +append.o: $(hdrdir)/ruby/ruby.h +append.o: $(hdrdir)/ruby/st.h +append.o: $(hdrdir)/ruby/subst.h +append.o: append.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/econv/extconf.rb b/ext/-test-/econv/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/econv/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/econv/init.c b/ext/-test-/econv/init.c new file mode 100644 index 0000000000..9772ebe71c --- /dev/null +++ b/ext/-test-/econv/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_econv_##n(VALUE klass); Init_econv_##n(klass);} + +void +Init_econv(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "EConv", rb_path2class("Encoding::Converter")); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/ensure_and_callcc/depend b/ext/-test-/ensure_and_callcc/depend new file mode 100644 index 0000000000..54431847a6 --- /dev/null +++ b/ext/-test-/ensure_and_callcc/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +ensure_and_callcc.o: $(RUBY_EXTCONF_H) +ensure_and_callcc.o: $(arch_hdrdir)/ruby/config.h +ensure_and_callcc.o: $(hdrdir)/ruby.h +ensure_and_callcc.o: $(hdrdir)/ruby/assert.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/assume.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/attributes.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/bool.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/inttypes.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/limits.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/long_long.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/stdalign.h +ensure_and_callcc.o: $(hdrdir)/ruby/backward/2/stdarg.h +ensure_and_callcc.o: $(hdrdir)/ruby/defines.h +ensure_and_callcc.o: $(hdrdir)/ruby/intern.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/abi.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/anyargs.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/char.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/double.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/int.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/long.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/short.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/assume.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/artificial.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/cold.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/const.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/constexpr.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/deprecated.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/error.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/forceinline.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/format.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/noalias.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/noexcept.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/noinline.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/nonnull.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/noreturn.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/pure.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/restrict.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/warning.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/attr/weakref.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/cast.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/compiler_since.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/config.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/constant_p.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rarray.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rbasic.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rbignum.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rclass.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rdata.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rfile.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rhash.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/robject.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rregexp.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rstring.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rstruct.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/ctype.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/dllexport.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/dosish.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/error.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/eval.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/event.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/fl_type.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/gc.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/glob.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/globals.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/attribute.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/builtin.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/c_attribute.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/extension.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/feature.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/has/warning.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/array.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/bignum.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/class.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/compar.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/complex.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/cont.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/dir.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/enum.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/enumerator.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/error.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/eval.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/file.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/hash.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/io.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/load.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/marshal.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/numeric.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/object.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/parse.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/proc.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/process.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/random.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/range.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/rational.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/re.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/ruby.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/select.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/set.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/signal.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/sprintf.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/string.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/struct.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/thread.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/time.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/variable.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/intern/vm.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/interpreter.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/iterator.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/memory.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/method.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/module.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/newobj.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/scan_args.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/special_consts.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/static_assert.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/stdalign.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/stdbool.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/stdckdint.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/symbol.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/value.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/value_type.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/variable.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/warning_push.h +ensure_and_callcc.o: $(hdrdir)/ruby/internal/xmalloc.h +ensure_and_callcc.o: $(hdrdir)/ruby/missing.h +ensure_and_callcc.o: $(hdrdir)/ruby/ruby.h +ensure_and_callcc.o: $(hdrdir)/ruby/st.h +ensure_and_callcc.o: $(hdrdir)/ruby/subst.h +ensure_and_callcc.o: ensure_and_callcc.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/ensure_and_callcc/ensure_and_callcc.c b/ext/-test-/ensure_and_callcc/ensure_and_callcc.c new file mode 100644 index 0000000000..1a92de69c3 --- /dev/null +++ b/ext/-test-/ensure_and_callcc/ensure_and_callcc.c @@ -0,0 +1,58 @@ +#include "ruby.h" + +static VALUE rb_mEnsureAndCallcc; + +struct require_data { + VALUE obj; + VALUE fname; +}; + +static VALUE +call_require(VALUE arg) +{ + struct require_data *data = (struct require_data *)arg; + rb_f_require(data->obj, data->fname); + return Qnil; +} + +static VALUE +call_ensure(VALUE _) +{ + VALUE v = rb_iv_get(rb_mEnsureAndCallcc, "@ensure_called"); + int called = FIX2INT(v) + 1; + rb_iv_set(rb_mEnsureAndCallcc, "@ensure_called", INT2FIX(called)); + return Qnil; +} + +static VALUE +require_with_ensure(VALUE self, VALUE fname) +{ + struct require_data data = { + .obj = self, + .fname = fname + }; + return rb_ensure(call_require, (VALUE)&data, call_ensure, Qnil); +} + +static VALUE +ensure_called(VALUE self) +{ + return rb_iv_get(rb_mEnsureAndCallcc, "@ensure_called"); +} + +static VALUE +reset(VALUE self) +{ + rb_iv_set(rb_mEnsureAndCallcc, "@ensure_called", INT2FIX(0)); + return Qnil; +} + +void +Init_ensure_and_callcc(void) +{ + rb_mEnsureAndCallcc = rb_define_module("EnsureAndCallcc"); + rb_iv_set(rb_mEnsureAndCallcc, "@ensure_called", INT2FIX(0)); + rb_define_singleton_method(rb_mEnsureAndCallcc, "reset", reset, 0); + rb_define_singleton_method(rb_mEnsureAndCallcc, "ensure_called", ensure_called, 0); + rb_define_singleton_method(rb_mEnsureAndCallcc, "require_with_ensure", require_with_ensure, 1); +} diff --git a/ext/-test-/ensure_and_callcc/extconf.rb b/ext/-test-/ensure_and_callcc/extconf.rb new file mode 100644 index 0000000000..123b80b8d0 --- /dev/null +++ b/ext/-test-/ensure_and_callcc/extconf.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: false +require "mkmf" + +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/enumerator_kw/depend b/ext/-test-/enumerator_kw/depend new file mode 100644 index 0000000000..b6d2f0a998 --- /dev/null +++ b/ext/-test-/enumerator_kw/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +enumerator_kw.o: $(RUBY_EXTCONF_H) +enumerator_kw.o: $(arch_hdrdir)/ruby/config.h +enumerator_kw.o: $(hdrdir)/ruby.h +enumerator_kw.o: $(hdrdir)/ruby/assert.h +enumerator_kw.o: $(hdrdir)/ruby/backward.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/assume.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/attributes.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/bool.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/inttypes.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/limits.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/long_long.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/stdalign.h +enumerator_kw.o: $(hdrdir)/ruby/backward/2/stdarg.h +enumerator_kw.o: $(hdrdir)/ruby/defines.h +enumerator_kw.o: $(hdrdir)/ruby/intern.h +enumerator_kw.o: $(hdrdir)/ruby/internal/abi.h +enumerator_kw.o: $(hdrdir)/ruby/internal/anyargs.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/char.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/double.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/int.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/long.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/short.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +enumerator_kw.o: $(hdrdir)/ruby/internal/assume.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/artificial.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/cold.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/const.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/constexpr.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/deprecated.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/error.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/forceinline.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/format.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/noalias.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/noexcept.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/noinline.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/nonnull.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/noreturn.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/pure.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/restrict.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/warning.h +enumerator_kw.o: $(hdrdir)/ruby/internal/attr/weakref.h +enumerator_kw.o: $(hdrdir)/ruby/internal/cast.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +enumerator_kw.o: $(hdrdir)/ruby/internal/compiler_since.h +enumerator_kw.o: $(hdrdir)/ruby/internal/config.h +enumerator_kw.o: $(hdrdir)/ruby/internal/constant_p.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rarray.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rbasic.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rbignum.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rclass.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rdata.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rfile.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rhash.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/robject.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rregexp.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rstring.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rstruct.h +enumerator_kw.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +enumerator_kw.o: $(hdrdir)/ruby/internal/ctype.h +enumerator_kw.o: $(hdrdir)/ruby/internal/dllexport.h +enumerator_kw.o: $(hdrdir)/ruby/internal/dosish.h +enumerator_kw.o: $(hdrdir)/ruby/internal/error.h +enumerator_kw.o: $(hdrdir)/ruby/internal/eval.h +enumerator_kw.o: $(hdrdir)/ruby/internal/event.h +enumerator_kw.o: $(hdrdir)/ruby/internal/fl_type.h +enumerator_kw.o: $(hdrdir)/ruby/internal/gc.h +enumerator_kw.o: $(hdrdir)/ruby/internal/glob.h +enumerator_kw.o: $(hdrdir)/ruby/internal/globals.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/attribute.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/builtin.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/c_attribute.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/extension.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/feature.h +enumerator_kw.o: $(hdrdir)/ruby/internal/has/warning.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/array.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/bignum.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/class.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/compar.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/complex.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/cont.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/dir.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/enum.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/enumerator.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/error.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/eval.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/file.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/hash.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/io.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/load.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/marshal.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/numeric.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/object.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/parse.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/proc.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/process.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/random.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/range.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/rational.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/re.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/ruby.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/select.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/set.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/signal.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/sprintf.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/string.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/struct.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/thread.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/time.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/variable.h +enumerator_kw.o: $(hdrdir)/ruby/internal/intern/vm.h +enumerator_kw.o: $(hdrdir)/ruby/internal/interpreter.h +enumerator_kw.o: $(hdrdir)/ruby/internal/iterator.h +enumerator_kw.o: $(hdrdir)/ruby/internal/memory.h +enumerator_kw.o: $(hdrdir)/ruby/internal/method.h +enumerator_kw.o: $(hdrdir)/ruby/internal/module.h +enumerator_kw.o: $(hdrdir)/ruby/internal/newobj.h +enumerator_kw.o: $(hdrdir)/ruby/internal/scan_args.h +enumerator_kw.o: $(hdrdir)/ruby/internal/special_consts.h +enumerator_kw.o: $(hdrdir)/ruby/internal/static_assert.h +enumerator_kw.o: $(hdrdir)/ruby/internal/stdalign.h +enumerator_kw.o: $(hdrdir)/ruby/internal/stdbool.h +enumerator_kw.o: $(hdrdir)/ruby/internal/stdckdint.h +enumerator_kw.o: $(hdrdir)/ruby/internal/symbol.h +enumerator_kw.o: $(hdrdir)/ruby/internal/value.h +enumerator_kw.o: $(hdrdir)/ruby/internal/value_type.h +enumerator_kw.o: $(hdrdir)/ruby/internal/variable.h +enumerator_kw.o: $(hdrdir)/ruby/internal/warning_push.h +enumerator_kw.o: $(hdrdir)/ruby/internal/xmalloc.h +enumerator_kw.o: $(hdrdir)/ruby/missing.h +enumerator_kw.o: $(hdrdir)/ruby/ruby.h +enumerator_kw.o: $(hdrdir)/ruby/st.h +enumerator_kw.o: $(hdrdir)/ruby/subst.h +enumerator_kw.o: enumerator_kw.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/enumerator_kw/enumerator_kw.c b/ext/-test-/enumerator_kw/enumerator_kw.c new file mode 100644 index 0000000000..9104c51869 --- /dev/null +++ b/ext/-test-/enumerator_kw/enumerator_kw.c @@ -0,0 +1,22 @@ +#include <ruby.h> + +static VALUE +enumerator_kw(int argc, VALUE *argv, VALUE self) +{ + VALUE opt, enum_args[4]; + enum_args[0] = Qnil; + enum_args[1] = Qnil; + rb_scan_args(argc, argv, "01*:", enum_args, enum_args+1, &opt); + enum_args[3] = self; + enum_args[2] = opt; + RETURN_SIZED_ENUMERATOR_KW(self, 4, enum_args, 0, RB_NO_KEYWORDS); + return rb_yield_values_kw(4, enum_args, RB_NO_KEYWORDS); +} + +void +Init_enumerator_kw(void) +{ + VALUE module = rb_define_module("Bug"); + module = rb_define_module_under(module, "EnumeratorKw"); + rb_define_method(module, "m", enumerator_kw, -1); +} diff --git a/ext/-test-/enumerator_kw/extconf.rb b/ext/-test-/enumerator_kw/extconf.rb new file mode 100644 index 0000000000..ab2be73fa8 --- /dev/null +++ b/ext/-test-/enumerator_kw/extconf.rb @@ -0,0 +1 @@ +create_makefile("-test-/enumerator_kw") diff --git a/ext/-test-/eval/depend b/ext/-test-/eval/depend new file mode 100644 index 0000000000..03a1c7d7ef --- /dev/null +++ b/ext/-test-/eval/depend @@ -0,0 +1,162 @@ +# AUTOGENERATED DEPENDENCIES START +eval.o: $(RUBY_EXTCONF_H) +eval.o: $(arch_hdrdir)/ruby/config.h +eval.o: $(hdrdir)/ruby/assert.h +eval.o: $(hdrdir)/ruby/backward.h +eval.o: $(hdrdir)/ruby/backward/2/assume.h +eval.o: $(hdrdir)/ruby/backward/2/attributes.h +eval.o: $(hdrdir)/ruby/backward/2/bool.h +eval.o: $(hdrdir)/ruby/backward/2/inttypes.h +eval.o: $(hdrdir)/ruby/backward/2/limits.h +eval.o: $(hdrdir)/ruby/backward/2/long_long.h +eval.o: $(hdrdir)/ruby/backward/2/stdalign.h +eval.o: $(hdrdir)/ruby/backward/2/stdarg.h +eval.o: $(hdrdir)/ruby/defines.h +eval.o: $(hdrdir)/ruby/intern.h +eval.o: $(hdrdir)/ruby/internal/abi.h +eval.o: $(hdrdir)/ruby/internal/anyargs.h +eval.o: $(hdrdir)/ruby/internal/arithmetic.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/char.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/double.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/int.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/long.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/short.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +eval.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +eval.o: $(hdrdir)/ruby/internal/assume.h +eval.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +eval.o: $(hdrdir)/ruby/internal/attr/artificial.h +eval.o: $(hdrdir)/ruby/internal/attr/cold.h +eval.o: $(hdrdir)/ruby/internal/attr/const.h +eval.o: $(hdrdir)/ruby/internal/attr/constexpr.h +eval.o: $(hdrdir)/ruby/internal/attr/deprecated.h +eval.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +eval.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +eval.o: $(hdrdir)/ruby/internal/attr/error.h +eval.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +eval.o: $(hdrdir)/ruby/internal/attr/forceinline.h +eval.o: $(hdrdir)/ruby/internal/attr/format.h +eval.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +eval.o: $(hdrdir)/ruby/internal/attr/noalias.h +eval.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +eval.o: $(hdrdir)/ruby/internal/attr/noexcept.h +eval.o: $(hdrdir)/ruby/internal/attr/noinline.h +eval.o: $(hdrdir)/ruby/internal/attr/nonnull.h +eval.o: $(hdrdir)/ruby/internal/attr/noreturn.h +eval.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +eval.o: $(hdrdir)/ruby/internal/attr/pure.h +eval.o: $(hdrdir)/ruby/internal/attr/restrict.h +eval.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +eval.o: $(hdrdir)/ruby/internal/attr/warning.h +eval.o: $(hdrdir)/ruby/internal/attr/weakref.h +eval.o: $(hdrdir)/ruby/internal/cast.h +eval.o: $(hdrdir)/ruby/internal/compiler_is.h +eval.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +eval.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +eval.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +eval.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +eval.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +eval.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +eval.o: $(hdrdir)/ruby/internal/compiler_since.h +eval.o: $(hdrdir)/ruby/internal/config.h +eval.o: $(hdrdir)/ruby/internal/constant_p.h +eval.o: $(hdrdir)/ruby/internal/core.h +eval.o: $(hdrdir)/ruby/internal/core/rarray.h +eval.o: $(hdrdir)/ruby/internal/core/rbasic.h +eval.o: $(hdrdir)/ruby/internal/core/rbignum.h +eval.o: $(hdrdir)/ruby/internal/core/rclass.h +eval.o: $(hdrdir)/ruby/internal/core/rdata.h +eval.o: $(hdrdir)/ruby/internal/core/rfile.h +eval.o: $(hdrdir)/ruby/internal/core/rhash.h +eval.o: $(hdrdir)/ruby/internal/core/robject.h +eval.o: $(hdrdir)/ruby/internal/core/rregexp.h +eval.o: $(hdrdir)/ruby/internal/core/rstring.h +eval.o: $(hdrdir)/ruby/internal/core/rstruct.h +eval.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +eval.o: $(hdrdir)/ruby/internal/ctype.h +eval.o: $(hdrdir)/ruby/internal/dllexport.h +eval.o: $(hdrdir)/ruby/internal/dosish.h +eval.o: $(hdrdir)/ruby/internal/error.h +eval.o: $(hdrdir)/ruby/internal/eval.h +eval.o: $(hdrdir)/ruby/internal/event.h +eval.o: $(hdrdir)/ruby/internal/fl_type.h +eval.o: $(hdrdir)/ruby/internal/gc.h +eval.o: $(hdrdir)/ruby/internal/glob.h +eval.o: $(hdrdir)/ruby/internal/globals.h +eval.o: $(hdrdir)/ruby/internal/has/attribute.h +eval.o: $(hdrdir)/ruby/internal/has/builtin.h +eval.o: $(hdrdir)/ruby/internal/has/c_attribute.h +eval.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +eval.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +eval.o: $(hdrdir)/ruby/internal/has/extension.h +eval.o: $(hdrdir)/ruby/internal/has/feature.h +eval.o: $(hdrdir)/ruby/internal/has/warning.h +eval.o: $(hdrdir)/ruby/internal/intern/array.h +eval.o: $(hdrdir)/ruby/internal/intern/bignum.h +eval.o: $(hdrdir)/ruby/internal/intern/class.h +eval.o: $(hdrdir)/ruby/internal/intern/compar.h +eval.o: $(hdrdir)/ruby/internal/intern/complex.h +eval.o: $(hdrdir)/ruby/internal/intern/cont.h +eval.o: $(hdrdir)/ruby/internal/intern/dir.h +eval.o: $(hdrdir)/ruby/internal/intern/enum.h +eval.o: $(hdrdir)/ruby/internal/intern/enumerator.h +eval.o: $(hdrdir)/ruby/internal/intern/error.h +eval.o: $(hdrdir)/ruby/internal/intern/eval.h +eval.o: $(hdrdir)/ruby/internal/intern/file.h +eval.o: $(hdrdir)/ruby/internal/intern/hash.h +eval.o: $(hdrdir)/ruby/internal/intern/io.h +eval.o: $(hdrdir)/ruby/internal/intern/load.h +eval.o: $(hdrdir)/ruby/internal/intern/marshal.h +eval.o: $(hdrdir)/ruby/internal/intern/numeric.h +eval.o: $(hdrdir)/ruby/internal/intern/object.h +eval.o: $(hdrdir)/ruby/internal/intern/parse.h +eval.o: $(hdrdir)/ruby/internal/intern/proc.h +eval.o: $(hdrdir)/ruby/internal/intern/process.h +eval.o: $(hdrdir)/ruby/internal/intern/random.h +eval.o: $(hdrdir)/ruby/internal/intern/range.h +eval.o: $(hdrdir)/ruby/internal/intern/rational.h +eval.o: $(hdrdir)/ruby/internal/intern/re.h +eval.o: $(hdrdir)/ruby/internal/intern/ruby.h +eval.o: $(hdrdir)/ruby/internal/intern/select.h +eval.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +eval.o: $(hdrdir)/ruby/internal/intern/set.h +eval.o: $(hdrdir)/ruby/internal/intern/signal.h +eval.o: $(hdrdir)/ruby/internal/intern/sprintf.h +eval.o: $(hdrdir)/ruby/internal/intern/string.h +eval.o: $(hdrdir)/ruby/internal/intern/struct.h +eval.o: $(hdrdir)/ruby/internal/intern/thread.h +eval.o: $(hdrdir)/ruby/internal/intern/time.h +eval.o: $(hdrdir)/ruby/internal/intern/variable.h +eval.o: $(hdrdir)/ruby/internal/intern/vm.h +eval.o: $(hdrdir)/ruby/internal/interpreter.h +eval.o: $(hdrdir)/ruby/internal/iterator.h +eval.o: $(hdrdir)/ruby/internal/memory.h +eval.o: $(hdrdir)/ruby/internal/method.h +eval.o: $(hdrdir)/ruby/internal/module.h +eval.o: $(hdrdir)/ruby/internal/newobj.h +eval.o: $(hdrdir)/ruby/internal/scan_args.h +eval.o: $(hdrdir)/ruby/internal/special_consts.h +eval.o: $(hdrdir)/ruby/internal/static_assert.h +eval.o: $(hdrdir)/ruby/internal/stdalign.h +eval.o: $(hdrdir)/ruby/internal/stdbool.h +eval.o: $(hdrdir)/ruby/internal/stdckdint.h +eval.o: $(hdrdir)/ruby/internal/symbol.h +eval.o: $(hdrdir)/ruby/internal/value.h +eval.o: $(hdrdir)/ruby/internal/value_type.h +eval.o: $(hdrdir)/ruby/internal/variable.h +eval.o: $(hdrdir)/ruby/internal/warning_push.h +eval.o: $(hdrdir)/ruby/internal/xmalloc.h +eval.o: $(hdrdir)/ruby/missing.h +eval.o: $(hdrdir)/ruby/ruby.h +eval.o: $(hdrdir)/ruby/st.h +eval.o: $(hdrdir)/ruby/subst.h +eval.o: eval.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/eval/eval.c b/ext/-test-/eval/eval.c new file mode 100644 index 0000000000..983468fc34 --- /dev/null +++ b/ext/-test-/eval/eval.c @@ -0,0 +1,13 @@ +#include "ruby/ruby.h" + +static VALUE +eval_string(VALUE self, VALUE str) +{ + return rb_eval_string(StringValueCStr(str)); +} + +void +Init_eval(void) +{ + rb_define_global_function("rb_eval_string", eval_string, 1); +} diff --git a/ext/-test-/eval/extconf.rb b/ext/-test-/eval/extconf.rb new file mode 100644 index 0000000000..cdbf6a8597 --- /dev/null +++ b/ext/-test-/eval/extconf.rb @@ -0,0 +1,2 @@ +require 'mkmf' +create_makefile('-test-/eval') diff --git a/ext/-test-/exception/dataerror.c b/ext/-test-/exception/dataerror.c new file mode 100644 index 0000000000..d8beba8aa4 --- /dev/null +++ b/ext/-test-/exception/dataerror.c @@ -0,0 +1,31 @@ +#include <ruby/ruby.h> + +static void +dataerror_mark(void *ptr) +{ + rb_gc_mark((VALUE)ptr); +} + +static void +dataerror_free(void *ptr) +{ +} + +static const rb_data_type_t dataerror_type = { + "Bug #9167", + {dataerror_mark, dataerror_free}, +}; + +static VALUE +dataerror_alloc(VALUE klass) +{ + VALUE n = rb_str_new_cstr("[Bug #9167] error"); + return TypedData_Wrap_Struct(klass, &dataerror_type, (void *)n); +} + +void +Init_dataerror(VALUE klass) +{ + VALUE rb_eDataErr = rb_define_class_under(klass, "DataError", rb_eStandardError); + rb_define_alloc_func(rb_eDataErr, dataerror_alloc); +} diff --git a/ext/-test-/exception/depend b/ext/-test-/exception/depend new file mode 100644 index 0000000000..690e5ad377 --- /dev/null +++ b/ext/-test-/exception/depend @@ -0,0 +1,657 @@ +# AUTOGENERATED DEPENDENCIES START +dataerror.o: $(RUBY_EXTCONF_H) +dataerror.o: $(arch_hdrdir)/ruby/config.h +dataerror.o: $(hdrdir)/ruby/assert.h +dataerror.o: $(hdrdir)/ruby/backward.h +dataerror.o: $(hdrdir)/ruby/backward/2/assume.h +dataerror.o: $(hdrdir)/ruby/backward/2/attributes.h +dataerror.o: $(hdrdir)/ruby/backward/2/bool.h +dataerror.o: $(hdrdir)/ruby/backward/2/inttypes.h +dataerror.o: $(hdrdir)/ruby/backward/2/limits.h +dataerror.o: $(hdrdir)/ruby/backward/2/long_long.h +dataerror.o: $(hdrdir)/ruby/backward/2/stdalign.h +dataerror.o: $(hdrdir)/ruby/backward/2/stdarg.h +dataerror.o: $(hdrdir)/ruby/defines.h +dataerror.o: $(hdrdir)/ruby/intern.h +dataerror.o: $(hdrdir)/ruby/internal/abi.h +dataerror.o: $(hdrdir)/ruby/internal/anyargs.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/char.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/double.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/int.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/long.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/short.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +dataerror.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +dataerror.o: $(hdrdir)/ruby/internal/assume.h +dataerror.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +dataerror.o: $(hdrdir)/ruby/internal/attr/artificial.h +dataerror.o: $(hdrdir)/ruby/internal/attr/cold.h +dataerror.o: $(hdrdir)/ruby/internal/attr/const.h +dataerror.o: $(hdrdir)/ruby/internal/attr/constexpr.h +dataerror.o: $(hdrdir)/ruby/internal/attr/deprecated.h +dataerror.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +dataerror.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +dataerror.o: $(hdrdir)/ruby/internal/attr/error.h +dataerror.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +dataerror.o: $(hdrdir)/ruby/internal/attr/forceinline.h +dataerror.o: $(hdrdir)/ruby/internal/attr/format.h +dataerror.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +dataerror.o: $(hdrdir)/ruby/internal/attr/noalias.h +dataerror.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +dataerror.o: $(hdrdir)/ruby/internal/attr/noexcept.h +dataerror.o: $(hdrdir)/ruby/internal/attr/noinline.h +dataerror.o: $(hdrdir)/ruby/internal/attr/nonnull.h +dataerror.o: $(hdrdir)/ruby/internal/attr/noreturn.h +dataerror.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +dataerror.o: $(hdrdir)/ruby/internal/attr/pure.h +dataerror.o: $(hdrdir)/ruby/internal/attr/restrict.h +dataerror.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +dataerror.o: $(hdrdir)/ruby/internal/attr/warning.h +dataerror.o: $(hdrdir)/ruby/internal/attr/weakref.h +dataerror.o: $(hdrdir)/ruby/internal/cast.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +dataerror.o: $(hdrdir)/ruby/internal/compiler_since.h +dataerror.o: $(hdrdir)/ruby/internal/config.h +dataerror.o: $(hdrdir)/ruby/internal/constant_p.h +dataerror.o: $(hdrdir)/ruby/internal/core.h +dataerror.o: $(hdrdir)/ruby/internal/core/rarray.h +dataerror.o: $(hdrdir)/ruby/internal/core/rbasic.h +dataerror.o: $(hdrdir)/ruby/internal/core/rbignum.h +dataerror.o: $(hdrdir)/ruby/internal/core/rclass.h +dataerror.o: $(hdrdir)/ruby/internal/core/rdata.h +dataerror.o: $(hdrdir)/ruby/internal/core/rfile.h +dataerror.o: $(hdrdir)/ruby/internal/core/rhash.h +dataerror.o: $(hdrdir)/ruby/internal/core/robject.h +dataerror.o: $(hdrdir)/ruby/internal/core/rregexp.h +dataerror.o: $(hdrdir)/ruby/internal/core/rstring.h +dataerror.o: $(hdrdir)/ruby/internal/core/rstruct.h +dataerror.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +dataerror.o: $(hdrdir)/ruby/internal/ctype.h +dataerror.o: $(hdrdir)/ruby/internal/dllexport.h +dataerror.o: $(hdrdir)/ruby/internal/dosish.h +dataerror.o: $(hdrdir)/ruby/internal/error.h +dataerror.o: $(hdrdir)/ruby/internal/eval.h +dataerror.o: $(hdrdir)/ruby/internal/event.h +dataerror.o: $(hdrdir)/ruby/internal/fl_type.h +dataerror.o: $(hdrdir)/ruby/internal/gc.h +dataerror.o: $(hdrdir)/ruby/internal/glob.h +dataerror.o: $(hdrdir)/ruby/internal/globals.h +dataerror.o: $(hdrdir)/ruby/internal/has/attribute.h +dataerror.o: $(hdrdir)/ruby/internal/has/builtin.h +dataerror.o: $(hdrdir)/ruby/internal/has/c_attribute.h +dataerror.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +dataerror.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +dataerror.o: $(hdrdir)/ruby/internal/has/extension.h +dataerror.o: $(hdrdir)/ruby/internal/has/feature.h +dataerror.o: $(hdrdir)/ruby/internal/has/warning.h +dataerror.o: $(hdrdir)/ruby/internal/intern/array.h +dataerror.o: $(hdrdir)/ruby/internal/intern/bignum.h +dataerror.o: $(hdrdir)/ruby/internal/intern/class.h +dataerror.o: $(hdrdir)/ruby/internal/intern/compar.h +dataerror.o: $(hdrdir)/ruby/internal/intern/complex.h +dataerror.o: $(hdrdir)/ruby/internal/intern/cont.h +dataerror.o: $(hdrdir)/ruby/internal/intern/dir.h +dataerror.o: $(hdrdir)/ruby/internal/intern/enum.h +dataerror.o: $(hdrdir)/ruby/internal/intern/enumerator.h +dataerror.o: $(hdrdir)/ruby/internal/intern/error.h +dataerror.o: $(hdrdir)/ruby/internal/intern/eval.h +dataerror.o: $(hdrdir)/ruby/internal/intern/file.h +dataerror.o: $(hdrdir)/ruby/internal/intern/hash.h +dataerror.o: $(hdrdir)/ruby/internal/intern/io.h +dataerror.o: $(hdrdir)/ruby/internal/intern/load.h +dataerror.o: $(hdrdir)/ruby/internal/intern/marshal.h +dataerror.o: $(hdrdir)/ruby/internal/intern/numeric.h +dataerror.o: $(hdrdir)/ruby/internal/intern/object.h +dataerror.o: $(hdrdir)/ruby/internal/intern/parse.h +dataerror.o: $(hdrdir)/ruby/internal/intern/proc.h +dataerror.o: $(hdrdir)/ruby/internal/intern/process.h +dataerror.o: $(hdrdir)/ruby/internal/intern/random.h +dataerror.o: $(hdrdir)/ruby/internal/intern/range.h +dataerror.o: $(hdrdir)/ruby/internal/intern/rational.h +dataerror.o: $(hdrdir)/ruby/internal/intern/re.h +dataerror.o: $(hdrdir)/ruby/internal/intern/ruby.h +dataerror.o: $(hdrdir)/ruby/internal/intern/select.h +dataerror.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +dataerror.o: $(hdrdir)/ruby/internal/intern/set.h +dataerror.o: $(hdrdir)/ruby/internal/intern/signal.h +dataerror.o: $(hdrdir)/ruby/internal/intern/sprintf.h +dataerror.o: $(hdrdir)/ruby/internal/intern/string.h +dataerror.o: $(hdrdir)/ruby/internal/intern/struct.h +dataerror.o: $(hdrdir)/ruby/internal/intern/thread.h +dataerror.o: $(hdrdir)/ruby/internal/intern/time.h +dataerror.o: $(hdrdir)/ruby/internal/intern/variable.h +dataerror.o: $(hdrdir)/ruby/internal/intern/vm.h +dataerror.o: $(hdrdir)/ruby/internal/interpreter.h +dataerror.o: $(hdrdir)/ruby/internal/iterator.h +dataerror.o: $(hdrdir)/ruby/internal/memory.h +dataerror.o: $(hdrdir)/ruby/internal/method.h +dataerror.o: $(hdrdir)/ruby/internal/module.h +dataerror.o: $(hdrdir)/ruby/internal/newobj.h +dataerror.o: $(hdrdir)/ruby/internal/scan_args.h +dataerror.o: $(hdrdir)/ruby/internal/special_consts.h +dataerror.o: $(hdrdir)/ruby/internal/static_assert.h +dataerror.o: $(hdrdir)/ruby/internal/stdalign.h +dataerror.o: $(hdrdir)/ruby/internal/stdbool.h +dataerror.o: $(hdrdir)/ruby/internal/stdckdint.h +dataerror.o: $(hdrdir)/ruby/internal/symbol.h +dataerror.o: $(hdrdir)/ruby/internal/value.h +dataerror.o: $(hdrdir)/ruby/internal/value_type.h +dataerror.o: $(hdrdir)/ruby/internal/variable.h +dataerror.o: $(hdrdir)/ruby/internal/warning_push.h +dataerror.o: $(hdrdir)/ruby/internal/xmalloc.h +dataerror.o: $(hdrdir)/ruby/missing.h +dataerror.o: $(hdrdir)/ruby/ruby.h +dataerror.o: $(hdrdir)/ruby/st.h +dataerror.o: $(hdrdir)/ruby/subst.h +dataerror.o: dataerror.c +enc_raise.o: $(RUBY_EXTCONF_H) +enc_raise.o: $(arch_hdrdir)/ruby/config.h +enc_raise.o: $(hdrdir)/ruby.h +enc_raise.o: $(hdrdir)/ruby/assert.h +enc_raise.o: $(hdrdir)/ruby/backward.h +enc_raise.o: $(hdrdir)/ruby/backward/2/assume.h +enc_raise.o: $(hdrdir)/ruby/backward/2/attributes.h +enc_raise.o: $(hdrdir)/ruby/backward/2/bool.h +enc_raise.o: $(hdrdir)/ruby/backward/2/inttypes.h +enc_raise.o: $(hdrdir)/ruby/backward/2/limits.h +enc_raise.o: $(hdrdir)/ruby/backward/2/long_long.h +enc_raise.o: $(hdrdir)/ruby/backward/2/stdalign.h +enc_raise.o: $(hdrdir)/ruby/backward/2/stdarg.h +enc_raise.o: $(hdrdir)/ruby/defines.h +enc_raise.o: $(hdrdir)/ruby/encoding.h +enc_raise.o: $(hdrdir)/ruby/intern.h +enc_raise.o: $(hdrdir)/ruby/internal/abi.h +enc_raise.o: $(hdrdir)/ruby/internal/anyargs.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/char.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/double.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/int.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/long.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/short.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +enc_raise.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +enc_raise.o: $(hdrdir)/ruby/internal/assume.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/artificial.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/cold.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/const.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/constexpr.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/deprecated.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/error.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/forceinline.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/format.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/noalias.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/noexcept.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/noinline.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/nonnull.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/noreturn.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/pure.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/restrict.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/warning.h +enc_raise.o: $(hdrdir)/ruby/internal/attr/weakref.h +enc_raise.o: $(hdrdir)/ruby/internal/cast.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +enc_raise.o: $(hdrdir)/ruby/internal/compiler_since.h +enc_raise.o: $(hdrdir)/ruby/internal/config.h +enc_raise.o: $(hdrdir)/ruby/internal/constant_p.h +enc_raise.o: $(hdrdir)/ruby/internal/core.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rarray.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rbasic.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rbignum.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rclass.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rdata.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rfile.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rhash.h +enc_raise.o: $(hdrdir)/ruby/internal/core/robject.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rregexp.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rstring.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rstruct.h +enc_raise.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +enc_raise.o: $(hdrdir)/ruby/internal/ctype.h +enc_raise.o: $(hdrdir)/ruby/internal/dllexport.h +enc_raise.o: $(hdrdir)/ruby/internal/dosish.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/coderange.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/ctype.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/encoding.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/pathname.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/re.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/string.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/symbol.h +enc_raise.o: $(hdrdir)/ruby/internal/encoding/transcode.h +enc_raise.o: $(hdrdir)/ruby/internal/error.h +enc_raise.o: $(hdrdir)/ruby/internal/eval.h +enc_raise.o: $(hdrdir)/ruby/internal/event.h +enc_raise.o: $(hdrdir)/ruby/internal/fl_type.h +enc_raise.o: $(hdrdir)/ruby/internal/gc.h +enc_raise.o: $(hdrdir)/ruby/internal/glob.h +enc_raise.o: $(hdrdir)/ruby/internal/globals.h +enc_raise.o: $(hdrdir)/ruby/internal/has/attribute.h +enc_raise.o: $(hdrdir)/ruby/internal/has/builtin.h +enc_raise.o: $(hdrdir)/ruby/internal/has/c_attribute.h +enc_raise.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +enc_raise.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +enc_raise.o: $(hdrdir)/ruby/internal/has/extension.h +enc_raise.o: $(hdrdir)/ruby/internal/has/feature.h +enc_raise.o: $(hdrdir)/ruby/internal/has/warning.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/array.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/bignum.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/class.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/compar.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/complex.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/cont.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/dir.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/enum.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/enumerator.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/error.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/eval.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/file.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/hash.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/io.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/load.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/marshal.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/numeric.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/object.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/parse.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/proc.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/process.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/random.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/range.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/rational.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/re.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/ruby.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/select.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/set.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/signal.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/sprintf.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/string.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/struct.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/thread.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/time.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/variable.h +enc_raise.o: $(hdrdir)/ruby/internal/intern/vm.h +enc_raise.o: $(hdrdir)/ruby/internal/interpreter.h +enc_raise.o: $(hdrdir)/ruby/internal/iterator.h +enc_raise.o: $(hdrdir)/ruby/internal/memory.h +enc_raise.o: $(hdrdir)/ruby/internal/method.h +enc_raise.o: $(hdrdir)/ruby/internal/module.h +enc_raise.o: $(hdrdir)/ruby/internal/newobj.h +enc_raise.o: $(hdrdir)/ruby/internal/scan_args.h +enc_raise.o: $(hdrdir)/ruby/internal/special_consts.h +enc_raise.o: $(hdrdir)/ruby/internal/static_assert.h +enc_raise.o: $(hdrdir)/ruby/internal/stdalign.h +enc_raise.o: $(hdrdir)/ruby/internal/stdbool.h +enc_raise.o: $(hdrdir)/ruby/internal/stdckdint.h +enc_raise.o: $(hdrdir)/ruby/internal/symbol.h +enc_raise.o: $(hdrdir)/ruby/internal/value.h +enc_raise.o: $(hdrdir)/ruby/internal/value_type.h +enc_raise.o: $(hdrdir)/ruby/internal/variable.h +enc_raise.o: $(hdrdir)/ruby/internal/warning_push.h +enc_raise.o: $(hdrdir)/ruby/internal/xmalloc.h +enc_raise.o: $(hdrdir)/ruby/missing.h +enc_raise.o: $(hdrdir)/ruby/onigmo.h +enc_raise.o: $(hdrdir)/ruby/oniguruma.h +enc_raise.o: $(hdrdir)/ruby/ruby.h +enc_raise.o: $(hdrdir)/ruby/st.h +enc_raise.o: $(hdrdir)/ruby/subst.h +enc_raise.o: enc_raise.c +ensured.o: $(RUBY_EXTCONF_H) +ensured.o: $(arch_hdrdir)/ruby/config.h +ensured.o: $(hdrdir)/ruby.h +ensured.o: $(hdrdir)/ruby/assert.h +ensured.o: $(hdrdir)/ruby/backward.h +ensured.o: $(hdrdir)/ruby/backward/2/assume.h +ensured.o: $(hdrdir)/ruby/backward/2/attributes.h +ensured.o: $(hdrdir)/ruby/backward/2/bool.h +ensured.o: $(hdrdir)/ruby/backward/2/inttypes.h +ensured.o: $(hdrdir)/ruby/backward/2/limits.h +ensured.o: $(hdrdir)/ruby/backward/2/long_long.h +ensured.o: $(hdrdir)/ruby/backward/2/stdalign.h +ensured.o: $(hdrdir)/ruby/backward/2/stdarg.h +ensured.o: $(hdrdir)/ruby/defines.h +ensured.o: $(hdrdir)/ruby/intern.h +ensured.o: $(hdrdir)/ruby/internal/abi.h +ensured.o: $(hdrdir)/ruby/internal/anyargs.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/char.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/double.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/int.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/long.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/short.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +ensured.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +ensured.o: $(hdrdir)/ruby/internal/assume.h +ensured.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +ensured.o: $(hdrdir)/ruby/internal/attr/artificial.h +ensured.o: $(hdrdir)/ruby/internal/attr/cold.h +ensured.o: $(hdrdir)/ruby/internal/attr/const.h +ensured.o: $(hdrdir)/ruby/internal/attr/constexpr.h +ensured.o: $(hdrdir)/ruby/internal/attr/deprecated.h +ensured.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +ensured.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +ensured.o: $(hdrdir)/ruby/internal/attr/error.h +ensured.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +ensured.o: $(hdrdir)/ruby/internal/attr/forceinline.h +ensured.o: $(hdrdir)/ruby/internal/attr/format.h +ensured.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +ensured.o: $(hdrdir)/ruby/internal/attr/noalias.h +ensured.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +ensured.o: $(hdrdir)/ruby/internal/attr/noexcept.h +ensured.o: $(hdrdir)/ruby/internal/attr/noinline.h +ensured.o: $(hdrdir)/ruby/internal/attr/nonnull.h +ensured.o: $(hdrdir)/ruby/internal/attr/noreturn.h +ensured.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +ensured.o: $(hdrdir)/ruby/internal/attr/pure.h +ensured.o: $(hdrdir)/ruby/internal/attr/restrict.h +ensured.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +ensured.o: $(hdrdir)/ruby/internal/attr/warning.h +ensured.o: $(hdrdir)/ruby/internal/attr/weakref.h +ensured.o: $(hdrdir)/ruby/internal/cast.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +ensured.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +ensured.o: $(hdrdir)/ruby/internal/compiler_since.h +ensured.o: $(hdrdir)/ruby/internal/config.h +ensured.o: $(hdrdir)/ruby/internal/constant_p.h +ensured.o: $(hdrdir)/ruby/internal/core.h +ensured.o: $(hdrdir)/ruby/internal/core/rarray.h +ensured.o: $(hdrdir)/ruby/internal/core/rbasic.h +ensured.o: $(hdrdir)/ruby/internal/core/rbignum.h +ensured.o: $(hdrdir)/ruby/internal/core/rclass.h +ensured.o: $(hdrdir)/ruby/internal/core/rdata.h +ensured.o: $(hdrdir)/ruby/internal/core/rfile.h +ensured.o: $(hdrdir)/ruby/internal/core/rhash.h +ensured.o: $(hdrdir)/ruby/internal/core/robject.h +ensured.o: $(hdrdir)/ruby/internal/core/rregexp.h +ensured.o: $(hdrdir)/ruby/internal/core/rstring.h +ensured.o: $(hdrdir)/ruby/internal/core/rstruct.h +ensured.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +ensured.o: $(hdrdir)/ruby/internal/ctype.h +ensured.o: $(hdrdir)/ruby/internal/dllexport.h +ensured.o: $(hdrdir)/ruby/internal/dosish.h +ensured.o: $(hdrdir)/ruby/internal/error.h +ensured.o: $(hdrdir)/ruby/internal/eval.h +ensured.o: $(hdrdir)/ruby/internal/event.h +ensured.o: $(hdrdir)/ruby/internal/fl_type.h +ensured.o: $(hdrdir)/ruby/internal/gc.h +ensured.o: $(hdrdir)/ruby/internal/glob.h +ensured.o: $(hdrdir)/ruby/internal/globals.h +ensured.o: $(hdrdir)/ruby/internal/has/attribute.h +ensured.o: $(hdrdir)/ruby/internal/has/builtin.h +ensured.o: $(hdrdir)/ruby/internal/has/c_attribute.h +ensured.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +ensured.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +ensured.o: $(hdrdir)/ruby/internal/has/extension.h +ensured.o: $(hdrdir)/ruby/internal/has/feature.h +ensured.o: $(hdrdir)/ruby/internal/has/warning.h +ensured.o: $(hdrdir)/ruby/internal/intern/array.h +ensured.o: $(hdrdir)/ruby/internal/intern/bignum.h +ensured.o: $(hdrdir)/ruby/internal/intern/class.h +ensured.o: $(hdrdir)/ruby/internal/intern/compar.h +ensured.o: $(hdrdir)/ruby/internal/intern/complex.h +ensured.o: $(hdrdir)/ruby/internal/intern/cont.h +ensured.o: $(hdrdir)/ruby/internal/intern/dir.h +ensured.o: $(hdrdir)/ruby/internal/intern/enum.h +ensured.o: $(hdrdir)/ruby/internal/intern/enumerator.h +ensured.o: $(hdrdir)/ruby/internal/intern/error.h +ensured.o: $(hdrdir)/ruby/internal/intern/eval.h +ensured.o: $(hdrdir)/ruby/internal/intern/file.h +ensured.o: $(hdrdir)/ruby/internal/intern/hash.h +ensured.o: $(hdrdir)/ruby/internal/intern/io.h +ensured.o: $(hdrdir)/ruby/internal/intern/load.h +ensured.o: $(hdrdir)/ruby/internal/intern/marshal.h +ensured.o: $(hdrdir)/ruby/internal/intern/numeric.h +ensured.o: $(hdrdir)/ruby/internal/intern/object.h +ensured.o: $(hdrdir)/ruby/internal/intern/parse.h +ensured.o: $(hdrdir)/ruby/internal/intern/proc.h +ensured.o: $(hdrdir)/ruby/internal/intern/process.h +ensured.o: $(hdrdir)/ruby/internal/intern/random.h +ensured.o: $(hdrdir)/ruby/internal/intern/range.h +ensured.o: $(hdrdir)/ruby/internal/intern/rational.h +ensured.o: $(hdrdir)/ruby/internal/intern/re.h +ensured.o: $(hdrdir)/ruby/internal/intern/ruby.h +ensured.o: $(hdrdir)/ruby/internal/intern/select.h +ensured.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +ensured.o: $(hdrdir)/ruby/internal/intern/set.h +ensured.o: $(hdrdir)/ruby/internal/intern/signal.h +ensured.o: $(hdrdir)/ruby/internal/intern/sprintf.h +ensured.o: $(hdrdir)/ruby/internal/intern/string.h +ensured.o: $(hdrdir)/ruby/internal/intern/struct.h +ensured.o: $(hdrdir)/ruby/internal/intern/thread.h +ensured.o: $(hdrdir)/ruby/internal/intern/time.h +ensured.o: $(hdrdir)/ruby/internal/intern/variable.h +ensured.o: $(hdrdir)/ruby/internal/intern/vm.h +ensured.o: $(hdrdir)/ruby/internal/interpreter.h +ensured.o: $(hdrdir)/ruby/internal/iterator.h +ensured.o: $(hdrdir)/ruby/internal/memory.h +ensured.o: $(hdrdir)/ruby/internal/method.h +ensured.o: $(hdrdir)/ruby/internal/module.h +ensured.o: $(hdrdir)/ruby/internal/newobj.h +ensured.o: $(hdrdir)/ruby/internal/scan_args.h +ensured.o: $(hdrdir)/ruby/internal/special_consts.h +ensured.o: $(hdrdir)/ruby/internal/static_assert.h +ensured.o: $(hdrdir)/ruby/internal/stdalign.h +ensured.o: $(hdrdir)/ruby/internal/stdbool.h +ensured.o: $(hdrdir)/ruby/internal/stdckdint.h +ensured.o: $(hdrdir)/ruby/internal/symbol.h +ensured.o: $(hdrdir)/ruby/internal/value.h +ensured.o: $(hdrdir)/ruby/internal/value_type.h +ensured.o: $(hdrdir)/ruby/internal/variable.h +ensured.o: $(hdrdir)/ruby/internal/warning_push.h +ensured.o: $(hdrdir)/ruby/internal/xmalloc.h +ensured.o: $(hdrdir)/ruby/missing.h +ensured.o: $(hdrdir)/ruby/ruby.h +ensured.o: $(hdrdir)/ruby/st.h +ensured.o: $(hdrdir)/ruby/subst.h +ensured.o: ensured.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/exception/enc_raise.c b/ext/-test-/exception/enc_raise.c new file mode 100644 index 0000000000..68d7b4ebc1 --- /dev/null +++ b/ext/-test-/exception/enc_raise.c @@ -0,0 +1,15 @@ +#include <ruby.h> +#include <ruby/encoding.h> + +static VALUE +enc_raise(VALUE exc, VALUE encoding, VALUE mesg) +{ + rb_enc_raise(rb_to_encoding(encoding), exc, "%s", StringValueCStr(mesg)); + UNREACHABLE_RETURN(Qnil); +} + +void +Init_enc_raise(VALUE klass) +{ + rb_define_module_function(klass, "enc_raise", enc_raise, 2); +} diff --git a/ext/-test-/exception/ensured.c b/ext/-test-/exception/ensured.c new file mode 100644 index 0000000000..7dcc9b78ef --- /dev/null +++ b/ext/-test-/exception/ensured.c @@ -0,0 +1,39 @@ +#include <ruby.h> + +static VALUE +begin(VALUE object) +{ + return rb_funcall(object, rb_intern("try_method"), 0); +} + +static VALUE +ensure(VALUE object) +{ + return rb_funcall(object, rb_intern("ensured_method"), 0); +} + +static VALUE +ensured(VALUE module, VALUE object) +{ + return rb_ensure(begin, object, ensure, object); +} + +static VALUE +exc_raise(VALUE exc) +{ + rb_exc_raise(exc); + return Qnil; +} + +static VALUE +ensure_raise(VALUE module, VALUE object, VALUE exc) +{ + return rb_ensure(rb_yield, object, exc_raise, exc); +} + +void +Init_ensured(VALUE klass) +{ + rb_define_module_function(klass, "ensured", ensured, 1); + rb_define_module_function(klass, "ensure_raise", ensure_raise, 2); +} diff --git a/ext/-test-/exception/extconf.rb b/ext/-test-/exception/extconf.rb new file mode 100644 index 0000000000..ca51178a18 --- /dev/null +++ b/ext/-test-/exception/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext diff --git a/ext/-test-/exception/init.c b/ext/-test-/exception/init.c new file mode 100644 index 0000000000..853bb68f79 --- /dev/null +++ b/ext/-test-/exception/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_exception(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Exception", rb_eStandardError); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/fatal/depend b/ext/-test-/fatal/depend new file mode 100644 index 0000000000..306bc9099c --- /dev/null +++ b/ext/-test-/fatal/depend @@ -0,0 +1,486 @@ +# AUTOGENERATED DEPENDENCIES START + +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +invalid.o: $(RUBY_EXTCONF_H) +invalid.o: $(arch_hdrdir)/ruby/config.h +invalid.o: $(hdrdir)/ruby.h +invalid.o: $(hdrdir)/ruby/assert.h +invalid.o: $(hdrdir)/ruby/backward.h +invalid.o: $(hdrdir)/ruby/backward/2/assume.h +invalid.o: $(hdrdir)/ruby/backward/2/attributes.h +invalid.o: $(hdrdir)/ruby/backward/2/bool.h +invalid.o: $(hdrdir)/ruby/backward/2/inttypes.h +invalid.o: $(hdrdir)/ruby/backward/2/limits.h +invalid.o: $(hdrdir)/ruby/backward/2/long_long.h +invalid.o: $(hdrdir)/ruby/backward/2/stdalign.h +invalid.o: $(hdrdir)/ruby/backward/2/stdarg.h +invalid.o: $(hdrdir)/ruby/defines.h +invalid.o: $(hdrdir)/ruby/intern.h +invalid.o: $(hdrdir)/ruby/internal/abi.h +invalid.o: $(hdrdir)/ruby/internal/anyargs.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/char.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/double.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/int.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/long.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/short.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +invalid.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +invalid.o: $(hdrdir)/ruby/internal/assume.h +invalid.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +invalid.o: $(hdrdir)/ruby/internal/attr/artificial.h +invalid.o: $(hdrdir)/ruby/internal/attr/cold.h +invalid.o: $(hdrdir)/ruby/internal/attr/const.h +invalid.o: $(hdrdir)/ruby/internal/attr/constexpr.h +invalid.o: $(hdrdir)/ruby/internal/attr/deprecated.h +invalid.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +invalid.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +invalid.o: $(hdrdir)/ruby/internal/attr/error.h +invalid.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +invalid.o: $(hdrdir)/ruby/internal/attr/forceinline.h +invalid.o: $(hdrdir)/ruby/internal/attr/format.h +invalid.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +invalid.o: $(hdrdir)/ruby/internal/attr/noalias.h +invalid.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +invalid.o: $(hdrdir)/ruby/internal/attr/noexcept.h +invalid.o: $(hdrdir)/ruby/internal/attr/noinline.h +invalid.o: $(hdrdir)/ruby/internal/attr/nonnull.h +invalid.o: $(hdrdir)/ruby/internal/attr/noreturn.h +invalid.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +invalid.o: $(hdrdir)/ruby/internal/attr/pure.h +invalid.o: $(hdrdir)/ruby/internal/attr/restrict.h +invalid.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +invalid.o: $(hdrdir)/ruby/internal/attr/warning.h +invalid.o: $(hdrdir)/ruby/internal/attr/weakref.h +invalid.o: $(hdrdir)/ruby/internal/cast.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +invalid.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +invalid.o: $(hdrdir)/ruby/internal/compiler_since.h +invalid.o: $(hdrdir)/ruby/internal/config.h +invalid.o: $(hdrdir)/ruby/internal/constant_p.h +invalid.o: $(hdrdir)/ruby/internal/core.h +invalid.o: $(hdrdir)/ruby/internal/core/rarray.h +invalid.o: $(hdrdir)/ruby/internal/core/rbasic.h +invalid.o: $(hdrdir)/ruby/internal/core/rbignum.h +invalid.o: $(hdrdir)/ruby/internal/core/rclass.h +invalid.o: $(hdrdir)/ruby/internal/core/rdata.h +invalid.o: $(hdrdir)/ruby/internal/core/rfile.h +invalid.o: $(hdrdir)/ruby/internal/core/rhash.h +invalid.o: $(hdrdir)/ruby/internal/core/robject.h +invalid.o: $(hdrdir)/ruby/internal/core/rregexp.h +invalid.o: $(hdrdir)/ruby/internal/core/rstring.h +invalid.o: $(hdrdir)/ruby/internal/core/rstruct.h +invalid.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +invalid.o: $(hdrdir)/ruby/internal/ctype.h +invalid.o: $(hdrdir)/ruby/internal/dllexport.h +invalid.o: $(hdrdir)/ruby/internal/dosish.h +invalid.o: $(hdrdir)/ruby/internal/error.h +invalid.o: $(hdrdir)/ruby/internal/eval.h +invalid.o: $(hdrdir)/ruby/internal/event.h +invalid.o: $(hdrdir)/ruby/internal/fl_type.h +invalid.o: $(hdrdir)/ruby/internal/gc.h +invalid.o: $(hdrdir)/ruby/internal/glob.h +invalid.o: $(hdrdir)/ruby/internal/globals.h +invalid.o: $(hdrdir)/ruby/internal/has/attribute.h +invalid.o: $(hdrdir)/ruby/internal/has/builtin.h +invalid.o: $(hdrdir)/ruby/internal/has/c_attribute.h +invalid.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +invalid.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +invalid.o: $(hdrdir)/ruby/internal/has/extension.h +invalid.o: $(hdrdir)/ruby/internal/has/feature.h +invalid.o: $(hdrdir)/ruby/internal/has/warning.h +invalid.o: $(hdrdir)/ruby/internal/intern/array.h +invalid.o: $(hdrdir)/ruby/internal/intern/bignum.h +invalid.o: $(hdrdir)/ruby/internal/intern/class.h +invalid.o: $(hdrdir)/ruby/internal/intern/compar.h +invalid.o: $(hdrdir)/ruby/internal/intern/complex.h +invalid.o: $(hdrdir)/ruby/internal/intern/cont.h +invalid.o: $(hdrdir)/ruby/internal/intern/dir.h +invalid.o: $(hdrdir)/ruby/internal/intern/enum.h +invalid.o: $(hdrdir)/ruby/internal/intern/enumerator.h +invalid.o: $(hdrdir)/ruby/internal/intern/error.h +invalid.o: $(hdrdir)/ruby/internal/intern/eval.h +invalid.o: $(hdrdir)/ruby/internal/intern/file.h +invalid.o: $(hdrdir)/ruby/internal/intern/hash.h +invalid.o: $(hdrdir)/ruby/internal/intern/io.h +invalid.o: $(hdrdir)/ruby/internal/intern/load.h +invalid.o: $(hdrdir)/ruby/internal/intern/marshal.h +invalid.o: $(hdrdir)/ruby/internal/intern/numeric.h +invalid.o: $(hdrdir)/ruby/internal/intern/object.h +invalid.o: $(hdrdir)/ruby/internal/intern/parse.h +invalid.o: $(hdrdir)/ruby/internal/intern/proc.h +invalid.o: $(hdrdir)/ruby/internal/intern/process.h +invalid.o: $(hdrdir)/ruby/internal/intern/random.h +invalid.o: $(hdrdir)/ruby/internal/intern/range.h +invalid.o: $(hdrdir)/ruby/internal/intern/rational.h +invalid.o: $(hdrdir)/ruby/internal/intern/re.h +invalid.o: $(hdrdir)/ruby/internal/intern/ruby.h +invalid.o: $(hdrdir)/ruby/internal/intern/select.h +invalid.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +invalid.o: $(hdrdir)/ruby/internal/intern/set.h +invalid.o: $(hdrdir)/ruby/internal/intern/signal.h +invalid.o: $(hdrdir)/ruby/internal/intern/sprintf.h +invalid.o: $(hdrdir)/ruby/internal/intern/string.h +invalid.o: $(hdrdir)/ruby/internal/intern/struct.h +invalid.o: $(hdrdir)/ruby/internal/intern/thread.h +invalid.o: $(hdrdir)/ruby/internal/intern/time.h +invalid.o: $(hdrdir)/ruby/internal/intern/variable.h +invalid.o: $(hdrdir)/ruby/internal/intern/vm.h +invalid.o: $(hdrdir)/ruby/internal/interpreter.h +invalid.o: $(hdrdir)/ruby/internal/iterator.h +invalid.o: $(hdrdir)/ruby/internal/memory.h +invalid.o: $(hdrdir)/ruby/internal/method.h +invalid.o: $(hdrdir)/ruby/internal/module.h +invalid.o: $(hdrdir)/ruby/internal/newobj.h +invalid.o: $(hdrdir)/ruby/internal/scan_args.h +invalid.o: $(hdrdir)/ruby/internal/special_consts.h +invalid.o: $(hdrdir)/ruby/internal/static_assert.h +invalid.o: $(hdrdir)/ruby/internal/stdalign.h +invalid.o: $(hdrdir)/ruby/internal/stdbool.h +invalid.o: $(hdrdir)/ruby/internal/stdckdint.h +invalid.o: $(hdrdir)/ruby/internal/symbol.h +invalid.o: $(hdrdir)/ruby/internal/value.h +invalid.o: $(hdrdir)/ruby/internal/value_type.h +invalid.o: $(hdrdir)/ruby/internal/variable.h +invalid.o: $(hdrdir)/ruby/internal/warning_push.h +invalid.o: $(hdrdir)/ruby/internal/xmalloc.h +invalid.o: $(hdrdir)/ruby/missing.h +invalid.o: $(hdrdir)/ruby/ruby.h +invalid.o: $(hdrdir)/ruby/st.h +invalid.o: $(hdrdir)/ruby/subst.h +invalid.o: invalid.c +rb_fatal.o: $(RUBY_EXTCONF_H) +rb_fatal.o: $(arch_hdrdir)/ruby/config.h +rb_fatal.o: $(hdrdir)/ruby.h +rb_fatal.o: $(hdrdir)/ruby/assert.h +rb_fatal.o: $(hdrdir)/ruby/backward.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/assume.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/attributes.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/bool.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/inttypes.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/limits.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/long_long.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/stdalign.h +rb_fatal.o: $(hdrdir)/ruby/backward/2/stdarg.h +rb_fatal.o: $(hdrdir)/ruby/defines.h +rb_fatal.o: $(hdrdir)/ruby/intern.h +rb_fatal.o: $(hdrdir)/ruby/internal/abi.h +rb_fatal.o: $(hdrdir)/ruby/internal/anyargs.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/char.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/double.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/int.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/long.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/short.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +rb_fatal.o: $(hdrdir)/ruby/internal/assume.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/artificial.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/cold.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/const.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/constexpr.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/deprecated.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/error.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/forceinline.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/format.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/noalias.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/noexcept.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/noinline.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/nonnull.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/pure.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/restrict.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/warning.h +rb_fatal.o: $(hdrdir)/ruby/internal/attr/weakref.h +rb_fatal.o: $(hdrdir)/ruby/internal/cast.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +rb_fatal.o: $(hdrdir)/ruby/internal/compiler_since.h +rb_fatal.o: $(hdrdir)/ruby/internal/config.h +rb_fatal.o: $(hdrdir)/ruby/internal/constant_p.h +rb_fatal.o: $(hdrdir)/ruby/internal/core.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rarray.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rbasic.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rbignum.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rclass.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rdata.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rfile.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rhash.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/robject.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rregexp.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rstring.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rstruct.h +rb_fatal.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +rb_fatal.o: $(hdrdir)/ruby/internal/ctype.h +rb_fatal.o: $(hdrdir)/ruby/internal/dllexport.h +rb_fatal.o: $(hdrdir)/ruby/internal/dosish.h +rb_fatal.o: $(hdrdir)/ruby/internal/error.h +rb_fatal.o: $(hdrdir)/ruby/internal/eval.h +rb_fatal.o: $(hdrdir)/ruby/internal/event.h +rb_fatal.o: $(hdrdir)/ruby/internal/fl_type.h +rb_fatal.o: $(hdrdir)/ruby/internal/gc.h +rb_fatal.o: $(hdrdir)/ruby/internal/glob.h +rb_fatal.o: $(hdrdir)/ruby/internal/globals.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/attribute.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/builtin.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/c_attribute.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/extension.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/feature.h +rb_fatal.o: $(hdrdir)/ruby/internal/has/warning.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/array.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/bignum.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/class.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/compar.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/complex.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/cont.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/dir.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/enum.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/enumerator.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/error.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/eval.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/file.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/hash.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/io.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/load.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/marshal.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/numeric.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/object.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/parse.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/proc.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/process.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/random.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/range.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/rational.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/re.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/ruby.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/select.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/set.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/signal.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/sprintf.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/string.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/struct.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/thread.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/time.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/variable.h +rb_fatal.o: $(hdrdir)/ruby/internal/intern/vm.h +rb_fatal.o: $(hdrdir)/ruby/internal/interpreter.h +rb_fatal.o: $(hdrdir)/ruby/internal/iterator.h +rb_fatal.o: $(hdrdir)/ruby/internal/memory.h +rb_fatal.o: $(hdrdir)/ruby/internal/method.h +rb_fatal.o: $(hdrdir)/ruby/internal/module.h +rb_fatal.o: $(hdrdir)/ruby/internal/newobj.h +rb_fatal.o: $(hdrdir)/ruby/internal/scan_args.h +rb_fatal.o: $(hdrdir)/ruby/internal/special_consts.h +rb_fatal.o: $(hdrdir)/ruby/internal/static_assert.h +rb_fatal.o: $(hdrdir)/ruby/internal/stdalign.h +rb_fatal.o: $(hdrdir)/ruby/internal/stdbool.h +rb_fatal.o: $(hdrdir)/ruby/internal/stdckdint.h +rb_fatal.o: $(hdrdir)/ruby/internal/symbol.h +rb_fatal.o: $(hdrdir)/ruby/internal/value.h +rb_fatal.o: $(hdrdir)/ruby/internal/value_type.h +rb_fatal.o: $(hdrdir)/ruby/internal/variable.h +rb_fatal.o: $(hdrdir)/ruby/internal/warning_push.h +rb_fatal.o: $(hdrdir)/ruby/internal/xmalloc.h +rb_fatal.o: $(hdrdir)/ruby/missing.h +rb_fatal.o: $(hdrdir)/ruby/ruby.h +rb_fatal.o: $(hdrdir)/ruby/st.h +rb_fatal.o: $(hdrdir)/ruby/subst.h +rb_fatal.o: rb_fatal.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/fatal/extconf.rb b/ext/-test-/fatal/extconf.rb new file mode 100644 index 0000000000..ca51178a18 --- /dev/null +++ b/ext/-test-/fatal/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext diff --git a/ext/-test-/fatal/init.c b/ext/-test-/fatal/init.c new file mode 100644 index 0000000000..3b71708789 --- /dev/null +++ b/ext/-test-/fatal/init.c @@ -0,0 +1,10 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_fatal(void) +{ + VALUE klass = rb_define_module("Bug"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/fatal/invalid.c b/ext/-test-/fatal/invalid.c new file mode 100644 index 0000000000..6fd970b181 --- /dev/null +++ b/ext/-test-/fatal/invalid.c @@ -0,0 +1,22 @@ +#include <ruby.h> + +static VALUE +invalid_call(VALUE obj, VALUE address) +{ + typedef VALUE (*func_type)(VALUE); + + return (*(func_type)NUM2PTR(address))(obj); +} + +static VALUE +invalid_access(VALUE obj, VALUE address) +{ + return *(VALUE *)NUM2PTR(address) == obj ? Qtrue : Qfalse; +} + +void +Init_invalid(VALUE mBug) +{ + rb_define_singleton_method(mBug, "invalid_call", invalid_call, 1); + rb_define_singleton_method(mBug, "invalid_access", invalid_access, 1); +} diff --git a/ext/-test-/fatal/rb_fatal.c b/ext/-test-/fatal/rb_fatal.c new file mode 100644 index 0000000000..6c7bb89628 --- /dev/null +++ b/ext/-test-/fatal/rb_fatal.c @@ -0,0 +1,19 @@ +#include <ruby.h> + +static VALUE +ruby_fatal(VALUE obj, VALUE msg) +{ + const char *cmsg = NULL; + + (void)obj; + + cmsg = RSTRING_PTR(msg); + rb_fatal("%s", cmsg); + return 0; /* never reached */ +} + +void +Init_rb_fatal(VALUE mBug) +{ + rb_define_singleton_method(mBug, "rb_fatal", ruby_fatal, 1); +} diff --git a/ext/-test-/file/depend b/ext/-test-/file/depend new file mode 100644 index 0000000000..fe320f3d44 --- /dev/null +++ b/ext/-test-/file/depend @@ -0,0 +1,682 @@ +# AUTOGENERATED DEPENDENCIES START +fs.o: $(RUBY_EXTCONF_H) +fs.o: $(arch_hdrdir)/ruby/config.h +fs.o: $(hdrdir)/ruby/assert.h +fs.o: $(hdrdir)/ruby/backward.h +fs.o: $(hdrdir)/ruby/backward/2/assume.h +fs.o: $(hdrdir)/ruby/backward/2/attributes.h +fs.o: $(hdrdir)/ruby/backward/2/bool.h +fs.o: $(hdrdir)/ruby/backward/2/inttypes.h +fs.o: $(hdrdir)/ruby/backward/2/limits.h +fs.o: $(hdrdir)/ruby/backward/2/long_long.h +fs.o: $(hdrdir)/ruby/backward/2/stdalign.h +fs.o: $(hdrdir)/ruby/backward/2/stdarg.h +fs.o: $(hdrdir)/ruby/defines.h +fs.o: $(hdrdir)/ruby/encoding.h +fs.o: $(hdrdir)/ruby/intern.h +fs.o: $(hdrdir)/ruby/internal/abi.h +fs.o: $(hdrdir)/ruby/internal/anyargs.h +fs.o: $(hdrdir)/ruby/internal/arithmetic.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/char.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/double.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/int.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/long.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/short.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +fs.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +fs.o: $(hdrdir)/ruby/internal/assume.h +fs.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +fs.o: $(hdrdir)/ruby/internal/attr/artificial.h +fs.o: $(hdrdir)/ruby/internal/attr/cold.h +fs.o: $(hdrdir)/ruby/internal/attr/const.h +fs.o: $(hdrdir)/ruby/internal/attr/constexpr.h +fs.o: $(hdrdir)/ruby/internal/attr/deprecated.h +fs.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +fs.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +fs.o: $(hdrdir)/ruby/internal/attr/error.h +fs.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +fs.o: $(hdrdir)/ruby/internal/attr/forceinline.h +fs.o: $(hdrdir)/ruby/internal/attr/format.h +fs.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +fs.o: $(hdrdir)/ruby/internal/attr/noalias.h +fs.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +fs.o: $(hdrdir)/ruby/internal/attr/noexcept.h +fs.o: $(hdrdir)/ruby/internal/attr/noinline.h +fs.o: $(hdrdir)/ruby/internal/attr/nonnull.h +fs.o: $(hdrdir)/ruby/internal/attr/noreturn.h +fs.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +fs.o: $(hdrdir)/ruby/internal/attr/pure.h +fs.o: $(hdrdir)/ruby/internal/attr/restrict.h +fs.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +fs.o: $(hdrdir)/ruby/internal/attr/warning.h +fs.o: $(hdrdir)/ruby/internal/attr/weakref.h +fs.o: $(hdrdir)/ruby/internal/cast.h +fs.o: $(hdrdir)/ruby/internal/compiler_is.h +fs.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +fs.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +fs.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +fs.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +fs.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +fs.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +fs.o: $(hdrdir)/ruby/internal/compiler_since.h +fs.o: $(hdrdir)/ruby/internal/config.h +fs.o: $(hdrdir)/ruby/internal/constant_p.h +fs.o: $(hdrdir)/ruby/internal/core.h +fs.o: $(hdrdir)/ruby/internal/core/rarray.h +fs.o: $(hdrdir)/ruby/internal/core/rbasic.h +fs.o: $(hdrdir)/ruby/internal/core/rbignum.h +fs.o: $(hdrdir)/ruby/internal/core/rclass.h +fs.o: $(hdrdir)/ruby/internal/core/rdata.h +fs.o: $(hdrdir)/ruby/internal/core/rfile.h +fs.o: $(hdrdir)/ruby/internal/core/rhash.h +fs.o: $(hdrdir)/ruby/internal/core/robject.h +fs.o: $(hdrdir)/ruby/internal/core/rregexp.h +fs.o: $(hdrdir)/ruby/internal/core/rstring.h +fs.o: $(hdrdir)/ruby/internal/core/rstruct.h +fs.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +fs.o: $(hdrdir)/ruby/internal/ctype.h +fs.o: $(hdrdir)/ruby/internal/dllexport.h +fs.o: $(hdrdir)/ruby/internal/dosish.h +fs.o: $(hdrdir)/ruby/internal/encoding/coderange.h +fs.o: $(hdrdir)/ruby/internal/encoding/ctype.h +fs.o: $(hdrdir)/ruby/internal/encoding/encoding.h +fs.o: $(hdrdir)/ruby/internal/encoding/pathname.h +fs.o: $(hdrdir)/ruby/internal/encoding/re.h +fs.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +fs.o: $(hdrdir)/ruby/internal/encoding/string.h +fs.o: $(hdrdir)/ruby/internal/encoding/symbol.h +fs.o: $(hdrdir)/ruby/internal/encoding/transcode.h +fs.o: $(hdrdir)/ruby/internal/error.h +fs.o: $(hdrdir)/ruby/internal/eval.h +fs.o: $(hdrdir)/ruby/internal/event.h +fs.o: $(hdrdir)/ruby/internal/fl_type.h +fs.o: $(hdrdir)/ruby/internal/gc.h +fs.o: $(hdrdir)/ruby/internal/glob.h +fs.o: $(hdrdir)/ruby/internal/globals.h +fs.o: $(hdrdir)/ruby/internal/has/attribute.h +fs.o: $(hdrdir)/ruby/internal/has/builtin.h +fs.o: $(hdrdir)/ruby/internal/has/c_attribute.h +fs.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +fs.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +fs.o: $(hdrdir)/ruby/internal/has/extension.h +fs.o: $(hdrdir)/ruby/internal/has/feature.h +fs.o: $(hdrdir)/ruby/internal/has/warning.h +fs.o: $(hdrdir)/ruby/internal/intern/array.h +fs.o: $(hdrdir)/ruby/internal/intern/bignum.h +fs.o: $(hdrdir)/ruby/internal/intern/class.h +fs.o: $(hdrdir)/ruby/internal/intern/compar.h +fs.o: $(hdrdir)/ruby/internal/intern/complex.h +fs.o: $(hdrdir)/ruby/internal/intern/cont.h +fs.o: $(hdrdir)/ruby/internal/intern/dir.h +fs.o: $(hdrdir)/ruby/internal/intern/enum.h +fs.o: $(hdrdir)/ruby/internal/intern/enumerator.h +fs.o: $(hdrdir)/ruby/internal/intern/error.h +fs.o: $(hdrdir)/ruby/internal/intern/eval.h +fs.o: $(hdrdir)/ruby/internal/intern/file.h +fs.o: $(hdrdir)/ruby/internal/intern/hash.h +fs.o: $(hdrdir)/ruby/internal/intern/io.h +fs.o: $(hdrdir)/ruby/internal/intern/load.h +fs.o: $(hdrdir)/ruby/internal/intern/marshal.h +fs.o: $(hdrdir)/ruby/internal/intern/numeric.h +fs.o: $(hdrdir)/ruby/internal/intern/object.h +fs.o: $(hdrdir)/ruby/internal/intern/parse.h +fs.o: $(hdrdir)/ruby/internal/intern/proc.h +fs.o: $(hdrdir)/ruby/internal/intern/process.h +fs.o: $(hdrdir)/ruby/internal/intern/random.h +fs.o: $(hdrdir)/ruby/internal/intern/range.h +fs.o: $(hdrdir)/ruby/internal/intern/rational.h +fs.o: $(hdrdir)/ruby/internal/intern/re.h +fs.o: $(hdrdir)/ruby/internal/intern/ruby.h +fs.o: $(hdrdir)/ruby/internal/intern/select.h +fs.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +fs.o: $(hdrdir)/ruby/internal/intern/set.h +fs.o: $(hdrdir)/ruby/internal/intern/signal.h +fs.o: $(hdrdir)/ruby/internal/intern/sprintf.h +fs.o: $(hdrdir)/ruby/internal/intern/string.h +fs.o: $(hdrdir)/ruby/internal/intern/struct.h +fs.o: $(hdrdir)/ruby/internal/intern/thread.h +fs.o: $(hdrdir)/ruby/internal/intern/time.h +fs.o: $(hdrdir)/ruby/internal/intern/variable.h +fs.o: $(hdrdir)/ruby/internal/intern/vm.h +fs.o: $(hdrdir)/ruby/internal/interpreter.h +fs.o: $(hdrdir)/ruby/internal/iterator.h +fs.o: $(hdrdir)/ruby/internal/memory.h +fs.o: $(hdrdir)/ruby/internal/method.h +fs.o: $(hdrdir)/ruby/internal/module.h +fs.o: $(hdrdir)/ruby/internal/newobj.h +fs.o: $(hdrdir)/ruby/internal/scan_args.h +fs.o: $(hdrdir)/ruby/internal/special_consts.h +fs.o: $(hdrdir)/ruby/internal/static_assert.h +fs.o: $(hdrdir)/ruby/internal/stdalign.h +fs.o: $(hdrdir)/ruby/internal/stdbool.h +fs.o: $(hdrdir)/ruby/internal/stdckdint.h +fs.o: $(hdrdir)/ruby/internal/symbol.h +fs.o: $(hdrdir)/ruby/internal/value.h +fs.o: $(hdrdir)/ruby/internal/value_type.h +fs.o: $(hdrdir)/ruby/internal/variable.h +fs.o: $(hdrdir)/ruby/internal/warning_push.h +fs.o: $(hdrdir)/ruby/internal/xmalloc.h +fs.o: $(hdrdir)/ruby/io.h +fs.o: $(hdrdir)/ruby/missing.h +fs.o: $(hdrdir)/ruby/onigmo.h +fs.o: $(hdrdir)/ruby/oniguruma.h +fs.o: $(hdrdir)/ruby/ruby.h +fs.o: $(hdrdir)/ruby/st.h +fs.o: $(hdrdir)/ruby/subst.h +fs.o: fs.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +newline_conv.o: $(RUBY_EXTCONF_H) +newline_conv.o: $(arch_hdrdir)/ruby/config.h +newline_conv.o: $(hdrdir)/ruby/assert.h +newline_conv.o: $(hdrdir)/ruby/backward.h +newline_conv.o: $(hdrdir)/ruby/backward/2/assume.h +newline_conv.o: $(hdrdir)/ruby/backward/2/attributes.h +newline_conv.o: $(hdrdir)/ruby/backward/2/bool.h +newline_conv.o: $(hdrdir)/ruby/backward/2/inttypes.h +newline_conv.o: $(hdrdir)/ruby/backward/2/limits.h +newline_conv.o: $(hdrdir)/ruby/backward/2/long_long.h +newline_conv.o: $(hdrdir)/ruby/backward/2/stdalign.h +newline_conv.o: $(hdrdir)/ruby/backward/2/stdarg.h +newline_conv.o: $(hdrdir)/ruby/defines.h +newline_conv.o: $(hdrdir)/ruby/encoding.h +newline_conv.o: $(hdrdir)/ruby/intern.h +newline_conv.o: $(hdrdir)/ruby/internal/abi.h +newline_conv.o: $(hdrdir)/ruby/internal/anyargs.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/char.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/double.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/int.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/long.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/short.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +newline_conv.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +newline_conv.o: $(hdrdir)/ruby/internal/assume.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/artificial.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/cold.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/const.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/constexpr.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/deprecated.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/error.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/forceinline.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/format.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/noalias.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/noexcept.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/noinline.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/nonnull.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/noreturn.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/pure.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/restrict.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/warning.h +newline_conv.o: $(hdrdir)/ruby/internal/attr/weakref.h +newline_conv.o: $(hdrdir)/ruby/internal/cast.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +newline_conv.o: $(hdrdir)/ruby/internal/compiler_since.h +newline_conv.o: $(hdrdir)/ruby/internal/config.h +newline_conv.o: $(hdrdir)/ruby/internal/constant_p.h +newline_conv.o: $(hdrdir)/ruby/internal/core.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rarray.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rbasic.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rbignum.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rclass.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rdata.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rfile.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rhash.h +newline_conv.o: $(hdrdir)/ruby/internal/core/robject.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rregexp.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rstring.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rstruct.h +newline_conv.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +newline_conv.o: $(hdrdir)/ruby/internal/ctype.h +newline_conv.o: $(hdrdir)/ruby/internal/dllexport.h +newline_conv.o: $(hdrdir)/ruby/internal/dosish.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/coderange.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/ctype.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/encoding.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/pathname.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/re.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/string.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/symbol.h +newline_conv.o: $(hdrdir)/ruby/internal/encoding/transcode.h +newline_conv.o: $(hdrdir)/ruby/internal/error.h +newline_conv.o: $(hdrdir)/ruby/internal/eval.h +newline_conv.o: $(hdrdir)/ruby/internal/event.h +newline_conv.o: $(hdrdir)/ruby/internal/fl_type.h +newline_conv.o: $(hdrdir)/ruby/internal/gc.h +newline_conv.o: $(hdrdir)/ruby/internal/glob.h +newline_conv.o: $(hdrdir)/ruby/internal/globals.h +newline_conv.o: $(hdrdir)/ruby/internal/has/attribute.h +newline_conv.o: $(hdrdir)/ruby/internal/has/builtin.h +newline_conv.o: $(hdrdir)/ruby/internal/has/c_attribute.h +newline_conv.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +newline_conv.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +newline_conv.o: $(hdrdir)/ruby/internal/has/extension.h +newline_conv.o: $(hdrdir)/ruby/internal/has/feature.h +newline_conv.o: $(hdrdir)/ruby/internal/has/warning.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/array.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/bignum.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/class.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/compar.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/complex.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/cont.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/dir.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/enum.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/enumerator.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/error.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/eval.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/file.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/hash.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/io.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/load.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/marshal.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/numeric.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/object.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/parse.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/proc.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/process.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/random.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/range.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/rational.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/re.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/ruby.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/select.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/set.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/signal.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/sprintf.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/string.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/struct.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/thread.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/time.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/variable.h +newline_conv.o: $(hdrdir)/ruby/internal/intern/vm.h +newline_conv.o: $(hdrdir)/ruby/internal/interpreter.h +newline_conv.o: $(hdrdir)/ruby/internal/iterator.h +newline_conv.o: $(hdrdir)/ruby/internal/memory.h +newline_conv.o: $(hdrdir)/ruby/internal/method.h +newline_conv.o: $(hdrdir)/ruby/internal/module.h +newline_conv.o: $(hdrdir)/ruby/internal/newobj.h +newline_conv.o: $(hdrdir)/ruby/internal/scan_args.h +newline_conv.o: $(hdrdir)/ruby/internal/special_consts.h +newline_conv.o: $(hdrdir)/ruby/internal/static_assert.h +newline_conv.o: $(hdrdir)/ruby/internal/stdalign.h +newline_conv.o: $(hdrdir)/ruby/internal/stdbool.h +newline_conv.o: $(hdrdir)/ruby/internal/stdckdint.h +newline_conv.o: $(hdrdir)/ruby/internal/symbol.h +newline_conv.o: $(hdrdir)/ruby/internal/value.h +newline_conv.o: $(hdrdir)/ruby/internal/value_type.h +newline_conv.o: $(hdrdir)/ruby/internal/variable.h +newline_conv.o: $(hdrdir)/ruby/internal/warning_push.h +newline_conv.o: $(hdrdir)/ruby/internal/xmalloc.h +newline_conv.o: $(hdrdir)/ruby/io.h +newline_conv.o: $(hdrdir)/ruby/missing.h +newline_conv.o: $(hdrdir)/ruby/onigmo.h +newline_conv.o: $(hdrdir)/ruby/oniguruma.h +newline_conv.o: $(hdrdir)/ruby/ruby.h +newline_conv.o: $(hdrdir)/ruby/st.h +newline_conv.o: $(hdrdir)/ruby/subst.h +newline_conv.o: newline_conv.c +stat.o: $(RUBY_EXTCONF_H) +stat.o: $(arch_hdrdir)/ruby/config.h +stat.o: $(hdrdir)/ruby/assert.h +stat.o: $(hdrdir)/ruby/backward.h +stat.o: $(hdrdir)/ruby/backward/2/assume.h +stat.o: $(hdrdir)/ruby/backward/2/attributes.h +stat.o: $(hdrdir)/ruby/backward/2/bool.h +stat.o: $(hdrdir)/ruby/backward/2/inttypes.h +stat.o: $(hdrdir)/ruby/backward/2/limits.h +stat.o: $(hdrdir)/ruby/backward/2/long_long.h +stat.o: $(hdrdir)/ruby/backward/2/stdalign.h +stat.o: $(hdrdir)/ruby/backward/2/stdarg.h +stat.o: $(hdrdir)/ruby/defines.h +stat.o: $(hdrdir)/ruby/encoding.h +stat.o: $(hdrdir)/ruby/intern.h +stat.o: $(hdrdir)/ruby/internal/abi.h +stat.o: $(hdrdir)/ruby/internal/anyargs.h +stat.o: $(hdrdir)/ruby/internal/arithmetic.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/char.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/double.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/int.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/long.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/short.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +stat.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +stat.o: $(hdrdir)/ruby/internal/assume.h +stat.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +stat.o: $(hdrdir)/ruby/internal/attr/artificial.h +stat.o: $(hdrdir)/ruby/internal/attr/cold.h +stat.o: $(hdrdir)/ruby/internal/attr/const.h +stat.o: $(hdrdir)/ruby/internal/attr/constexpr.h +stat.o: $(hdrdir)/ruby/internal/attr/deprecated.h +stat.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +stat.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +stat.o: $(hdrdir)/ruby/internal/attr/error.h +stat.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +stat.o: $(hdrdir)/ruby/internal/attr/forceinline.h +stat.o: $(hdrdir)/ruby/internal/attr/format.h +stat.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +stat.o: $(hdrdir)/ruby/internal/attr/noalias.h +stat.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +stat.o: $(hdrdir)/ruby/internal/attr/noexcept.h +stat.o: $(hdrdir)/ruby/internal/attr/noinline.h +stat.o: $(hdrdir)/ruby/internal/attr/nonnull.h +stat.o: $(hdrdir)/ruby/internal/attr/noreturn.h +stat.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +stat.o: $(hdrdir)/ruby/internal/attr/pure.h +stat.o: $(hdrdir)/ruby/internal/attr/restrict.h +stat.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +stat.o: $(hdrdir)/ruby/internal/attr/warning.h +stat.o: $(hdrdir)/ruby/internal/attr/weakref.h +stat.o: $(hdrdir)/ruby/internal/cast.h +stat.o: $(hdrdir)/ruby/internal/compiler_is.h +stat.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +stat.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +stat.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +stat.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +stat.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +stat.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +stat.o: $(hdrdir)/ruby/internal/compiler_since.h +stat.o: $(hdrdir)/ruby/internal/config.h +stat.o: $(hdrdir)/ruby/internal/constant_p.h +stat.o: $(hdrdir)/ruby/internal/core.h +stat.o: $(hdrdir)/ruby/internal/core/rarray.h +stat.o: $(hdrdir)/ruby/internal/core/rbasic.h +stat.o: $(hdrdir)/ruby/internal/core/rbignum.h +stat.o: $(hdrdir)/ruby/internal/core/rclass.h +stat.o: $(hdrdir)/ruby/internal/core/rdata.h +stat.o: $(hdrdir)/ruby/internal/core/rfile.h +stat.o: $(hdrdir)/ruby/internal/core/rhash.h +stat.o: $(hdrdir)/ruby/internal/core/robject.h +stat.o: $(hdrdir)/ruby/internal/core/rregexp.h +stat.o: $(hdrdir)/ruby/internal/core/rstring.h +stat.o: $(hdrdir)/ruby/internal/core/rstruct.h +stat.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +stat.o: $(hdrdir)/ruby/internal/ctype.h +stat.o: $(hdrdir)/ruby/internal/dllexport.h +stat.o: $(hdrdir)/ruby/internal/dosish.h +stat.o: $(hdrdir)/ruby/internal/encoding/coderange.h +stat.o: $(hdrdir)/ruby/internal/encoding/ctype.h +stat.o: $(hdrdir)/ruby/internal/encoding/encoding.h +stat.o: $(hdrdir)/ruby/internal/encoding/pathname.h +stat.o: $(hdrdir)/ruby/internal/encoding/re.h +stat.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +stat.o: $(hdrdir)/ruby/internal/encoding/string.h +stat.o: $(hdrdir)/ruby/internal/encoding/symbol.h +stat.o: $(hdrdir)/ruby/internal/encoding/transcode.h +stat.o: $(hdrdir)/ruby/internal/error.h +stat.o: $(hdrdir)/ruby/internal/eval.h +stat.o: $(hdrdir)/ruby/internal/event.h +stat.o: $(hdrdir)/ruby/internal/fl_type.h +stat.o: $(hdrdir)/ruby/internal/gc.h +stat.o: $(hdrdir)/ruby/internal/glob.h +stat.o: $(hdrdir)/ruby/internal/globals.h +stat.o: $(hdrdir)/ruby/internal/has/attribute.h +stat.o: $(hdrdir)/ruby/internal/has/builtin.h +stat.o: $(hdrdir)/ruby/internal/has/c_attribute.h +stat.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +stat.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +stat.o: $(hdrdir)/ruby/internal/has/extension.h +stat.o: $(hdrdir)/ruby/internal/has/feature.h +stat.o: $(hdrdir)/ruby/internal/has/warning.h +stat.o: $(hdrdir)/ruby/internal/intern/array.h +stat.o: $(hdrdir)/ruby/internal/intern/bignum.h +stat.o: $(hdrdir)/ruby/internal/intern/class.h +stat.o: $(hdrdir)/ruby/internal/intern/compar.h +stat.o: $(hdrdir)/ruby/internal/intern/complex.h +stat.o: $(hdrdir)/ruby/internal/intern/cont.h +stat.o: $(hdrdir)/ruby/internal/intern/dir.h +stat.o: $(hdrdir)/ruby/internal/intern/enum.h +stat.o: $(hdrdir)/ruby/internal/intern/enumerator.h +stat.o: $(hdrdir)/ruby/internal/intern/error.h +stat.o: $(hdrdir)/ruby/internal/intern/eval.h +stat.o: $(hdrdir)/ruby/internal/intern/file.h +stat.o: $(hdrdir)/ruby/internal/intern/hash.h +stat.o: $(hdrdir)/ruby/internal/intern/io.h +stat.o: $(hdrdir)/ruby/internal/intern/load.h +stat.o: $(hdrdir)/ruby/internal/intern/marshal.h +stat.o: $(hdrdir)/ruby/internal/intern/numeric.h +stat.o: $(hdrdir)/ruby/internal/intern/object.h +stat.o: $(hdrdir)/ruby/internal/intern/parse.h +stat.o: $(hdrdir)/ruby/internal/intern/proc.h +stat.o: $(hdrdir)/ruby/internal/intern/process.h +stat.o: $(hdrdir)/ruby/internal/intern/random.h +stat.o: $(hdrdir)/ruby/internal/intern/range.h +stat.o: $(hdrdir)/ruby/internal/intern/rational.h +stat.o: $(hdrdir)/ruby/internal/intern/re.h +stat.o: $(hdrdir)/ruby/internal/intern/ruby.h +stat.o: $(hdrdir)/ruby/internal/intern/select.h +stat.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +stat.o: $(hdrdir)/ruby/internal/intern/set.h +stat.o: $(hdrdir)/ruby/internal/intern/signal.h +stat.o: $(hdrdir)/ruby/internal/intern/sprintf.h +stat.o: $(hdrdir)/ruby/internal/intern/string.h +stat.o: $(hdrdir)/ruby/internal/intern/struct.h +stat.o: $(hdrdir)/ruby/internal/intern/thread.h +stat.o: $(hdrdir)/ruby/internal/intern/time.h +stat.o: $(hdrdir)/ruby/internal/intern/variable.h +stat.o: $(hdrdir)/ruby/internal/intern/vm.h +stat.o: $(hdrdir)/ruby/internal/interpreter.h +stat.o: $(hdrdir)/ruby/internal/iterator.h +stat.o: $(hdrdir)/ruby/internal/memory.h +stat.o: $(hdrdir)/ruby/internal/method.h +stat.o: $(hdrdir)/ruby/internal/module.h +stat.o: $(hdrdir)/ruby/internal/newobj.h +stat.o: $(hdrdir)/ruby/internal/scan_args.h +stat.o: $(hdrdir)/ruby/internal/special_consts.h +stat.o: $(hdrdir)/ruby/internal/static_assert.h +stat.o: $(hdrdir)/ruby/internal/stdalign.h +stat.o: $(hdrdir)/ruby/internal/stdbool.h +stat.o: $(hdrdir)/ruby/internal/stdckdint.h +stat.o: $(hdrdir)/ruby/internal/symbol.h +stat.o: $(hdrdir)/ruby/internal/value.h +stat.o: $(hdrdir)/ruby/internal/value_type.h +stat.o: $(hdrdir)/ruby/internal/variable.h +stat.o: $(hdrdir)/ruby/internal/warning_push.h +stat.o: $(hdrdir)/ruby/internal/xmalloc.h +stat.o: $(hdrdir)/ruby/io.h +stat.o: $(hdrdir)/ruby/missing.h +stat.o: $(hdrdir)/ruby/onigmo.h +stat.o: $(hdrdir)/ruby/oniguruma.h +stat.o: $(hdrdir)/ruby/ruby.h +stat.o: $(hdrdir)/ruby/st.h +stat.o: $(hdrdir)/ruby/subst.h +stat.o: stat.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/file/extconf.rb b/ext/-test-/file/extconf.rb new file mode 100644 index 0000000000..9027ed1c3e --- /dev/null +++ b/ext/-test-/file/extconf.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" + +headers = %w[sys/param.h sys/mount.h sys/vfs.h].select {|h| have_header(h)} +if have_type("struct statfs", headers) + have_struct_member("struct statfs", "f_fstypename", headers) + have_struct_member("struct statfs", "f_type", headers) + have_struct_member("struct statfs", "f_flags", headers) +end + +headers = %w[sys/statvfs.h].select {|h| have_header(h)} +if have_type("struct statvfs", headers) + have_struct_member("struct statvfs", "f_fstypename", headers) + have_struct_member("struct statvfs", "f_basetype", headers) + have_struct_member("struct statvfs", "f_type", headers) +end + +auto_ext(inc: true) diff --git a/ext/-test-/file/fs.c b/ext/-test-/file/fs.c new file mode 100644 index 0000000000..eb17e9768e --- /dev/null +++ b/ext/-test-/file/fs.c @@ -0,0 +1,111 @@ +#include "ruby/ruby.h" +#include "ruby/io.h" + +#ifdef HAVE_SYS_PARAM_H +#include <sys/param.h> +#endif +#ifdef HAVE_SYS_MOUNT_H +#include <sys/mount.h> +#endif +#ifdef HAVE_SYS_VFS_H +#include <sys/vfs.h> +#endif +#ifdef HAVE_SYS_STATVFS_H +#include <sys/statvfs.h> +#endif + +#if defined HAVE_STRUCT_STATFS_F_FSTYPENAME +typedef struct statfs statfs_t; +# define STATFS(f, s) statfs((f), (s)) +# define HAVE_STRUCT_STATFS_T_F_FSTYPENAME 1 +# if defined HAVE_STRUCT_STATFS_F_TYPE +# define HAVE_STRUCT_STATFS_T_F_TYPE 1 +# endif +#elif defined(HAVE_STRUCT_STATVFS_F_FSTYPENAME) /* NetBSD */ +typedef struct statvfs statfs_t; +# define STATFS(f, s) statvfs((f), (s)) +# define HAVE_STRUCT_STATFS_T_F_FSTYPENAME 1 +# if defined HAVE_STRUCT_STATVFS_F_TYPE +# define HAVE_STRUCT_STATFS_T_F_TYPE 1 +# endif +#elif defined(HAVE_STRUCT_STATVFS_F_BASETYPE) /* AIX, Solaris */ +typedef struct statvfs statfs_t; +# define STATFS(f, s) statvfs((f), (s)) +# define HAVE_STRUCT_STATFS_T_F_FSTYPENAME 1 +# define f_fstypename f_basetype +# if defined HAVE_STRUCT_STATVFS_F_TYPE +# define HAVE_STRUCT_STATFS_T_F_TYPE 1 +# endif +#elif defined(HAVE_STRUCT_STATFS_F_TYPE) /* Linux */ +typedef struct statfs statfs_t; +# define STATFS(f, s) statfs((f), (s)) +# if defined HAVE_STRUCT_STATFS_F_TYPE +# define HAVE_STRUCT_STATFS_T_F_TYPE 1 +# endif +#endif + +VALUE +get_fsname(VALUE self, VALUE str) +{ +#ifdef STATFS + statfs_t st; +# define CSTR(s) rb_str_new_cstr(s) + + FilePathValue(str); + str = rb_str_encode_ospath(str); + if (STATFS(StringValueCStr(str), &st) == -1) { + rb_sys_fail_str(str); + } +# ifdef HAVE_STRUCT_STATFS_T_F_FSTYPENAME + if (st.f_fstypename[0]) + return CSTR(st.f_fstypename); +# endif +# ifdef HAVE_STRUCT_STATFS_T_F_TYPE + switch (st.f_type) { + case 0x9123683E: /* BTRFS_SUPER_MAGIC */ + return CSTR("btrfs"); + case 0x7461636f: /* OCFS2_SUPER_MAGIC */ + return CSTR("ocfs"); + case 0xEF53: /* EXT2_SUPER_MAGIC EXT3_SUPER_MAGIC EXT4_SUPER_MAGIC */ + return CSTR("ext4"); + case 0x58465342: /* XFS_SUPER_MAGIC */ + return CSTR("xfs"); + case 0x01021994: /* TMPFS_MAGIC */ + return CSTR("tmpfs"); + } +# endif +#endif + return Qnil; +} + +VALUE +get_noatime_p(VALUE self, VALUE str) +{ +#ifdef STATFS + statfs_t st; + FilePathValue(str); + str = rb_str_encode_ospath(str); + if (STATFS(StringValueCStr(str), &st) == -1) { + rb_sys_fail_str(str); + } +# ifdef HAVE_STRUCT_STATFS_F_FLAGS +# ifdef MNT_STRICTATIME + if (!(st.f_flags & MNT_STRICTATIME)) return Qtrue; +# endif +# ifdef MNT_NOATIME + return st.f_flags & MNT_NOATIME ? Qtrue : Qfalse; +# elif defined(ST_NOATIME) + return st.f_flags & ST_NOATIME ? Qtrue : Qfalse; +# endif +# endif +#endif + return Qnil; +} + +void +Init_fs(VALUE module) +{ + VALUE fs = rb_define_module_under(module, "Fs"); + rb_define_module_function(fs, "fsname", get_fsname, 1); + rb_define_module_function(fs, "noatime?", get_noatime_p, 1); +} diff --git a/ext/-test-/file/init.c b/ext/-test-/file/init.c new file mode 100644 index 0000000000..1117993d6c --- /dev/null +++ b/ext/-test-/file/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(module);} + +void +Init_file(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE module = rb_define_module_under(mBug, "File"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/file/newline_conv.c b/ext/-test-/file/newline_conv.c new file mode 100644 index 0000000000..2ac5aef801 --- /dev/null +++ b/ext/-test-/file/newline_conv.c @@ -0,0 +1,73 @@ +#include "ruby/ruby.h" +#include "ruby/io.h" +#include <fcntl.h> + +static VALUE +open_with_rb_file_open(VALUE self, VALUE filename, VALUE read_or_write, VALUE binary_or_text) +{ + char fmode[3] = { 0 }; + if (rb_sym2id(read_or_write) == rb_intern("read")) { + fmode[0] = 'r'; + } + else if (rb_sym2id(read_or_write) == rb_intern("write")) { + fmode[0] = 'w'; + } + else { + rb_raise(rb_eArgError, "read_or_write param must be :read or :write"); + } + + if (rb_sym2id(binary_or_text) == rb_intern("binary")) { + fmode[1] = 'b'; + } + else if (rb_sym2id(binary_or_text) == rb_intern("text")) { + + } + else { + rb_raise(rb_eArgError, "binary_or_text param must be :binary or :text"); + } + + return rb_file_open(StringValueCStr(filename), fmode); +} + +static VALUE +open_with_rb_io_fdopen(VALUE self, VALUE filename, VALUE read_or_write, VALUE binary_or_text) +{ + int omode = 0; + if (rb_sym2id(read_or_write) == rb_intern("read")) { + omode |= O_RDONLY; + } + else if (rb_sym2id(read_or_write) == rb_intern("write")) { + omode |= O_WRONLY; + } + else { + rb_raise(rb_eArgError, "read_or_write param must be :read or :write"); + } + + if (rb_sym2id(binary_or_text) == rb_intern("binary")) { +#ifdef O_BINARY + omode |= O_BINARY; +#endif + } + else if (rb_sym2id(binary_or_text) == rb_intern("text")) { + + } + else { + rb_raise(rb_eArgError, "binary_or_text param must be :binary or :text"); + } + + int fd = rb_cloexec_open(StringValueCStr(filename), omode, 0); + if (fd < 0) { + rb_raise(rb_eIOError, "failed to open the file"); + } + + rb_update_max_fd(fd); + return rb_io_fdopen(fd, omode, StringValueCStr(filename)); +} + +void +Init_newline_conv(VALUE module) +{ + VALUE newline_conv = rb_define_module_under(module, "NewlineConv"); + rb_define_module_function(newline_conv, "rb_file_open", open_with_rb_file_open, 3); + rb_define_module_function(newline_conv, "rb_io_fdopen", open_with_rb_io_fdopen, 3); +} diff --git a/ext/-test-/file/stat.c b/ext/-test-/file/stat.c new file mode 100644 index 0000000000..fed5d389eb --- /dev/null +++ b/ext/-test-/file/stat.c @@ -0,0 +1,27 @@ +#include "ruby/ruby.h" +#include "ruby/io.h" + +static VALUE +stat_for_fd(VALUE self, VALUE fileno) +{ + struct stat st; + if (fstat(NUM2INT(fileno), &st)) rb_sys_fail(0); + return rb_stat_new(&st); +} + +static VALUE +stat_for_path(VALUE self, VALUE path) +{ + struct stat st; + FilePathValue(path); + if (stat(RSTRING_PTR(path), &st)) rb_sys_fail(0); + return rb_stat_new(&st); +} + +void +Init_stat(VALUE module) +{ + VALUE st = rb_define_module_under(module, "Stat"); + rb_define_module_function(st, "for_fd", stat_for_fd, 1); + rb_define_module_function(st, "for_path", stat_for_path, 1); +} diff --git a/ext/-test-/float/depend b/ext/-test-/float/depend new file mode 100644 index 0000000000..334ed33c3b --- /dev/null +++ b/ext/-test-/float/depend @@ -0,0 +1,328 @@ +# for FreeBSD make +nextafter.o: nextafter.c $(top_srcdir)/missing/nextafter.c + +# AUTOGENERATED DEPENDENCIES START +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +nextafter.o: $(RUBY_EXTCONF_H) +nextafter.o: $(arch_hdrdir)/ruby/config.h +nextafter.o: $(hdrdir)/ruby.h +nextafter.o: $(hdrdir)/ruby/assert.h +nextafter.o: $(hdrdir)/ruby/backward.h +nextafter.o: $(hdrdir)/ruby/backward/2/assume.h +nextafter.o: $(hdrdir)/ruby/backward/2/attributes.h +nextafter.o: $(hdrdir)/ruby/backward/2/bool.h +nextafter.o: $(hdrdir)/ruby/backward/2/inttypes.h +nextafter.o: $(hdrdir)/ruby/backward/2/limits.h +nextafter.o: $(hdrdir)/ruby/backward/2/long_long.h +nextafter.o: $(hdrdir)/ruby/backward/2/stdalign.h +nextafter.o: $(hdrdir)/ruby/backward/2/stdarg.h +nextafter.o: $(hdrdir)/ruby/defines.h +nextafter.o: $(hdrdir)/ruby/intern.h +nextafter.o: $(hdrdir)/ruby/internal/abi.h +nextafter.o: $(hdrdir)/ruby/internal/anyargs.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/char.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/double.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/int.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/long.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/short.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +nextafter.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +nextafter.o: $(hdrdir)/ruby/internal/assume.h +nextafter.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +nextafter.o: $(hdrdir)/ruby/internal/attr/artificial.h +nextafter.o: $(hdrdir)/ruby/internal/attr/cold.h +nextafter.o: $(hdrdir)/ruby/internal/attr/const.h +nextafter.o: $(hdrdir)/ruby/internal/attr/constexpr.h +nextafter.o: $(hdrdir)/ruby/internal/attr/deprecated.h +nextafter.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +nextafter.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +nextafter.o: $(hdrdir)/ruby/internal/attr/error.h +nextafter.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +nextafter.o: $(hdrdir)/ruby/internal/attr/forceinline.h +nextafter.o: $(hdrdir)/ruby/internal/attr/format.h +nextafter.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +nextafter.o: $(hdrdir)/ruby/internal/attr/noalias.h +nextafter.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +nextafter.o: $(hdrdir)/ruby/internal/attr/noexcept.h +nextafter.o: $(hdrdir)/ruby/internal/attr/noinline.h +nextafter.o: $(hdrdir)/ruby/internal/attr/nonnull.h +nextafter.o: $(hdrdir)/ruby/internal/attr/noreturn.h +nextafter.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +nextafter.o: $(hdrdir)/ruby/internal/attr/pure.h +nextafter.o: $(hdrdir)/ruby/internal/attr/restrict.h +nextafter.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +nextafter.o: $(hdrdir)/ruby/internal/attr/warning.h +nextafter.o: $(hdrdir)/ruby/internal/attr/weakref.h +nextafter.o: $(hdrdir)/ruby/internal/cast.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +nextafter.o: $(hdrdir)/ruby/internal/compiler_since.h +nextafter.o: $(hdrdir)/ruby/internal/config.h +nextafter.o: $(hdrdir)/ruby/internal/constant_p.h +nextafter.o: $(hdrdir)/ruby/internal/core.h +nextafter.o: $(hdrdir)/ruby/internal/core/rarray.h +nextafter.o: $(hdrdir)/ruby/internal/core/rbasic.h +nextafter.o: $(hdrdir)/ruby/internal/core/rbignum.h +nextafter.o: $(hdrdir)/ruby/internal/core/rclass.h +nextafter.o: $(hdrdir)/ruby/internal/core/rdata.h +nextafter.o: $(hdrdir)/ruby/internal/core/rfile.h +nextafter.o: $(hdrdir)/ruby/internal/core/rhash.h +nextafter.o: $(hdrdir)/ruby/internal/core/robject.h +nextafter.o: $(hdrdir)/ruby/internal/core/rregexp.h +nextafter.o: $(hdrdir)/ruby/internal/core/rstring.h +nextafter.o: $(hdrdir)/ruby/internal/core/rstruct.h +nextafter.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +nextafter.o: $(hdrdir)/ruby/internal/ctype.h +nextafter.o: $(hdrdir)/ruby/internal/dllexport.h +nextafter.o: $(hdrdir)/ruby/internal/dosish.h +nextafter.o: $(hdrdir)/ruby/internal/error.h +nextafter.o: $(hdrdir)/ruby/internal/eval.h +nextafter.o: $(hdrdir)/ruby/internal/event.h +nextafter.o: $(hdrdir)/ruby/internal/fl_type.h +nextafter.o: $(hdrdir)/ruby/internal/gc.h +nextafter.o: $(hdrdir)/ruby/internal/glob.h +nextafter.o: $(hdrdir)/ruby/internal/globals.h +nextafter.o: $(hdrdir)/ruby/internal/has/attribute.h +nextafter.o: $(hdrdir)/ruby/internal/has/builtin.h +nextafter.o: $(hdrdir)/ruby/internal/has/c_attribute.h +nextafter.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +nextafter.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +nextafter.o: $(hdrdir)/ruby/internal/has/extension.h +nextafter.o: $(hdrdir)/ruby/internal/has/feature.h +nextafter.o: $(hdrdir)/ruby/internal/has/warning.h +nextafter.o: $(hdrdir)/ruby/internal/intern/array.h +nextafter.o: $(hdrdir)/ruby/internal/intern/bignum.h +nextafter.o: $(hdrdir)/ruby/internal/intern/class.h +nextafter.o: $(hdrdir)/ruby/internal/intern/compar.h +nextafter.o: $(hdrdir)/ruby/internal/intern/complex.h +nextafter.o: $(hdrdir)/ruby/internal/intern/cont.h +nextafter.o: $(hdrdir)/ruby/internal/intern/dir.h +nextafter.o: $(hdrdir)/ruby/internal/intern/enum.h +nextafter.o: $(hdrdir)/ruby/internal/intern/enumerator.h +nextafter.o: $(hdrdir)/ruby/internal/intern/error.h +nextafter.o: $(hdrdir)/ruby/internal/intern/eval.h +nextafter.o: $(hdrdir)/ruby/internal/intern/file.h +nextafter.o: $(hdrdir)/ruby/internal/intern/hash.h +nextafter.o: $(hdrdir)/ruby/internal/intern/io.h +nextafter.o: $(hdrdir)/ruby/internal/intern/load.h +nextafter.o: $(hdrdir)/ruby/internal/intern/marshal.h +nextafter.o: $(hdrdir)/ruby/internal/intern/numeric.h +nextafter.o: $(hdrdir)/ruby/internal/intern/object.h +nextafter.o: $(hdrdir)/ruby/internal/intern/parse.h +nextafter.o: $(hdrdir)/ruby/internal/intern/proc.h +nextafter.o: $(hdrdir)/ruby/internal/intern/process.h +nextafter.o: $(hdrdir)/ruby/internal/intern/random.h +nextafter.o: $(hdrdir)/ruby/internal/intern/range.h +nextafter.o: $(hdrdir)/ruby/internal/intern/rational.h +nextafter.o: $(hdrdir)/ruby/internal/intern/re.h +nextafter.o: $(hdrdir)/ruby/internal/intern/ruby.h +nextafter.o: $(hdrdir)/ruby/internal/intern/select.h +nextafter.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +nextafter.o: $(hdrdir)/ruby/internal/intern/set.h +nextafter.o: $(hdrdir)/ruby/internal/intern/signal.h +nextafter.o: $(hdrdir)/ruby/internal/intern/sprintf.h +nextafter.o: $(hdrdir)/ruby/internal/intern/string.h +nextafter.o: $(hdrdir)/ruby/internal/intern/struct.h +nextafter.o: $(hdrdir)/ruby/internal/intern/thread.h +nextafter.o: $(hdrdir)/ruby/internal/intern/time.h +nextafter.o: $(hdrdir)/ruby/internal/intern/variable.h +nextafter.o: $(hdrdir)/ruby/internal/intern/vm.h +nextafter.o: $(hdrdir)/ruby/internal/interpreter.h +nextafter.o: $(hdrdir)/ruby/internal/iterator.h +nextafter.o: $(hdrdir)/ruby/internal/memory.h +nextafter.o: $(hdrdir)/ruby/internal/method.h +nextafter.o: $(hdrdir)/ruby/internal/module.h +nextafter.o: $(hdrdir)/ruby/internal/newobj.h +nextafter.o: $(hdrdir)/ruby/internal/scan_args.h +nextafter.o: $(hdrdir)/ruby/internal/special_consts.h +nextafter.o: $(hdrdir)/ruby/internal/static_assert.h +nextafter.o: $(hdrdir)/ruby/internal/stdalign.h +nextafter.o: $(hdrdir)/ruby/internal/stdbool.h +nextafter.o: $(hdrdir)/ruby/internal/stdckdint.h +nextafter.o: $(hdrdir)/ruby/internal/symbol.h +nextafter.o: $(hdrdir)/ruby/internal/value.h +nextafter.o: $(hdrdir)/ruby/internal/value_type.h +nextafter.o: $(hdrdir)/ruby/internal/variable.h +nextafter.o: $(hdrdir)/ruby/internal/warning_push.h +nextafter.o: $(hdrdir)/ruby/internal/xmalloc.h +nextafter.o: $(hdrdir)/ruby/missing.h +nextafter.o: $(hdrdir)/ruby/ruby.h +nextafter.o: $(hdrdir)/ruby/st.h +nextafter.o: $(hdrdir)/ruby/subst.h +nextafter.o: $(top_srcdir)/missing/nextafter.c +nextafter.o: nextafter.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/float/extconf.rb b/ext/-test-/float/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/float/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/float/init.c b/ext/-test-/float/init.c new file mode 100644 index 0000000000..d962108e39 --- /dev/null +++ b/ext/-test-/float/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_float(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Float", rb_cObject); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/float/nextafter.c b/ext/-test-/float/nextafter.c new file mode 100644 index 0000000000..30fb71f520 --- /dev/null +++ b/ext/-test-/float/nextafter.c @@ -0,0 +1,36 @@ +#include "ruby.h" + +static VALUE +system_nextafter_m(VALUE klass, VALUE vx, VALUE vy) +{ + double x, y, z; + + x = NUM2DBL(vx); + y = NUM2DBL(vy); + z = nextafter(x, y); + + return DBL2NUM(z); +} + +#define nextafter missing_nextafter +#include "../../../missing/nextafter.c" +#undef nextafter + +static VALUE +missing_nextafter_m(VALUE klass, VALUE vx, VALUE vy) +{ + double x, y, z; + + x = NUM2DBL(vx); + y = NUM2DBL(vy); + z = missing_nextafter(x, y); + + return DBL2NUM(z); +} + +void +Init_nextafter(VALUE klass) +{ + rb_define_singleton_method(klass, "system_nextafter", system_nextafter_m, 2); + rb_define_singleton_method(klass, "missing_nextafter", missing_nextafter_m, 2); +} diff --git a/ext/-test-/funcall/depend b/ext/-test-/funcall/depend new file mode 100644 index 0000000000..e54370306f --- /dev/null +++ b/ext/-test-/funcall/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +funcall.o: $(RUBY_EXTCONF_H) +funcall.o: $(arch_hdrdir)/ruby/config.h +funcall.o: $(hdrdir)/ruby.h +funcall.o: $(hdrdir)/ruby/assert.h +funcall.o: $(hdrdir)/ruby/backward.h +funcall.o: $(hdrdir)/ruby/backward/2/assume.h +funcall.o: $(hdrdir)/ruby/backward/2/attributes.h +funcall.o: $(hdrdir)/ruby/backward/2/bool.h +funcall.o: $(hdrdir)/ruby/backward/2/inttypes.h +funcall.o: $(hdrdir)/ruby/backward/2/limits.h +funcall.o: $(hdrdir)/ruby/backward/2/long_long.h +funcall.o: $(hdrdir)/ruby/backward/2/stdalign.h +funcall.o: $(hdrdir)/ruby/backward/2/stdarg.h +funcall.o: $(hdrdir)/ruby/defines.h +funcall.o: $(hdrdir)/ruby/intern.h +funcall.o: $(hdrdir)/ruby/internal/abi.h +funcall.o: $(hdrdir)/ruby/internal/anyargs.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/char.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/double.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/int.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/long.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/short.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +funcall.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +funcall.o: $(hdrdir)/ruby/internal/assume.h +funcall.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +funcall.o: $(hdrdir)/ruby/internal/attr/artificial.h +funcall.o: $(hdrdir)/ruby/internal/attr/cold.h +funcall.o: $(hdrdir)/ruby/internal/attr/const.h +funcall.o: $(hdrdir)/ruby/internal/attr/constexpr.h +funcall.o: $(hdrdir)/ruby/internal/attr/deprecated.h +funcall.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +funcall.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +funcall.o: $(hdrdir)/ruby/internal/attr/error.h +funcall.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +funcall.o: $(hdrdir)/ruby/internal/attr/forceinline.h +funcall.o: $(hdrdir)/ruby/internal/attr/format.h +funcall.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +funcall.o: $(hdrdir)/ruby/internal/attr/noalias.h +funcall.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +funcall.o: $(hdrdir)/ruby/internal/attr/noexcept.h +funcall.o: $(hdrdir)/ruby/internal/attr/noinline.h +funcall.o: $(hdrdir)/ruby/internal/attr/nonnull.h +funcall.o: $(hdrdir)/ruby/internal/attr/noreturn.h +funcall.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +funcall.o: $(hdrdir)/ruby/internal/attr/pure.h +funcall.o: $(hdrdir)/ruby/internal/attr/restrict.h +funcall.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +funcall.o: $(hdrdir)/ruby/internal/attr/warning.h +funcall.o: $(hdrdir)/ruby/internal/attr/weakref.h +funcall.o: $(hdrdir)/ruby/internal/cast.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +funcall.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +funcall.o: $(hdrdir)/ruby/internal/compiler_since.h +funcall.o: $(hdrdir)/ruby/internal/config.h +funcall.o: $(hdrdir)/ruby/internal/constant_p.h +funcall.o: $(hdrdir)/ruby/internal/core.h +funcall.o: $(hdrdir)/ruby/internal/core/rarray.h +funcall.o: $(hdrdir)/ruby/internal/core/rbasic.h +funcall.o: $(hdrdir)/ruby/internal/core/rbignum.h +funcall.o: $(hdrdir)/ruby/internal/core/rclass.h +funcall.o: $(hdrdir)/ruby/internal/core/rdata.h +funcall.o: $(hdrdir)/ruby/internal/core/rfile.h +funcall.o: $(hdrdir)/ruby/internal/core/rhash.h +funcall.o: $(hdrdir)/ruby/internal/core/robject.h +funcall.o: $(hdrdir)/ruby/internal/core/rregexp.h +funcall.o: $(hdrdir)/ruby/internal/core/rstring.h +funcall.o: $(hdrdir)/ruby/internal/core/rstruct.h +funcall.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +funcall.o: $(hdrdir)/ruby/internal/ctype.h +funcall.o: $(hdrdir)/ruby/internal/dllexport.h +funcall.o: $(hdrdir)/ruby/internal/dosish.h +funcall.o: $(hdrdir)/ruby/internal/error.h +funcall.o: $(hdrdir)/ruby/internal/eval.h +funcall.o: $(hdrdir)/ruby/internal/event.h +funcall.o: $(hdrdir)/ruby/internal/fl_type.h +funcall.o: $(hdrdir)/ruby/internal/gc.h +funcall.o: $(hdrdir)/ruby/internal/glob.h +funcall.o: $(hdrdir)/ruby/internal/globals.h +funcall.o: $(hdrdir)/ruby/internal/has/attribute.h +funcall.o: $(hdrdir)/ruby/internal/has/builtin.h +funcall.o: $(hdrdir)/ruby/internal/has/c_attribute.h +funcall.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +funcall.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +funcall.o: $(hdrdir)/ruby/internal/has/extension.h +funcall.o: $(hdrdir)/ruby/internal/has/feature.h +funcall.o: $(hdrdir)/ruby/internal/has/warning.h +funcall.o: $(hdrdir)/ruby/internal/intern/array.h +funcall.o: $(hdrdir)/ruby/internal/intern/bignum.h +funcall.o: $(hdrdir)/ruby/internal/intern/class.h +funcall.o: $(hdrdir)/ruby/internal/intern/compar.h +funcall.o: $(hdrdir)/ruby/internal/intern/complex.h +funcall.o: $(hdrdir)/ruby/internal/intern/cont.h +funcall.o: $(hdrdir)/ruby/internal/intern/dir.h +funcall.o: $(hdrdir)/ruby/internal/intern/enum.h +funcall.o: $(hdrdir)/ruby/internal/intern/enumerator.h +funcall.o: $(hdrdir)/ruby/internal/intern/error.h +funcall.o: $(hdrdir)/ruby/internal/intern/eval.h +funcall.o: $(hdrdir)/ruby/internal/intern/file.h +funcall.o: $(hdrdir)/ruby/internal/intern/hash.h +funcall.o: $(hdrdir)/ruby/internal/intern/io.h +funcall.o: $(hdrdir)/ruby/internal/intern/load.h +funcall.o: $(hdrdir)/ruby/internal/intern/marshal.h +funcall.o: $(hdrdir)/ruby/internal/intern/numeric.h +funcall.o: $(hdrdir)/ruby/internal/intern/object.h +funcall.o: $(hdrdir)/ruby/internal/intern/parse.h +funcall.o: $(hdrdir)/ruby/internal/intern/proc.h +funcall.o: $(hdrdir)/ruby/internal/intern/process.h +funcall.o: $(hdrdir)/ruby/internal/intern/random.h +funcall.o: $(hdrdir)/ruby/internal/intern/range.h +funcall.o: $(hdrdir)/ruby/internal/intern/rational.h +funcall.o: $(hdrdir)/ruby/internal/intern/re.h +funcall.o: $(hdrdir)/ruby/internal/intern/ruby.h +funcall.o: $(hdrdir)/ruby/internal/intern/select.h +funcall.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +funcall.o: $(hdrdir)/ruby/internal/intern/set.h +funcall.o: $(hdrdir)/ruby/internal/intern/signal.h +funcall.o: $(hdrdir)/ruby/internal/intern/sprintf.h +funcall.o: $(hdrdir)/ruby/internal/intern/string.h +funcall.o: $(hdrdir)/ruby/internal/intern/struct.h +funcall.o: $(hdrdir)/ruby/internal/intern/thread.h +funcall.o: $(hdrdir)/ruby/internal/intern/time.h +funcall.o: $(hdrdir)/ruby/internal/intern/variable.h +funcall.o: $(hdrdir)/ruby/internal/intern/vm.h +funcall.o: $(hdrdir)/ruby/internal/interpreter.h +funcall.o: $(hdrdir)/ruby/internal/iterator.h +funcall.o: $(hdrdir)/ruby/internal/memory.h +funcall.o: $(hdrdir)/ruby/internal/method.h +funcall.o: $(hdrdir)/ruby/internal/module.h +funcall.o: $(hdrdir)/ruby/internal/newobj.h +funcall.o: $(hdrdir)/ruby/internal/scan_args.h +funcall.o: $(hdrdir)/ruby/internal/special_consts.h +funcall.o: $(hdrdir)/ruby/internal/static_assert.h +funcall.o: $(hdrdir)/ruby/internal/stdalign.h +funcall.o: $(hdrdir)/ruby/internal/stdbool.h +funcall.o: $(hdrdir)/ruby/internal/stdckdint.h +funcall.o: $(hdrdir)/ruby/internal/symbol.h +funcall.o: $(hdrdir)/ruby/internal/value.h +funcall.o: $(hdrdir)/ruby/internal/value_type.h +funcall.o: $(hdrdir)/ruby/internal/variable.h +funcall.o: $(hdrdir)/ruby/internal/warning_push.h +funcall.o: $(hdrdir)/ruby/internal/xmalloc.h +funcall.o: $(hdrdir)/ruby/missing.h +funcall.o: $(hdrdir)/ruby/ruby.h +funcall.o: $(hdrdir)/ruby/st.h +funcall.o: $(hdrdir)/ruby/subst.h +funcall.o: funcall.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/funcall/extconf.rb b/ext/-test-/funcall/extconf.rb new file mode 100644 index 0000000000..39d6134cba --- /dev/null +++ b/ext/-test-/funcall/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require 'mkmf' +create_makefile("-test-/funcall") diff --git a/ext/-test-/funcall/funcall.c b/ext/-test-/funcall/funcall.c new file mode 100644 index 0000000000..a68d6de255 --- /dev/null +++ b/ext/-test-/funcall/funcall.c @@ -0,0 +1,72 @@ +#include "ruby.h" + +static VALUE +with_funcall2(int argc, VALUE *argv, VALUE self) +{ + return rb_funcallv(self, rb_intern("target"), argc, argv); +} + +static VALUE +with_funcall_passing_block(int argc, VALUE *argv, VALUE self) +{ + return rb_funcall_passing_block(self, rb_intern("target"), argc, argv); +} + +static VALUE +with_funcall_passing_block_kw(int argc, VALUE *argv, VALUE self) +{ + return rb_funcall_passing_block_kw(self, rb_intern("target"), argc-1, argv+1, FIX2INT(argv[0])); +} + +static VALUE +with_funcallv_public_kw(int argc, VALUE *argv, VALUE self) +{ + return rb_funcallv_public_kw(argv[0], SYM2ID(argv[1]), argc-3, argv+3, FIX2INT(argv[2])); +} + +static VALUE +with_yield_splat_kw(int argc, VALUE *argv, VALUE self) +{ + return rb_yield_splat_kw(argv[1], FIX2INT(argv[0])); +} + +static VALUE +extra_args_name(VALUE self) +{ + /* + * at least clang 5.x gets tripped by the extra 0 arg + * [ruby-core:85266] [Bug #14425] + */ + return rb_funcall(self, rb_intern("name"), 0, 0); +} + +void +Init_funcall(void) +{ + VALUE cTestFuncall = rb_path2class("TestFuncall"); + VALUE cRelay = rb_define_module_under(cTestFuncall, "Relay"); + + rb_define_singleton_method(cRelay, + "with_funcall2", + with_funcall2, + -1); + rb_define_singleton_method(cRelay, + "with_funcall_passing_block_kw", + with_funcall_passing_block_kw, + -1); + rb_define_singleton_method(cRelay, + "with_funcall_passing_block", + with_funcall_passing_block, + -1); + rb_define_singleton_method(cRelay, + "with_funcallv_public_kw", + with_funcallv_public_kw, + -1); + rb_define_singleton_method(cRelay, + "with_yield_splat_kw", + with_yield_splat_kw, + -1); + rb_define_singleton_method(cTestFuncall, "extra_args_name", + extra_args_name, + 0); +} diff --git a/ext/-test-/gvl/call_without_gvl/call_without_gvl.c b/ext/-test-/gvl/call_without_gvl/call_without_gvl.c new file mode 100644 index 0000000000..97946e925d --- /dev/null +++ b/ext/-test-/gvl/call_without_gvl/call_without_gvl.c @@ -0,0 +1,78 @@ +#include "ruby/ruby.h" +#include "ruby/thread.h" + +static void* +native_sleep_callback(void *data) +{ + struct timeval *timeval = data; + select(0, NULL, NULL, NULL, timeval); + + return NULL; +} + + +static VALUE +thread_runnable_sleep(VALUE thread, VALUE timeout) +{ + struct timeval timeval; + + if (NIL_P(timeout)) { + rb_raise(rb_eArgError, "timeout must be non nil"); + } + + timeval = rb_time_interval(timeout); + + rb_thread_call_without_gvl(native_sleep_callback, &timeval, RUBY_UBF_IO, NULL); + + return Qnil; +} + +struct loop_ctl { + int notify_fd; + volatile int stop; +}; + +static void * +do_loop(void *p) +{ + struct loop_ctl *ctl = p; + + /* tell the waiting process they can interrupt us, now */ + ssize_t err = write(ctl->notify_fd, "", 1); + if (err == -1) rb_bug("write error"); + + while (!ctl->stop) { + struct timeval tv = { 0, 10000 }; + select(0, NULL, NULL, NULL, &tv); + } + return 0; +} + +static void +stop_set(void *p) +{ + struct loop_ctl *ctl = p; + + ctl->stop = 1; +} + +static VALUE +thread_ubf_async_safe(VALUE thread, VALUE notify_fd) +{ + struct loop_ctl ctl; + + ctl.notify_fd = NUM2INT(notify_fd); + ctl.stop = 0; + + rb_nogvl(do_loop, &ctl, stop_set, &ctl, RB_NOGVL_UBF_ASYNC_SAFE); + return Qnil; +} + +void +Init_call_without_gvl(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "Thread"); + rb_define_singleton_method(klass, "runnable_sleep", thread_runnable_sleep, 1); + rb_define_singleton_method(klass, "ubf_async_safe", thread_ubf_async_safe, 1); +} diff --git a/ext/-test-/gvl/call_without_gvl/depend b/ext/-test-/gvl/call_without_gvl/depend new file mode 100644 index 0000000000..236d1e1d3b --- /dev/null +++ b/ext/-test-/gvl/call_without_gvl/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +call_without_gvl.o: $(RUBY_EXTCONF_H) +call_without_gvl.o: $(arch_hdrdir)/ruby/config.h +call_without_gvl.o: $(hdrdir)/ruby/assert.h +call_without_gvl.o: $(hdrdir)/ruby/backward.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/assume.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/attributes.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/bool.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/inttypes.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/limits.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/long_long.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/stdalign.h +call_without_gvl.o: $(hdrdir)/ruby/backward/2/stdarg.h +call_without_gvl.o: $(hdrdir)/ruby/defines.h +call_without_gvl.o: $(hdrdir)/ruby/intern.h +call_without_gvl.o: $(hdrdir)/ruby/internal/abi.h +call_without_gvl.o: $(hdrdir)/ruby/internal/anyargs.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/char.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/double.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/int.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/long.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/short.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +call_without_gvl.o: $(hdrdir)/ruby/internal/assume.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/artificial.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/cold.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/const.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/constexpr.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/deprecated.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/error.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/forceinline.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/format.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/noalias.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/noexcept.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/noinline.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/nonnull.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/noreturn.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/pure.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/restrict.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/warning.h +call_without_gvl.o: $(hdrdir)/ruby/internal/attr/weakref.h +call_without_gvl.o: $(hdrdir)/ruby/internal/cast.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +call_without_gvl.o: $(hdrdir)/ruby/internal/compiler_since.h +call_without_gvl.o: $(hdrdir)/ruby/internal/config.h +call_without_gvl.o: $(hdrdir)/ruby/internal/constant_p.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rarray.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rbasic.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rbignum.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rclass.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rdata.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rfile.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rhash.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/robject.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rregexp.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rstring.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rstruct.h +call_without_gvl.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +call_without_gvl.o: $(hdrdir)/ruby/internal/ctype.h +call_without_gvl.o: $(hdrdir)/ruby/internal/dllexport.h +call_without_gvl.o: $(hdrdir)/ruby/internal/dosish.h +call_without_gvl.o: $(hdrdir)/ruby/internal/error.h +call_without_gvl.o: $(hdrdir)/ruby/internal/eval.h +call_without_gvl.o: $(hdrdir)/ruby/internal/event.h +call_without_gvl.o: $(hdrdir)/ruby/internal/fl_type.h +call_without_gvl.o: $(hdrdir)/ruby/internal/gc.h +call_without_gvl.o: $(hdrdir)/ruby/internal/glob.h +call_without_gvl.o: $(hdrdir)/ruby/internal/globals.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/attribute.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/builtin.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/c_attribute.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/extension.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/feature.h +call_without_gvl.o: $(hdrdir)/ruby/internal/has/warning.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/array.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/bignum.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/class.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/compar.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/complex.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/cont.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/dir.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/enum.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/enumerator.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/error.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/eval.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/file.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/hash.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/io.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/load.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/marshal.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/numeric.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/object.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/parse.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/proc.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/process.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/random.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/range.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/rational.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/re.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/ruby.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/select.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/set.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/signal.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/sprintf.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/string.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/struct.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/thread.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/time.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/variable.h +call_without_gvl.o: $(hdrdir)/ruby/internal/intern/vm.h +call_without_gvl.o: $(hdrdir)/ruby/internal/interpreter.h +call_without_gvl.o: $(hdrdir)/ruby/internal/iterator.h +call_without_gvl.o: $(hdrdir)/ruby/internal/memory.h +call_without_gvl.o: $(hdrdir)/ruby/internal/method.h +call_without_gvl.o: $(hdrdir)/ruby/internal/module.h +call_without_gvl.o: $(hdrdir)/ruby/internal/newobj.h +call_without_gvl.o: $(hdrdir)/ruby/internal/scan_args.h +call_without_gvl.o: $(hdrdir)/ruby/internal/special_consts.h +call_without_gvl.o: $(hdrdir)/ruby/internal/static_assert.h +call_without_gvl.o: $(hdrdir)/ruby/internal/stdalign.h +call_without_gvl.o: $(hdrdir)/ruby/internal/stdbool.h +call_without_gvl.o: $(hdrdir)/ruby/internal/stdckdint.h +call_without_gvl.o: $(hdrdir)/ruby/internal/symbol.h +call_without_gvl.o: $(hdrdir)/ruby/internal/value.h +call_without_gvl.o: $(hdrdir)/ruby/internal/value_type.h +call_without_gvl.o: $(hdrdir)/ruby/internal/variable.h +call_without_gvl.o: $(hdrdir)/ruby/internal/warning_push.h +call_without_gvl.o: $(hdrdir)/ruby/internal/xmalloc.h +call_without_gvl.o: $(hdrdir)/ruby/missing.h +call_without_gvl.o: $(hdrdir)/ruby/ruby.h +call_without_gvl.o: $(hdrdir)/ruby/st.h +call_without_gvl.o: $(hdrdir)/ruby/subst.h +call_without_gvl.o: $(hdrdir)/ruby/thread.h +call_without_gvl.o: call_without_gvl.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/gvl/call_without_gvl/extconf.rb b/ext/-test-/gvl/call_without_gvl/extconf.rb new file mode 100644 index 0000000000..56181b6773 --- /dev/null +++ b/ext/-test-/gvl/call_without_gvl/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/gvl/call_without_gvl") diff --git a/ext/-test-/hash/delete.c b/ext/-test-/hash/delete.c new file mode 100644 index 0000000000..10d4aec6e7 --- /dev/null +++ b/ext/-test-/hash/delete.c @@ -0,0 +1,16 @@ +#include "ruby.h" + +extern VALUE rb_hash_delete_entry(VALUE hash, VALUE key); + +static VALUE +hash_delete(VALUE hash, VALUE key) +{ + VALUE ret = rb_hash_delete_entry(hash, key); + return ret == Qundef ? Qnil : rb_ary_new_from_values(1, &ret); +} + +void +Init_delete(VALUE klass) +{ + rb_define_method(klass, "delete!", hash_delete, 1); +} diff --git a/ext/-test-/hash/depend b/ext/-test-/hash/depend new file mode 100644 index 0000000000..416b93f9de --- /dev/null +++ b/ext/-test-/hash/depend @@ -0,0 +1,324 @@ +# AUTOGENERATED DEPENDENCIES START +delete.o: $(RUBY_EXTCONF_H) +delete.o: $(arch_hdrdir)/ruby/config.h +delete.o: $(hdrdir)/ruby.h +delete.o: $(hdrdir)/ruby/assert.h +delete.o: $(hdrdir)/ruby/backward.h +delete.o: $(hdrdir)/ruby/backward/2/assume.h +delete.o: $(hdrdir)/ruby/backward/2/attributes.h +delete.o: $(hdrdir)/ruby/backward/2/bool.h +delete.o: $(hdrdir)/ruby/backward/2/inttypes.h +delete.o: $(hdrdir)/ruby/backward/2/limits.h +delete.o: $(hdrdir)/ruby/backward/2/long_long.h +delete.o: $(hdrdir)/ruby/backward/2/stdalign.h +delete.o: $(hdrdir)/ruby/backward/2/stdarg.h +delete.o: $(hdrdir)/ruby/defines.h +delete.o: $(hdrdir)/ruby/intern.h +delete.o: $(hdrdir)/ruby/internal/abi.h +delete.o: $(hdrdir)/ruby/internal/anyargs.h +delete.o: $(hdrdir)/ruby/internal/arithmetic.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/char.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/double.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/int.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/long.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/short.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +delete.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +delete.o: $(hdrdir)/ruby/internal/assume.h +delete.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +delete.o: $(hdrdir)/ruby/internal/attr/artificial.h +delete.o: $(hdrdir)/ruby/internal/attr/cold.h +delete.o: $(hdrdir)/ruby/internal/attr/const.h +delete.o: $(hdrdir)/ruby/internal/attr/constexpr.h +delete.o: $(hdrdir)/ruby/internal/attr/deprecated.h +delete.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +delete.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +delete.o: $(hdrdir)/ruby/internal/attr/error.h +delete.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +delete.o: $(hdrdir)/ruby/internal/attr/forceinline.h +delete.o: $(hdrdir)/ruby/internal/attr/format.h +delete.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +delete.o: $(hdrdir)/ruby/internal/attr/noalias.h +delete.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +delete.o: $(hdrdir)/ruby/internal/attr/noexcept.h +delete.o: $(hdrdir)/ruby/internal/attr/noinline.h +delete.o: $(hdrdir)/ruby/internal/attr/nonnull.h +delete.o: $(hdrdir)/ruby/internal/attr/noreturn.h +delete.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +delete.o: $(hdrdir)/ruby/internal/attr/pure.h +delete.o: $(hdrdir)/ruby/internal/attr/restrict.h +delete.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +delete.o: $(hdrdir)/ruby/internal/attr/warning.h +delete.o: $(hdrdir)/ruby/internal/attr/weakref.h +delete.o: $(hdrdir)/ruby/internal/cast.h +delete.o: $(hdrdir)/ruby/internal/compiler_is.h +delete.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +delete.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +delete.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +delete.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +delete.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +delete.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +delete.o: $(hdrdir)/ruby/internal/compiler_since.h +delete.o: $(hdrdir)/ruby/internal/config.h +delete.o: $(hdrdir)/ruby/internal/constant_p.h +delete.o: $(hdrdir)/ruby/internal/core.h +delete.o: $(hdrdir)/ruby/internal/core/rarray.h +delete.o: $(hdrdir)/ruby/internal/core/rbasic.h +delete.o: $(hdrdir)/ruby/internal/core/rbignum.h +delete.o: $(hdrdir)/ruby/internal/core/rclass.h +delete.o: $(hdrdir)/ruby/internal/core/rdata.h +delete.o: $(hdrdir)/ruby/internal/core/rfile.h +delete.o: $(hdrdir)/ruby/internal/core/rhash.h +delete.o: $(hdrdir)/ruby/internal/core/robject.h +delete.o: $(hdrdir)/ruby/internal/core/rregexp.h +delete.o: $(hdrdir)/ruby/internal/core/rstring.h +delete.o: $(hdrdir)/ruby/internal/core/rstruct.h +delete.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +delete.o: $(hdrdir)/ruby/internal/ctype.h +delete.o: $(hdrdir)/ruby/internal/dllexport.h +delete.o: $(hdrdir)/ruby/internal/dosish.h +delete.o: $(hdrdir)/ruby/internal/error.h +delete.o: $(hdrdir)/ruby/internal/eval.h +delete.o: $(hdrdir)/ruby/internal/event.h +delete.o: $(hdrdir)/ruby/internal/fl_type.h +delete.o: $(hdrdir)/ruby/internal/gc.h +delete.o: $(hdrdir)/ruby/internal/glob.h +delete.o: $(hdrdir)/ruby/internal/globals.h +delete.o: $(hdrdir)/ruby/internal/has/attribute.h +delete.o: $(hdrdir)/ruby/internal/has/builtin.h +delete.o: $(hdrdir)/ruby/internal/has/c_attribute.h +delete.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +delete.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +delete.o: $(hdrdir)/ruby/internal/has/extension.h +delete.o: $(hdrdir)/ruby/internal/has/feature.h +delete.o: $(hdrdir)/ruby/internal/has/warning.h +delete.o: $(hdrdir)/ruby/internal/intern/array.h +delete.o: $(hdrdir)/ruby/internal/intern/bignum.h +delete.o: $(hdrdir)/ruby/internal/intern/class.h +delete.o: $(hdrdir)/ruby/internal/intern/compar.h +delete.o: $(hdrdir)/ruby/internal/intern/complex.h +delete.o: $(hdrdir)/ruby/internal/intern/cont.h +delete.o: $(hdrdir)/ruby/internal/intern/dir.h +delete.o: $(hdrdir)/ruby/internal/intern/enum.h +delete.o: $(hdrdir)/ruby/internal/intern/enumerator.h +delete.o: $(hdrdir)/ruby/internal/intern/error.h +delete.o: $(hdrdir)/ruby/internal/intern/eval.h +delete.o: $(hdrdir)/ruby/internal/intern/file.h +delete.o: $(hdrdir)/ruby/internal/intern/hash.h +delete.o: $(hdrdir)/ruby/internal/intern/io.h +delete.o: $(hdrdir)/ruby/internal/intern/load.h +delete.o: $(hdrdir)/ruby/internal/intern/marshal.h +delete.o: $(hdrdir)/ruby/internal/intern/numeric.h +delete.o: $(hdrdir)/ruby/internal/intern/object.h +delete.o: $(hdrdir)/ruby/internal/intern/parse.h +delete.o: $(hdrdir)/ruby/internal/intern/proc.h +delete.o: $(hdrdir)/ruby/internal/intern/process.h +delete.o: $(hdrdir)/ruby/internal/intern/random.h +delete.o: $(hdrdir)/ruby/internal/intern/range.h +delete.o: $(hdrdir)/ruby/internal/intern/rational.h +delete.o: $(hdrdir)/ruby/internal/intern/re.h +delete.o: $(hdrdir)/ruby/internal/intern/ruby.h +delete.o: $(hdrdir)/ruby/internal/intern/select.h +delete.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +delete.o: $(hdrdir)/ruby/internal/intern/set.h +delete.o: $(hdrdir)/ruby/internal/intern/signal.h +delete.o: $(hdrdir)/ruby/internal/intern/sprintf.h +delete.o: $(hdrdir)/ruby/internal/intern/string.h +delete.o: $(hdrdir)/ruby/internal/intern/struct.h +delete.o: $(hdrdir)/ruby/internal/intern/thread.h +delete.o: $(hdrdir)/ruby/internal/intern/time.h +delete.o: $(hdrdir)/ruby/internal/intern/variable.h +delete.o: $(hdrdir)/ruby/internal/intern/vm.h +delete.o: $(hdrdir)/ruby/internal/interpreter.h +delete.o: $(hdrdir)/ruby/internal/iterator.h +delete.o: $(hdrdir)/ruby/internal/memory.h +delete.o: $(hdrdir)/ruby/internal/method.h +delete.o: $(hdrdir)/ruby/internal/module.h +delete.o: $(hdrdir)/ruby/internal/newobj.h +delete.o: $(hdrdir)/ruby/internal/scan_args.h +delete.o: $(hdrdir)/ruby/internal/special_consts.h +delete.o: $(hdrdir)/ruby/internal/static_assert.h +delete.o: $(hdrdir)/ruby/internal/stdalign.h +delete.o: $(hdrdir)/ruby/internal/stdbool.h +delete.o: $(hdrdir)/ruby/internal/stdckdint.h +delete.o: $(hdrdir)/ruby/internal/symbol.h +delete.o: $(hdrdir)/ruby/internal/value.h +delete.o: $(hdrdir)/ruby/internal/value_type.h +delete.o: $(hdrdir)/ruby/internal/variable.h +delete.o: $(hdrdir)/ruby/internal/warning_push.h +delete.o: $(hdrdir)/ruby/internal/xmalloc.h +delete.o: $(hdrdir)/ruby/missing.h +delete.o: $(hdrdir)/ruby/ruby.h +delete.o: $(hdrdir)/ruby/st.h +delete.o: $(hdrdir)/ruby/subst.h +delete.o: delete.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/hash/extconf.rb b/ext/-test-/hash/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/hash/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/hash/init.c b/ext/-test-/hash/init.c new file mode 100644 index 0000000000..9f6cbde652 --- /dev/null +++ b/ext/-test-/hash/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_hash(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Hash", rb_cHash); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/integer/core_ext.c b/ext/-test-/integer/core_ext.c new file mode 100644 index 0000000000..e364aa4b40 --- /dev/null +++ b/ext/-test-/integer/core_ext.c @@ -0,0 +1,36 @@ +#include "internal/numeric.h" + +static VALUE +int_bignum_p(VALUE klass, VALUE self) +{ + return RB_TYPE_P(self, T_BIGNUM) ? Qtrue : Qfalse; +} + +static VALUE +int_fixnum_p(VALUE klass, VALUE self) +{ + return FIXNUM_P(self) ? Qtrue : Qfalse; +} + +static VALUE +rb_int_to_bignum(VALUE klass, VALUE x) +{ + if (FIXNUM_P(x)) + x = rb_int2big(FIX2LONG(x)); + return x; +} + +static VALUE +positive_pow(VALUE klass, VALUE x, VALUE y) +{ + return rb_int_positive_pow(NUM2LONG(x), NUM2ULONG(y)); +} + +void +Init_core_ext(VALUE klass) +{ + rb_define_singleton_method(klass, "bignum?", int_bignum_p, 1); + rb_define_singleton_method(klass, "fixnum?", int_fixnum_p, 1); + rb_define_singleton_method(klass, "to_bignum", rb_int_to_bignum, 1); + rb_define_singleton_method(klass, "positive_pow", positive_pow, 2); +} diff --git a/ext/-test-/integer/depend b/ext/-test-/integer/depend new file mode 100644 index 0000000000..d0589b5e5d --- /dev/null +++ b/ext/-test-/integer/depend @@ -0,0 +1,496 @@ +# AUTOGENERATED DEPENDENCIES START +core_ext.o: $(RUBY_EXTCONF_H) +core_ext.o: $(arch_hdrdir)/ruby/config.h +core_ext.o: $(hdrdir)/ruby/assert.h +core_ext.o: $(hdrdir)/ruby/backward.h +core_ext.o: $(hdrdir)/ruby/backward/2/assume.h +core_ext.o: $(hdrdir)/ruby/backward/2/attributes.h +core_ext.o: $(hdrdir)/ruby/backward/2/bool.h +core_ext.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +core_ext.o: $(hdrdir)/ruby/backward/2/inttypes.h +core_ext.o: $(hdrdir)/ruby/backward/2/limits.h +core_ext.o: $(hdrdir)/ruby/backward/2/long_long.h +core_ext.o: $(hdrdir)/ruby/backward/2/stdalign.h +core_ext.o: $(hdrdir)/ruby/backward/2/stdarg.h +core_ext.o: $(hdrdir)/ruby/defines.h +core_ext.o: $(hdrdir)/ruby/intern.h +core_ext.o: $(hdrdir)/ruby/internal/abi.h +core_ext.o: $(hdrdir)/ruby/internal/anyargs.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/char.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/double.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/int.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/long.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/short.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +core_ext.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +core_ext.o: $(hdrdir)/ruby/internal/assume.h +core_ext.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +core_ext.o: $(hdrdir)/ruby/internal/attr/artificial.h +core_ext.o: $(hdrdir)/ruby/internal/attr/cold.h +core_ext.o: $(hdrdir)/ruby/internal/attr/const.h +core_ext.o: $(hdrdir)/ruby/internal/attr/constexpr.h +core_ext.o: $(hdrdir)/ruby/internal/attr/deprecated.h +core_ext.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +core_ext.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +core_ext.o: $(hdrdir)/ruby/internal/attr/error.h +core_ext.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +core_ext.o: $(hdrdir)/ruby/internal/attr/forceinline.h +core_ext.o: $(hdrdir)/ruby/internal/attr/format.h +core_ext.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +core_ext.o: $(hdrdir)/ruby/internal/attr/noalias.h +core_ext.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +core_ext.o: $(hdrdir)/ruby/internal/attr/noexcept.h +core_ext.o: $(hdrdir)/ruby/internal/attr/noinline.h +core_ext.o: $(hdrdir)/ruby/internal/attr/nonnull.h +core_ext.o: $(hdrdir)/ruby/internal/attr/noreturn.h +core_ext.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +core_ext.o: $(hdrdir)/ruby/internal/attr/pure.h +core_ext.o: $(hdrdir)/ruby/internal/attr/restrict.h +core_ext.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +core_ext.o: $(hdrdir)/ruby/internal/attr/warning.h +core_ext.o: $(hdrdir)/ruby/internal/attr/weakref.h +core_ext.o: $(hdrdir)/ruby/internal/cast.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +core_ext.o: $(hdrdir)/ruby/internal/compiler_since.h +core_ext.o: $(hdrdir)/ruby/internal/config.h +core_ext.o: $(hdrdir)/ruby/internal/constant_p.h +core_ext.o: $(hdrdir)/ruby/internal/core.h +core_ext.o: $(hdrdir)/ruby/internal/core/rarray.h +core_ext.o: $(hdrdir)/ruby/internal/core/rbasic.h +core_ext.o: $(hdrdir)/ruby/internal/core/rbignum.h +core_ext.o: $(hdrdir)/ruby/internal/core/rclass.h +core_ext.o: $(hdrdir)/ruby/internal/core/rdata.h +core_ext.o: $(hdrdir)/ruby/internal/core/rfile.h +core_ext.o: $(hdrdir)/ruby/internal/core/rhash.h +core_ext.o: $(hdrdir)/ruby/internal/core/robject.h +core_ext.o: $(hdrdir)/ruby/internal/core/rregexp.h +core_ext.o: $(hdrdir)/ruby/internal/core/rstring.h +core_ext.o: $(hdrdir)/ruby/internal/core/rstruct.h +core_ext.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +core_ext.o: $(hdrdir)/ruby/internal/ctype.h +core_ext.o: $(hdrdir)/ruby/internal/dllexport.h +core_ext.o: $(hdrdir)/ruby/internal/dosish.h +core_ext.o: $(hdrdir)/ruby/internal/error.h +core_ext.o: $(hdrdir)/ruby/internal/eval.h +core_ext.o: $(hdrdir)/ruby/internal/event.h +core_ext.o: $(hdrdir)/ruby/internal/fl_type.h +core_ext.o: $(hdrdir)/ruby/internal/gc.h +core_ext.o: $(hdrdir)/ruby/internal/glob.h +core_ext.o: $(hdrdir)/ruby/internal/globals.h +core_ext.o: $(hdrdir)/ruby/internal/has/attribute.h +core_ext.o: $(hdrdir)/ruby/internal/has/builtin.h +core_ext.o: $(hdrdir)/ruby/internal/has/c_attribute.h +core_ext.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +core_ext.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +core_ext.o: $(hdrdir)/ruby/internal/has/extension.h +core_ext.o: $(hdrdir)/ruby/internal/has/feature.h +core_ext.o: $(hdrdir)/ruby/internal/has/warning.h +core_ext.o: $(hdrdir)/ruby/internal/intern/array.h +core_ext.o: $(hdrdir)/ruby/internal/intern/bignum.h +core_ext.o: $(hdrdir)/ruby/internal/intern/class.h +core_ext.o: $(hdrdir)/ruby/internal/intern/compar.h +core_ext.o: $(hdrdir)/ruby/internal/intern/complex.h +core_ext.o: $(hdrdir)/ruby/internal/intern/cont.h +core_ext.o: $(hdrdir)/ruby/internal/intern/dir.h +core_ext.o: $(hdrdir)/ruby/internal/intern/enum.h +core_ext.o: $(hdrdir)/ruby/internal/intern/enumerator.h +core_ext.o: $(hdrdir)/ruby/internal/intern/error.h +core_ext.o: $(hdrdir)/ruby/internal/intern/eval.h +core_ext.o: $(hdrdir)/ruby/internal/intern/file.h +core_ext.o: $(hdrdir)/ruby/internal/intern/hash.h +core_ext.o: $(hdrdir)/ruby/internal/intern/io.h +core_ext.o: $(hdrdir)/ruby/internal/intern/load.h +core_ext.o: $(hdrdir)/ruby/internal/intern/marshal.h +core_ext.o: $(hdrdir)/ruby/internal/intern/numeric.h +core_ext.o: $(hdrdir)/ruby/internal/intern/object.h +core_ext.o: $(hdrdir)/ruby/internal/intern/parse.h +core_ext.o: $(hdrdir)/ruby/internal/intern/proc.h +core_ext.o: $(hdrdir)/ruby/internal/intern/process.h +core_ext.o: $(hdrdir)/ruby/internal/intern/random.h +core_ext.o: $(hdrdir)/ruby/internal/intern/range.h +core_ext.o: $(hdrdir)/ruby/internal/intern/rational.h +core_ext.o: $(hdrdir)/ruby/internal/intern/re.h +core_ext.o: $(hdrdir)/ruby/internal/intern/ruby.h +core_ext.o: $(hdrdir)/ruby/internal/intern/select.h +core_ext.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +core_ext.o: $(hdrdir)/ruby/internal/intern/set.h +core_ext.o: $(hdrdir)/ruby/internal/intern/signal.h +core_ext.o: $(hdrdir)/ruby/internal/intern/sprintf.h +core_ext.o: $(hdrdir)/ruby/internal/intern/string.h +core_ext.o: $(hdrdir)/ruby/internal/intern/struct.h +core_ext.o: $(hdrdir)/ruby/internal/intern/thread.h +core_ext.o: $(hdrdir)/ruby/internal/intern/time.h +core_ext.o: $(hdrdir)/ruby/internal/intern/variable.h +core_ext.o: $(hdrdir)/ruby/internal/intern/vm.h +core_ext.o: $(hdrdir)/ruby/internal/interpreter.h +core_ext.o: $(hdrdir)/ruby/internal/iterator.h +core_ext.o: $(hdrdir)/ruby/internal/memory.h +core_ext.o: $(hdrdir)/ruby/internal/method.h +core_ext.o: $(hdrdir)/ruby/internal/module.h +core_ext.o: $(hdrdir)/ruby/internal/newobj.h +core_ext.o: $(hdrdir)/ruby/internal/scan_args.h +core_ext.o: $(hdrdir)/ruby/internal/special_consts.h +core_ext.o: $(hdrdir)/ruby/internal/static_assert.h +core_ext.o: $(hdrdir)/ruby/internal/stdalign.h +core_ext.o: $(hdrdir)/ruby/internal/stdbool.h +core_ext.o: $(hdrdir)/ruby/internal/stdckdint.h +core_ext.o: $(hdrdir)/ruby/internal/symbol.h +core_ext.o: $(hdrdir)/ruby/internal/value.h +core_ext.o: $(hdrdir)/ruby/internal/value_type.h +core_ext.o: $(hdrdir)/ruby/internal/variable.h +core_ext.o: $(hdrdir)/ruby/internal/warning_push.h +core_ext.o: $(hdrdir)/ruby/internal/xmalloc.h +core_ext.o: $(hdrdir)/ruby/missing.h +core_ext.o: $(hdrdir)/ruby/ruby.h +core_ext.o: $(hdrdir)/ruby/st.h +core_ext.o: $(hdrdir)/ruby/subst.h +core_ext.o: $(top_srcdir)/internal.h +core_ext.o: $(top_srcdir)/internal/basic_operators.h +core_ext.o: $(top_srcdir)/internal/bignum.h +core_ext.o: $(top_srcdir)/internal/bits.h +core_ext.o: $(top_srcdir)/internal/compar.h +core_ext.o: $(top_srcdir)/internal/compilers.h +core_ext.o: $(top_srcdir)/internal/fixnum.h +core_ext.o: $(top_srcdir)/internal/numeric.h +core_ext.o: $(top_srcdir)/internal/serial.h +core_ext.o: $(top_srcdir)/internal/static_assert.h +core_ext.o: $(top_srcdir)/internal/vm.h +core_ext.o: core_ext.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +my_integer.o: $(RUBY_EXTCONF_H) +my_integer.o: $(arch_hdrdir)/ruby/config.h +my_integer.o: $(hdrdir)/ruby.h +my_integer.o: $(hdrdir)/ruby/assert.h +my_integer.o: $(hdrdir)/ruby/backward.h +my_integer.o: $(hdrdir)/ruby/backward/2/assume.h +my_integer.o: $(hdrdir)/ruby/backward/2/attributes.h +my_integer.o: $(hdrdir)/ruby/backward/2/bool.h +my_integer.o: $(hdrdir)/ruby/backward/2/inttypes.h +my_integer.o: $(hdrdir)/ruby/backward/2/limits.h +my_integer.o: $(hdrdir)/ruby/backward/2/long_long.h +my_integer.o: $(hdrdir)/ruby/backward/2/stdalign.h +my_integer.o: $(hdrdir)/ruby/backward/2/stdarg.h +my_integer.o: $(hdrdir)/ruby/defines.h +my_integer.o: $(hdrdir)/ruby/intern.h +my_integer.o: $(hdrdir)/ruby/internal/abi.h +my_integer.o: $(hdrdir)/ruby/internal/anyargs.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/char.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/double.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/int.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/long.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/short.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +my_integer.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +my_integer.o: $(hdrdir)/ruby/internal/assume.h +my_integer.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +my_integer.o: $(hdrdir)/ruby/internal/attr/artificial.h +my_integer.o: $(hdrdir)/ruby/internal/attr/cold.h +my_integer.o: $(hdrdir)/ruby/internal/attr/const.h +my_integer.o: $(hdrdir)/ruby/internal/attr/constexpr.h +my_integer.o: $(hdrdir)/ruby/internal/attr/deprecated.h +my_integer.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +my_integer.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +my_integer.o: $(hdrdir)/ruby/internal/attr/error.h +my_integer.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +my_integer.o: $(hdrdir)/ruby/internal/attr/forceinline.h +my_integer.o: $(hdrdir)/ruby/internal/attr/format.h +my_integer.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +my_integer.o: $(hdrdir)/ruby/internal/attr/noalias.h +my_integer.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +my_integer.o: $(hdrdir)/ruby/internal/attr/noexcept.h +my_integer.o: $(hdrdir)/ruby/internal/attr/noinline.h +my_integer.o: $(hdrdir)/ruby/internal/attr/nonnull.h +my_integer.o: $(hdrdir)/ruby/internal/attr/noreturn.h +my_integer.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +my_integer.o: $(hdrdir)/ruby/internal/attr/pure.h +my_integer.o: $(hdrdir)/ruby/internal/attr/restrict.h +my_integer.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +my_integer.o: $(hdrdir)/ruby/internal/attr/warning.h +my_integer.o: $(hdrdir)/ruby/internal/attr/weakref.h +my_integer.o: $(hdrdir)/ruby/internal/cast.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +my_integer.o: $(hdrdir)/ruby/internal/compiler_since.h +my_integer.o: $(hdrdir)/ruby/internal/config.h +my_integer.o: $(hdrdir)/ruby/internal/constant_p.h +my_integer.o: $(hdrdir)/ruby/internal/core.h +my_integer.o: $(hdrdir)/ruby/internal/core/rarray.h +my_integer.o: $(hdrdir)/ruby/internal/core/rbasic.h +my_integer.o: $(hdrdir)/ruby/internal/core/rbignum.h +my_integer.o: $(hdrdir)/ruby/internal/core/rclass.h +my_integer.o: $(hdrdir)/ruby/internal/core/rdata.h +my_integer.o: $(hdrdir)/ruby/internal/core/rfile.h +my_integer.o: $(hdrdir)/ruby/internal/core/rhash.h +my_integer.o: $(hdrdir)/ruby/internal/core/robject.h +my_integer.o: $(hdrdir)/ruby/internal/core/rregexp.h +my_integer.o: $(hdrdir)/ruby/internal/core/rstring.h +my_integer.o: $(hdrdir)/ruby/internal/core/rstruct.h +my_integer.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +my_integer.o: $(hdrdir)/ruby/internal/ctype.h +my_integer.o: $(hdrdir)/ruby/internal/dllexport.h +my_integer.o: $(hdrdir)/ruby/internal/dosish.h +my_integer.o: $(hdrdir)/ruby/internal/error.h +my_integer.o: $(hdrdir)/ruby/internal/eval.h +my_integer.o: $(hdrdir)/ruby/internal/event.h +my_integer.o: $(hdrdir)/ruby/internal/fl_type.h +my_integer.o: $(hdrdir)/ruby/internal/gc.h +my_integer.o: $(hdrdir)/ruby/internal/glob.h +my_integer.o: $(hdrdir)/ruby/internal/globals.h +my_integer.o: $(hdrdir)/ruby/internal/has/attribute.h +my_integer.o: $(hdrdir)/ruby/internal/has/builtin.h +my_integer.o: $(hdrdir)/ruby/internal/has/c_attribute.h +my_integer.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +my_integer.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +my_integer.o: $(hdrdir)/ruby/internal/has/extension.h +my_integer.o: $(hdrdir)/ruby/internal/has/feature.h +my_integer.o: $(hdrdir)/ruby/internal/has/warning.h +my_integer.o: $(hdrdir)/ruby/internal/intern/array.h +my_integer.o: $(hdrdir)/ruby/internal/intern/bignum.h +my_integer.o: $(hdrdir)/ruby/internal/intern/class.h +my_integer.o: $(hdrdir)/ruby/internal/intern/compar.h +my_integer.o: $(hdrdir)/ruby/internal/intern/complex.h +my_integer.o: $(hdrdir)/ruby/internal/intern/cont.h +my_integer.o: $(hdrdir)/ruby/internal/intern/dir.h +my_integer.o: $(hdrdir)/ruby/internal/intern/enum.h +my_integer.o: $(hdrdir)/ruby/internal/intern/enumerator.h +my_integer.o: $(hdrdir)/ruby/internal/intern/error.h +my_integer.o: $(hdrdir)/ruby/internal/intern/eval.h +my_integer.o: $(hdrdir)/ruby/internal/intern/file.h +my_integer.o: $(hdrdir)/ruby/internal/intern/hash.h +my_integer.o: $(hdrdir)/ruby/internal/intern/io.h +my_integer.o: $(hdrdir)/ruby/internal/intern/load.h +my_integer.o: $(hdrdir)/ruby/internal/intern/marshal.h +my_integer.o: $(hdrdir)/ruby/internal/intern/numeric.h +my_integer.o: $(hdrdir)/ruby/internal/intern/object.h +my_integer.o: $(hdrdir)/ruby/internal/intern/parse.h +my_integer.o: $(hdrdir)/ruby/internal/intern/proc.h +my_integer.o: $(hdrdir)/ruby/internal/intern/process.h +my_integer.o: $(hdrdir)/ruby/internal/intern/random.h +my_integer.o: $(hdrdir)/ruby/internal/intern/range.h +my_integer.o: $(hdrdir)/ruby/internal/intern/rational.h +my_integer.o: $(hdrdir)/ruby/internal/intern/re.h +my_integer.o: $(hdrdir)/ruby/internal/intern/ruby.h +my_integer.o: $(hdrdir)/ruby/internal/intern/select.h +my_integer.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +my_integer.o: $(hdrdir)/ruby/internal/intern/set.h +my_integer.o: $(hdrdir)/ruby/internal/intern/signal.h +my_integer.o: $(hdrdir)/ruby/internal/intern/sprintf.h +my_integer.o: $(hdrdir)/ruby/internal/intern/string.h +my_integer.o: $(hdrdir)/ruby/internal/intern/struct.h +my_integer.o: $(hdrdir)/ruby/internal/intern/thread.h +my_integer.o: $(hdrdir)/ruby/internal/intern/time.h +my_integer.o: $(hdrdir)/ruby/internal/intern/variable.h +my_integer.o: $(hdrdir)/ruby/internal/intern/vm.h +my_integer.o: $(hdrdir)/ruby/internal/interpreter.h +my_integer.o: $(hdrdir)/ruby/internal/iterator.h +my_integer.o: $(hdrdir)/ruby/internal/memory.h +my_integer.o: $(hdrdir)/ruby/internal/method.h +my_integer.o: $(hdrdir)/ruby/internal/module.h +my_integer.o: $(hdrdir)/ruby/internal/newobj.h +my_integer.o: $(hdrdir)/ruby/internal/scan_args.h +my_integer.o: $(hdrdir)/ruby/internal/special_consts.h +my_integer.o: $(hdrdir)/ruby/internal/static_assert.h +my_integer.o: $(hdrdir)/ruby/internal/stdalign.h +my_integer.o: $(hdrdir)/ruby/internal/stdbool.h +my_integer.o: $(hdrdir)/ruby/internal/stdckdint.h +my_integer.o: $(hdrdir)/ruby/internal/symbol.h +my_integer.o: $(hdrdir)/ruby/internal/value.h +my_integer.o: $(hdrdir)/ruby/internal/value_type.h +my_integer.o: $(hdrdir)/ruby/internal/variable.h +my_integer.o: $(hdrdir)/ruby/internal/warning_push.h +my_integer.o: $(hdrdir)/ruby/internal/xmalloc.h +my_integer.o: $(hdrdir)/ruby/missing.h +my_integer.o: $(hdrdir)/ruby/ruby.h +my_integer.o: $(hdrdir)/ruby/st.h +my_integer.o: $(hdrdir)/ruby/subst.h +my_integer.o: my_integer.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/integer/extconf.rb b/ext/-test-/integer/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/integer/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/integer/init.c b/ext/-test-/integer/init.c new file mode 100644 index 0000000000..fc256ea16b --- /dev/null +++ b/ext/-test-/integer/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_integer(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Integer", rb_cObject); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/integer/my_integer.c b/ext/-test-/integer/my_integer.c new file mode 100644 index 0000000000..94f14d2765 --- /dev/null +++ b/ext/-test-/integer/my_integer.c @@ -0,0 +1,20 @@ +#include "ruby.h" + +static const rb_data_type_t my_integer_type = { + "MyInteger", {0}, 0, 0, RUBY_TYPED_FREE_IMMEDIATELY +}; + +static VALUE +my_integer_s_new(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &my_integer_type, 0); +} + +void +Init_my_integer(VALUE klass) +{ + VALUE cMyInteger; + + cMyInteger = rb_define_class_under(klass, "MyInteger", rb_cInteger); + rb_define_singleton_method(cMyInteger, "new", my_integer_s_new, 0); +} diff --git a/ext/-test-/iseq_load/depend b/ext/-test-/iseq_load/depend new file mode 100644 index 0000000000..9361ddb938 --- /dev/null +++ b/ext/-test-/iseq_load/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +iseq_load.o: $(RUBY_EXTCONF_H) +iseq_load.o: $(arch_hdrdir)/ruby/config.h +iseq_load.o: $(hdrdir)/ruby.h +iseq_load.o: $(hdrdir)/ruby/assert.h +iseq_load.o: $(hdrdir)/ruby/backward.h +iseq_load.o: $(hdrdir)/ruby/backward/2/assume.h +iseq_load.o: $(hdrdir)/ruby/backward/2/attributes.h +iseq_load.o: $(hdrdir)/ruby/backward/2/bool.h +iseq_load.o: $(hdrdir)/ruby/backward/2/inttypes.h +iseq_load.o: $(hdrdir)/ruby/backward/2/limits.h +iseq_load.o: $(hdrdir)/ruby/backward/2/long_long.h +iseq_load.o: $(hdrdir)/ruby/backward/2/stdalign.h +iseq_load.o: $(hdrdir)/ruby/backward/2/stdarg.h +iseq_load.o: $(hdrdir)/ruby/defines.h +iseq_load.o: $(hdrdir)/ruby/intern.h +iseq_load.o: $(hdrdir)/ruby/internal/abi.h +iseq_load.o: $(hdrdir)/ruby/internal/anyargs.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/char.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/double.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/int.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/long.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/short.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +iseq_load.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +iseq_load.o: $(hdrdir)/ruby/internal/assume.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/artificial.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/cold.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/const.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/constexpr.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/deprecated.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/error.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/forceinline.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/format.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/noalias.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/noexcept.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/noinline.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/nonnull.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/noreturn.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/pure.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/restrict.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/warning.h +iseq_load.o: $(hdrdir)/ruby/internal/attr/weakref.h +iseq_load.o: $(hdrdir)/ruby/internal/cast.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +iseq_load.o: $(hdrdir)/ruby/internal/compiler_since.h +iseq_load.o: $(hdrdir)/ruby/internal/config.h +iseq_load.o: $(hdrdir)/ruby/internal/constant_p.h +iseq_load.o: $(hdrdir)/ruby/internal/core.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rarray.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rbasic.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rbignum.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rclass.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rdata.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rfile.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rhash.h +iseq_load.o: $(hdrdir)/ruby/internal/core/robject.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rregexp.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rstring.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rstruct.h +iseq_load.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +iseq_load.o: $(hdrdir)/ruby/internal/ctype.h +iseq_load.o: $(hdrdir)/ruby/internal/dllexport.h +iseq_load.o: $(hdrdir)/ruby/internal/dosish.h +iseq_load.o: $(hdrdir)/ruby/internal/error.h +iseq_load.o: $(hdrdir)/ruby/internal/eval.h +iseq_load.o: $(hdrdir)/ruby/internal/event.h +iseq_load.o: $(hdrdir)/ruby/internal/fl_type.h +iseq_load.o: $(hdrdir)/ruby/internal/gc.h +iseq_load.o: $(hdrdir)/ruby/internal/glob.h +iseq_load.o: $(hdrdir)/ruby/internal/globals.h +iseq_load.o: $(hdrdir)/ruby/internal/has/attribute.h +iseq_load.o: $(hdrdir)/ruby/internal/has/builtin.h +iseq_load.o: $(hdrdir)/ruby/internal/has/c_attribute.h +iseq_load.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +iseq_load.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +iseq_load.o: $(hdrdir)/ruby/internal/has/extension.h +iseq_load.o: $(hdrdir)/ruby/internal/has/feature.h +iseq_load.o: $(hdrdir)/ruby/internal/has/warning.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/array.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/bignum.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/class.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/compar.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/complex.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/cont.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/dir.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/enum.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/enumerator.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/error.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/eval.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/file.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/hash.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/io.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/load.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/marshal.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/numeric.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/object.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/parse.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/proc.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/process.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/random.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/range.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/rational.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/re.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/ruby.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/select.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/set.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/signal.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/sprintf.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/string.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/struct.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/thread.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/time.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/variable.h +iseq_load.o: $(hdrdir)/ruby/internal/intern/vm.h +iseq_load.o: $(hdrdir)/ruby/internal/interpreter.h +iseq_load.o: $(hdrdir)/ruby/internal/iterator.h +iseq_load.o: $(hdrdir)/ruby/internal/memory.h +iseq_load.o: $(hdrdir)/ruby/internal/method.h +iseq_load.o: $(hdrdir)/ruby/internal/module.h +iseq_load.o: $(hdrdir)/ruby/internal/newobj.h +iseq_load.o: $(hdrdir)/ruby/internal/scan_args.h +iseq_load.o: $(hdrdir)/ruby/internal/special_consts.h +iseq_load.o: $(hdrdir)/ruby/internal/static_assert.h +iseq_load.o: $(hdrdir)/ruby/internal/stdalign.h +iseq_load.o: $(hdrdir)/ruby/internal/stdbool.h +iseq_load.o: $(hdrdir)/ruby/internal/stdckdint.h +iseq_load.o: $(hdrdir)/ruby/internal/symbol.h +iseq_load.o: $(hdrdir)/ruby/internal/value.h +iseq_load.o: $(hdrdir)/ruby/internal/value_type.h +iseq_load.o: $(hdrdir)/ruby/internal/variable.h +iseq_load.o: $(hdrdir)/ruby/internal/warning_push.h +iseq_load.o: $(hdrdir)/ruby/internal/xmalloc.h +iseq_load.o: $(hdrdir)/ruby/missing.h +iseq_load.o: $(hdrdir)/ruby/ruby.h +iseq_load.o: $(hdrdir)/ruby/st.h +iseq_load.o: $(hdrdir)/ruby/subst.h +iseq_load.o: iseq_load.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/iseq_load/extconf.rb b/ext/-test-/iseq_load/extconf.rb new file mode 100644 index 0000000000..5858870138 --- /dev/null +++ b/ext/-test-/iseq_load/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/iseq_load") diff --git a/ext/-test-/iseq_load/iseq_load.c b/ext/-test-/iseq_load/iseq_load.c new file mode 100644 index 0000000000..b4b9a8aa3d --- /dev/null +++ b/ext/-test-/iseq_load/iseq_load.c @@ -0,0 +1,21 @@ +#include <ruby.h> + +VALUE rb_iseq_load(VALUE data, VALUE parent, VALUE opt); + +static VALUE +iseq_load(int argc, VALUE *argv, VALUE self) +{ + VALUE data, opt = Qnil; + + rb_scan_args(argc, argv, "11", &data, &opt); + + return rb_iseq_load(data, 0, opt); +} + +void +Init_iseq_load(void) +{ + VALUE rb_cISeq = rb_path2class("RubyVM::InstructionSequence"); + + rb_define_singleton_method(rb_cISeq, "iseq_load", iseq_load, -1); +} diff --git a/ext/-test-/iter/break.c b/ext/-test-/iter/break.c new file mode 100644 index 0000000000..4d43c5d0cf --- /dev/null +++ b/ext/-test-/iter/break.c @@ -0,0 +1,25 @@ +#include <ruby.h> + +static VALUE +iter_break(VALUE self) +{ + rb_iter_break(); + + UNREACHABLE_RETURN(Qnil); +} + +static VALUE +iter_break_value(VALUE self, VALUE val) +{ + rb_iter_break_value(val); + + UNREACHABLE_RETURN(Qnil); +} + +void +Init_break(VALUE klass) +{ + VALUE breakable = rb_define_module_under(klass, "Breakable"); + rb_define_module_function(breakable, "iter_break", iter_break, 0); + rb_define_module_function(breakable, "iter_break_value", iter_break_value, 1); +} diff --git a/ext/-test-/iter/depend b/ext/-test-/iter/depend new file mode 100644 index 0000000000..161947382c --- /dev/null +++ b/ext/-test-/iter/depend @@ -0,0 +1,485 @@ +# AUTOGENERATED DEPENDENCIES START +break.o: $(RUBY_EXTCONF_H) +break.o: $(arch_hdrdir)/ruby/config.h +break.o: $(hdrdir)/ruby.h +break.o: $(hdrdir)/ruby/assert.h +break.o: $(hdrdir)/ruby/backward.h +break.o: $(hdrdir)/ruby/backward/2/assume.h +break.o: $(hdrdir)/ruby/backward/2/attributes.h +break.o: $(hdrdir)/ruby/backward/2/bool.h +break.o: $(hdrdir)/ruby/backward/2/inttypes.h +break.o: $(hdrdir)/ruby/backward/2/limits.h +break.o: $(hdrdir)/ruby/backward/2/long_long.h +break.o: $(hdrdir)/ruby/backward/2/stdalign.h +break.o: $(hdrdir)/ruby/backward/2/stdarg.h +break.o: $(hdrdir)/ruby/defines.h +break.o: $(hdrdir)/ruby/intern.h +break.o: $(hdrdir)/ruby/internal/abi.h +break.o: $(hdrdir)/ruby/internal/anyargs.h +break.o: $(hdrdir)/ruby/internal/arithmetic.h +break.o: $(hdrdir)/ruby/internal/arithmetic/char.h +break.o: $(hdrdir)/ruby/internal/arithmetic/double.h +break.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +break.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/int.h +break.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/long.h +break.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +break.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/short.h +break.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +break.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +break.o: $(hdrdir)/ruby/internal/assume.h +break.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +break.o: $(hdrdir)/ruby/internal/attr/artificial.h +break.o: $(hdrdir)/ruby/internal/attr/cold.h +break.o: $(hdrdir)/ruby/internal/attr/const.h +break.o: $(hdrdir)/ruby/internal/attr/constexpr.h +break.o: $(hdrdir)/ruby/internal/attr/deprecated.h +break.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +break.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +break.o: $(hdrdir)/ruby/internal/attr/error.h +break.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +break.o: $(hdrdir)/ruby/internal/attr/forceinline.h +break.o: $(hdrdir)/ruby/internal/attr/format.h +break.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +break.o: $(hdrdir)/ruby/internal/attr/noalias.h +break.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +break.o: $(hdrdir)/ruby/internal/attr/noexcept.h +break.o: $(hdrdir)/ruby/internal/attr/noinline.h +break.o: $(hdrdir)/ruby/internal/attr/nonnull.h +break.o: $(hdrdir)/ruby/internal/attr/noreturn.h +break.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +break.o: $(hdrdir)/ruby/internal/attr/pure.h +break.o: $(hdrdir)/ruby/internal/attr/restrict.h +break.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +break.o: $(hdrdir)/ruby/internal/attr/warning.h +break.o: $(hdrdir)/ruby/internal/attr/weakref.h +break.o: $(hdrdir)/ruby/internal/cast.h +break.o: $(hdrdir)/ruby/internal/compiler_is.h +break.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +break.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +break.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +break.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +break.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +break.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +break.o: $(hdrdir)/ruby/internal/compiler_since.h +break.o: $(hdrdir)/ruby/internal/config.h +break.o: $(hdrdir)/ruby/internal/constant_p.h +break.o: $(hdrdir)/ruby/internal/core.h +break.o: $(hdrdir)/ruby/internal/core/rarray.h +break.o: $(hdrdir)/ruby/internal/core/rbasic.h +break.o: $(hdrdir)/ruby/internal/core/rbignum.h +break.o: $(hdrdir)/ruby/internal/core/rclass.h +break.o: $(hdrdir)/ruby/internal/core/rdata.h +break.o: $(hdrdir)/ruby/internal/core/rfile.h +break.o: $(hdrdir)/ruby/internal/core/rhash.h +break.o: $(hdrdir)/ruby/internal/core/robject.h +break.o: $(hdrdir)/ruby/internal/core/rregexp.h +break.o: $(hdrdir)/ruby/internal/core/rstring.h +break.o: $(hdrdir)/ruby/internal/core/rstruct.h +break.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +break.o: $(hdrdir)/ruby/internal/ctype.h +break.o: $(hdrdir)/ruby/internal/dllexport.h +break.o: $(hdrdir)/ruby/internal/dosish.h +break.o: $(hdrdir)/ruby/internal/error.h +break.o: $(hdrdir)/ruby/internal/eval.h +break.o: $(hdrdir)/ruby/internal/event.h +break.o: $(hdrdir)/ruby/internal/fl_type.h +break.o: $(hdrdir)/ruby/internal/gc.h +break.o: $(hdrdir)/ruby/internal/glob.h +break.o: $(hdrdir)/ruby/internal/globals.h +break.o: $(hdrdir)/ruby/internal/has/attribute.h +break.o: $(hdrdir)/ruby/internal/has/builtin.h +break.o: $(hdrdir)/ruby/internal/has/c_attribute.h +break.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +break.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +break.o: $(hdrdir)/ruby/internal/has/extension.h +break.o: $(hdrdir)/ruby/internal/has/feature.h +break.o: $(hdrdir)/ruby/internal/has/warning.h +break.o: $(hdrdir)/ruby/internal/intern/array.h +break.o: $(hdrdir)/ruby/internal/intern/bignum.h +break.o: $(hdrdir)/ruby/internal/intern/class.h +break.o: $(hdrdir)/ruby/internal/intern/compar.h +break.o: $(hdrdir)/ruby/internal/intern/complex.h +break.o: $(hdrdir)/ruby/internal/intern/cont.h +break.o: $(hdrdir)/ruby/internal/intern/dir.h +break.o: $(hdrdir)/ruby/internal/intern/enum.h +break.o: $(hdrdir)/ruby/internal/intern/enumerator.h +break.o: $(hdrdir)/ruby/internal/intern/error.h +break.o: $(hdrdir)/ruby/internal/intern/eval.h +break.o: $(hdrdir)/ruby/internal/intern/file.h +break.o: $(hdrdir)/ruby/internal/intern/hash.h +break.o: $(hdrdir)/ruby/internal/intern/io.h +break.o: $(hdrdir)/ruby/internal/intern/load.h +break.o: $(hdrdir)/ruby/internal/intern/marshal.h +break.o: $(hdrdir)/ruby/internal/intern/numeric.h +break.o: $(hdrdir)/ruby/internal/intern/object.h +break.o: $(hdrdir)/ruby/internal/intern/parse.h +break.o: $(hdrdir)/ruby/internal/intern/proc.h +break.o: $(hdrdir)/ruby/internal/intern/process.h +break.o: $(hdrdir)/ruby/internal/intern/random.h +break.o: $(hdrdir)/ruby/internal/intern/range.h +break.o: $(hdrdir)/ruby/internal/intern/rational.h +break.o: $(hdrdir)/ruby/internal/intern/re.h +break.o: $(hdrdir)/ruby/internal/intern/ruby.h +break.o: $(hdrdir)/ruby/internal/intern/select.h +break.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +break.o: $(hdrdir)/ruby/internal/intern/set.h +break.o: $(hdrdir)/ruby/internal/intern/signal.h +break.o: $(hdrdir)/ruby/internal/intern/sprintf.h +break.o: $(hdrdir)/ruby/internal/intern/string.h +break.o: $(hdrdir)/ruby/internal/intern/struct.h +break.o: $(hdrdir)/ruby/internal/intern/thread.h +break.o: $(hdrdir)/ruby/internal/intern/time.h +break.o: $(hdrdir)/ruby/internal/intern/variable.h +break.o: $(hdrdir)/ruby/internal/intern/vm.h +break.o: $(hdrdir)/ruby/internal/interpreter.h +break.o: $(hdrdir)/ruby/internal/iterator.h +break.o: $(hdrdir)/ruby/internal/memory.h +break.o: $(hdrdir)/ruby/internal/method.h +break.o: $(hdrdir)/ruby/internal/module.h +break.o: $(hdrdir)/ruby/internal/newobj.h +break.o: $(hdrdir)/ruby/internal/scan_args.h +break.o: $(hdrdir)/ruby/internal/special_consts.h +break.o: $(hdrdir)/ruby/internal/static_assert.h +break.o: $(hdrdir)/ruby/internal/stdalign.h +break.o: $(hdrdir)/ruby/internal/stdbool.h +break.o: $(hdrdir)/ruby/internal/stdckdint.h +break.o: $(hdrdir)/ruby/internal/symbol.h +break.o: $(hdrdir)/ruby/internal/value.h +break.o: $(hdrdir)/ruby/internal/value_type.h +break.o: $(hdrdir)/ruby/internal/variable.h +break.o: $(hdrdir)/ruby/internal/warning_push.h +break.o: $(hdrdir)/ruby/internal/xmalloc.h +break.o: $(hdrdir)/ruby/missing.h +break.o: $(hdrdir)/ruby/ruby.h +break.o: $(hdrdir)/ruby/st.h +break.o: $(hdrdir)/ruby/subst.h +break.o: break.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +yield.o: $(RUBY_EXTCONF_H) +yield.o: $(arch_hdrdir)/ruby/config.h +yield.o: $(hdrdir)/ruby.h +yield.o: $(hdrdir)/ruby/assert.h +yield.o: $(hdrdir)/ruby/backward.h +yield.o: $(hdrdir)/ruby/backward/2/assume.h +yield.o: $(hdrdir)/ruby/backward/2/attributes.h +yield.o: $(hdrdir)/ruby/backward/2/bool.h +yield.o: $(hdrdir)/ruby/backward/2/inttypes.h +yield.o: $(hdrdir)/ruby/backward/2/limits.h +yield.o: $(hdrdir)/ruby/backward/2/long_long.h +yield.o: $(hdrdir)/ruby/backward/2/stdalign.h +yield.o: $(hdrdir)/ruby/backward/2/stdarg.h +yield.o: $(hdrdir)/ruby/defines.h +yield.o: $(hdrdir)/ruby/intern.h +yield.o: $(hdrdir)/ruby/internal/abi.h +yield.o: $(hdrdir)/ruby/internal/anyargs.h +yield.o: $(hdrdir)/ruby/internal/arithmetic.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/char.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/double.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/int.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/long.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/short.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +yield.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +yield.o: $(hdrdir)/ruby/internal/assume.h +yield.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +yield.o: $(hdrdir)/ruby/internal/attr/artificial.h +yield.o: $(hdrdir)/ruby/internal/attr/cold.h +yield.o: $(hdrdir)/ruby/internal/attr/const.h +yield.o: $(hdrdir)/ruby/internal/attr/constexpr.h +yield.o: $(hdrdir)/ruby/internal/attr/deprecated.h +yield.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +yield.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +yield.o: $(hdrdir)/ruby/internal/attr/error.h +yield.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +yield.o: $(hdrdir)/ruby/internal/attr/forceinline.h +yield.o: $(hdrdir)/ruby/internal/attr/format.h +yield.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +yield.o: $(hdrdir)/ruby/internal/attr/noalias.h +yield.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +yield.o: $(hdrdir)/ruby/internal/attr/noexcept.h +yield.o: $(hdrdir)/ruby/internal/attr/noinline.h +yield.o: $(hdrdir)/ruby/internal/attr/nonnull.h +yield.o: $(hdrdir)/ruby/internal/attr/noreturn.h +yield.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +yield.o: $(hdrdir)/ruby/internal/attr/pure.h +yield.o: $(hdrdir)/ruby/internal/attr/restrict.h +yield.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +yield.o: $(hdrdir)/ruby/internal/attr/warning.h +yield.o: $(hdrdir)/ruby/internal/attr/weakref.h +yield.o: $(hdrdir)/ruby/internal/cast.h +yield.o: $(hdrdir)/ruby/internal/compiler_is.h +yield.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +yield.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +yield.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +yield.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +yield.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +yield.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +yield.o: $(hdrdir)/ruby/internal/compiler_since.h +yield.o: $(hdrdir)/ruby/internal/config.h +yield.o: $(hdrdir)/ruby/internal/constant_p.h +yield.o: $(hdrdir)/ruby/internal/core.h +yield.o: $(hdrdir)/ruby/internal/core/rarray.h +yield.o: $(hdrdir)/ruby/internal/core/rbasic.h +yield.o: $(hdrdir)/ruby/internal/core/rbignum.h +yield.o: $(hdrdir)/ruby/internal/core/rclass.h +yield.o: $(hdrdir)/ruby/internal/core/rdata.h +yield.o: $(hdrdir)/ruby/internal/core/rfile.h +yield.o: $(hdrdir)/ruby/internal/core/rhash.h +yield.o: $(hdrdir)/ruby/internal/core/robject.h +yield.o: $(hdrdir)/ruby/internal/core/rregexp.h +yield.o: $(hdrdir)/ruby/internal/core/rstring.h +yield.o: $(hdrdir)/ruby/internal/core/rstruct.h +yield.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +yield.o: $(hdrdir)/ruby/internal/ctype.h +yield.o: $(hdrdir)/ruby/internal/dllexport.h +yield.o: $(hdrdir)/ruby/internal/dosish.h +yield.o: $(hdrdir)/ruby/internal/error.h +yield.o: $(hdrdir)/ruby/internal/eval.h +yield.o: $(hdrdir)/ruby/internal/event.h +yield.o: $(hdrdir)/ruby/internal/fl_type.h +yield.o: $(hdrdir)/ruby/internal/gc.h +yield.o: $(hdrdir)/ruby/internal/glob.h +yield.o: $(hdrdir)/ruby/internal/globals.h +yield.o: $(hdrdir)/ruby/internal/has/attribute.h +yield.o: $(hdrdir)/ruby/internal/has/builtin.h +yield.o: $(hdrdir)/ruby/internal/has/c_attribute.h +yield.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +yield.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +yield.o: $(hdrdir)/ruby/internal/has/extension.h +yield.o: $(hdrdir)/ruby/internal/has/feature.h +yield.o: $(hdrdir)/ruby/internal/has/warning.h +yield.o: $(hdrdir)/ruby/internal/intern/array.h +yield.o: $(hdrdir)/ruby/internal/intern/bignum.h +yield.o: $(hdrdir)/ruby/internal/intern/class.h +yield.o: $(hdrdir)/ruby/internal/intern/compar.h +yield.o: $(hdrdir)/ruby/internal/intern/complex.h +yield.o: $(hdrdir)/ruby/internal/intern/cont.h +yield.o: $(hdrdir)/ruby/internal/intern/dir.h +yield.o: $(hdrdir)/ruby/internal/intern/enum.h +yield.o: $(hdrdir)/ruby/internal/intern/enumerator.h +yield.o: $(hdrdir)/ruby/internal/intern/error.h +yield.o: $(hdrdir)/ruby/internal/intern/eval.h +yield.o: $(hdrdir)/ruby/internal/intern/file.h +yield.o: $(hdrdir)/ruby/internal/intern/hash.h +yield.o: $(hdrdir)/ruby/internal/intern/io.h +yield.o: $(hdrdir)/ruby/internal/intern/load.h +yield.o: $(hdrdir)/ruby/internal/intern/marshal.h +yield.o: $(hdrdir)/ruby/internal/intern/numeric.h +yield.o: $(hdrdir)/ruby/internal/intern/object.h +yield.o: $(hdrdir)/ruby/internal/intern/parse.h +yield.o: $(hdrdir)/ruby/internal/intern/proc.h +yield.o: $(hdrdir)/ruby/internal/intern/process.h +yield.o: $(hdrdir)/ruby/internal/intern/random.h +yield.o: $(hdrdir)/ruby/internal/intern/range.h +yield.o: $(hdrdir)/ruby/internal/intern/rational.h +yield.o: $(hdrdir)/ruby/internal/intern/re.h +yield.o: $(hdrdir)/ruby/internal/intern/ruby.h +yield.o: $(hdrdir)/ruby/internal/intern/select.h +yield.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +yield.o: $(hdrdir)/ruby/internal/intern/set.h +yield.o: $(hdrdir)/ruby/internal/intern/signal.h +yield.o: $(hdrdir)/ruby/internal/intern/sprintf.h +yield.o: $(hdrdir)/ruby/internal/intern/string.h +yield.o: $(hdrdir)/ruby/internal/intern/struct.h +yield.o: $(hdrdir)/ruby/internal/intern/thread.h +yield.o: $(hdrdir)/ruby/internal/intern/time.h +yield.o: $(hdrdir)/ruby/internal/intern/variable.h +yield.o: $(hdrdir)/ruby/internal/intern/vm.h +yield.o: $(hdrdir)/ruby/internal/interpreter.h +yield.o: $(hdrdir)/ruby/internal/iterator.h +yield.o: $(hdrdir)/ruby/internal/memory.h +yield.o: $(hdrdir)/ruby/internal/method.h +yield.o: $(hdrdir)/ruby/internal/module.h +yield.o: $(hdrdir)/ruby/internal/newobj.h +yield.o: $(hdrdir)/ruby/internal/scan_args.h +yield.o: $(hdrdir)/ruby/internal/special_consts.h +yield.o: $(hdrdir)/ruby/internal/static_assert.h +yield.o: $(hdrdir)/ruby/internal/stdalign.h +yield.o: $(hdrdir)/ruby/internal/stdbool.h +yield.o: $(hdrdir)/ruby/internal/stdckdint.h +yield.o: $(hdrdir)/ruby/internal/symbol.h +yield.o: $(hdrdir)/ruby/internal/value.h +yield.o: $(hdrdir)/ruby/internal/value_type.h +yield.o: $(hdrdir)/ruby/internal/variable.h +yield.o: $(hdrdir)/ruby/internal/warning_push.h +yield.o: $(hdrdir)/ruby/internal/xmalloc.h +yield.o: $(hdrdir)/ruby/missing.h +yield.o: $(hdrdir)/ruby/ruby.h +yield.o: $(hdrdir)/ruby/st.h +yield.o: $(hdrdir)/ruby/subst.h +yield.o: yield.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/iter/extconf.rb b/ext/-test-/iter/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/iter/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/iter/init.c b/ext/-test-/iter/init.c new file mode 100644 index 0000000000..a074ec46a9 --- /dev/null +++ b/ext/-test-/iter/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_iter(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "Iter"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/iter/yield.c b/ext/-test-/iter/yield.c new file mode 100644 index 0000000000..0f6f3e87eb --- /dev/null +++ b/ext/-test-/iter/yield.c @@ -0,0 +1,16 @@ +#include <ruby.h> + +static VALUE +yield_block(int argc, VALUE *argv, VALUE self) +{ + rb_check_arity(argc, 1, UNLIMITED_ARGUMENTS); + return rb_block_call_kw(self, rb_to_id(argv[0]), argc-1, argv+1, rb_yield_block, 0, RB_PASS_CALLED_KEYWORDS); +} + +void +Init_yield(VALUE klass) +{ + VALUE yield = rb_define_module_under(klass, "Yield"); + + rb_define_method(yield, "yield_block", yield_block, -1); +} diff --git a/ext/-test-/load/dot.dot/depend b/ext/-test-/load/dot.dot/depend new file mode 100644 index 0000000000..339837d183 --- /dev/null +++ b/ext/-test-/load/dot.dot/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +dot.dot.o: $(RUBY_EXTCONF_H) +dot.dot.o: $(arch_hdrdir)/ruby/config.h +dot.dot.o: $(hdrdir)/ruby.h +dot.dot.o: $(hdrdir)/ruby/assert.h +dot.dot.o: $(hdrdir)/ruby/backward.h +dot.dot.o: $(hdrdir)/ruby/backward/2/assume.h +dot.dot.o: $(hdrdir)/ruby/backward/2/attributes.h +dot.dot.o: $(hdrdir)/ruby/backward/2/bool.h +dot.dot.o: $(hdrdir)/ruby/backward/2/inttypes.h +dot.dot.o: $(hdrdir)/ruby/backward/2/limits.h +dot.dot.o: $(hdrdir)/ruby/backward/2/long_long.h +dot.dot.o: $(hdrdir)/ruby/backward/2/stdalign.h +dot.dot.o: $(hdrdir)/ruby/backward/2/stdarg.h +dot.dot.o: $(hdrdir)/ruby/defines.h +dot.dot.o: $(hdrdir)/ruby/intern.h +dot.dot.o: $(hdrdir)/ruby/internal/abi.h +dot.dot.o: $(hdrdir)/ruby/internal/anyargs.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/char.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/double.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/int.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/long.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/short.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +dot.dot.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +dot.dot.o: $(hdrdir)/ruby/internal/assume.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/artificial.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/cold.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/const.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/constexpr.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/deprecated.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/error.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/forceinline.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/format.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/noalias.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/noexcept.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/noinline.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/nonnull.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/noreturn.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/pure.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/restrict.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/warning.h +dot.dot.o: $(hdrdir)/ruby/internal/attr/weakref.h +dot.dot.o: $(hdrdir)/ruby/internal/cast.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +dot.dot.o: $(hdrdir)/ruby/internal/compiler_since.h +dot.dot.o: $(hdrdir)/ruby/internal/config.h +dot.dot.o: $(hdrdir)/ruby/internal/constant_p.h +dot.dot.o: $(hdrdir)/ruby/internal/core.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rarray.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rbasic.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rbignum.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rclass.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rdata.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rfile.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rhash.h +dot.dot.o: $(hdrdir)/ruby/internal/core/robject.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rregexp.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rstring.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rstruct.h +dot.dot.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +dot.dot.o: $(hdrdir)/ruby/internal/ctype.h +dot.dot.o: $(hdrdir)/ruby/internal/dllexport.h +dot.dot.o: $(hdrdir)/ruby/internal/dosish.h +dot.dot.o: $(hdrdir)/ruby/internal/error.h +dot.dot.o: $(hdrdir)/ruby/internal/eval.h +dot.dot.o: $(hdrdir)/ruby/internal/event.h +dot.dot.o: $(hdrdir)/ruby/internal/fl_type.h +dot.dot.o: $(hdrdir)/ruby/internal/gc.h +dot.dot.o: $(hdrdir)/ruby/internal/glob.h +dot.dot.o: $(hdrdir)/ruby/internal/globals.h +dot.dot.o: $(hdrdir)/ruby/internal/has/attribute.h +dot.dot.o: $(hdrdir)/ruby/internal/has/builtin.h +dot.dot.o: $(hdrdir)/ruby/internal/has/c_attribute.h +dot.dot.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +dot.dot.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +dot.dot.o: $(hdrdir)/ruby/internal/has/extension.h +dot.dot.o: $(hdrdir)/ruby/internal/has/feature.h +dot.dot.o: $(hdrdir)/ruby/internal/has/warning.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/array.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/bignum.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/class.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/compar.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/complex.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/cont.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/dir.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/enum.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/enumerator.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/error.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/eval.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/file.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/hash.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/io.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/load.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/marshal.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/numeric.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/object.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/parse.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/proc.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/process.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/random.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/range.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/rational.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/re.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/ruby.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/select.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/set.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/signal.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/sprintf.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/string.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/struct.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/thread.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/time.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/variable.h +dot.dot.o: $(hdrdir)/ruby/internal/intern/vm.h +dot.dot.o: $(hdrdir)/ruby/internal/interpreter.h +dot.dot.o: $(hdrdir)/ruby/internal/iterator.h +dot.dot.o: $(hdrdir)/ruby/internal/memory.h +dot.dot.o: $(hdrdir)/ruby/internal/method.h +dot.dot.o: $(hdrdir)/ruby/internal/module.h +dot.dot.o: $(hdrdir)/ruby/internal/newobj.h +dot.dot.o: $(hdrdir)/ruby/internal/scan_args.h +dot.dot.o: $(hdrdir)/ruby/internal/special_consts.h +dot.dot.o: $(hdrdir)/ruby/internal/static_assert.h +dot.dot.o: $(hdrdir)/ruby/internal/stdalign.h +dot.dot.o: $(hdrdir)/ruby/internal/stdbool.h +dot.dot.o: $(hdrdir)/ruby/internal/stdckdint.h +dot.dot.o: $(hdrdir)/ruby/internal/symbol.h +dot.dot.o: $(hdrdir)/ruby/internal/value.h +dot.dot.o: $(hdrdir)/ruby/internal/value_type.h +dot.dot.o: $(hdrdir)/ruby/internal/variable.h +dot.dot.o: $(hdrdir)/ruby/internal/warning_push.h +dot.dot.o: $(hdrdir)/ruby/internal/xmalloc.h +dot.dot.o: $(hdrdir)/ruby/missing.h +dot.dot.o: $(hdrdir)/ruby/ruby.h +dot.dot.o: $(hdrdir)/ruby/st.h +dot.dot.o: $(hdrdir)/ruby/subst.h +dot.dot.o: dot.dot.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/load/dot.dot/dot.dot.c b/ext/-test-/load/dot.dot/dot.dot.c new file mode 100644 index 0000000000..ce7563bf8d --- /dev/null +++ b/ext/-test-/load/dot.dot/dot.dot.c @@ -0,0 +1,3 @@ +#include "ruby.h" + +void Init_dot(void) {} diff --git a/ext/-test-/load/dot.dot/extconf.rb b/ext/-test-/load/dot.dot/extconf.rb new file mode 100644 index 0000000000..13ebb1ffb4 --- /dev/null +++ b/ext/-test-/load/dot.dot/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/load/dot.dot") diff --git a/ext/-test-/load/protect/depend b/ext/-test-/load/protect/depend new file mode 100644 index 0000000000..c76c6f88ed --- /dev/null +++ b/ext/-test-/load/protect/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +protect.o: $(RUBY_EXTCONF_H) +protect.o: $(arch_hdrdir)/ruby/config.h +protect.o: $(hdrdir)/ruby.h +protect.o: $(hdrdir)/ruby/assert.h +protect.o: $(hdrdir)/ruby/backward.h +protect.o: $(hdrdir)/ruby/backward/2/assume.h +protect.o: $(hdrdir)/ruby/backward/2/attributes.h +protect.o: $(hdrdir)/ruby/backward/2/bool.h +protect.o: $(hdrdir)/ruby/backward/2/inttypes.h +protect.o: $(hdrdir)/ruby/backward/2/limits.h +protect.o: $(hdrdir)/ruby/backward/2/long_long.h +protect.o: $(hdrdir)/ruby/backward/2/stdalign.h +protect.o: $(hdrdir)/ruby/backward/2/stdarg.h +protect.o: $(hdrdir)/ruby/defines.h +protect.o: $(hdrdir)/ruby/intern.h +protect.o: $(hdrdir)/ruby/internal/abi.h +protect.o: $(hdrdir)/ruby/internal/anyargs.h +protect.o: $(hdrdir)/ruby/internal/arithmetic.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/char.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/double.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/int.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/long.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/short.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +protect.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +protect.o: $(hdrdir)/ruby/internal/assume.h +protect.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +protect.o: $(hdrdir)/ruby/internal/attr/artificial.h +protect.o: $(hdrdir)/ruby/internal/attr/cold.h +protect.o: $(hdrdir)/ruby/internal/attr/const.h +protect.o: $(hdrdir)/ruby/internal/attr/constexpr.h +protect.o: $(hdrdir)/ruby/internal/attr/deprecated.h +protect.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +protect.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +protect.o: $(hdrdir)/ruby/internal/attr/error.h +protect.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +protect.o: $(hdrdir)/ruby/internal/attr/forceinline.h +protect.o: $(hdrdir)/ruby/internal/attr/format.h +protect.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +protect.o: $(hdrdir)/ruby/internal/attr/noalias.h +protect.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +protect.o: $(hdrdir)/ruby/internal/attr/noexcept.h +protect.o: $(hdrdir)/ruby/internal/attr/noinline.h +protect.o: $(hdrdir)/ruby/internal/attr/nonnull.h +protect.o: $(hdrdir)/ruby/internal/attr/noreturn.h +protect.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +protect.o: $(hdrdir)/ruby/internal/attr/pure.h +protect.o: $(hdrdir)/ruby/internal/attr/restrict.h +protect.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +protect.o: $(hdrdir)/ruby/internal/attr/warning.h +protect.o: $(hdrdir)/ruby/internal/attr/weakref.h +protect.o: $(hdrdir)/ruby/internal/cast.h +protect.o: $(hdrdir)/ruby/internal/compiler_is.h +protect.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +protect.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +protect.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +protect.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +protect.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +protect.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +protect.o: $(hdrdir)/ruby/internal/compiler_since.h +protect.o: $(hdrdir)/ruby/internal/config.h +protect.o: $(hdrdir)/ruby/internal/constant_p.h +protect.o: $(hdrdir)/ruby/internal/core.h +protect.o: $(hdrdir)/ruby/internal/core/rarray.h +protect.o: $(hdrdir)/ruby/internal/core/rbasic.h +protect.o: $(hdrdir)/ruby/internal/core/rbignum.h +protect.o: $(hdrdir)/ruby/internal/core/rclass.h +protect.o: $(hdrdir)/ruby/internal/core/rdata.h +protect.o: $(hdrdir)/ruby/internal/core/rfile.h +protect.o: $(hdrdir)/ruby/internal/core/rhash.h +protect.o: $(hdrdir)/ruby/internal/core/robject.h +protect.o: $(hdrdir)/ruby/internal/core/rregexp.h +protect.o: $(hdrdir)/ruby/internal/core/rstring.h +protect.o: $(hdrdir)/ruby/internal/core/rstruct.h +protect.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +protect.o: $(hdrdir)/ruby/internal/ctype.h +protect.o: $(hdrdir)/ruby/internal/dllexport.h +protect.o: $(hdrdir)/ruby/internal/dosish.h +protect.o: $(hdrdir)/ruby/internal/error.h +protect.o: $(hdrdir)/ruby/internal/eval.h +protect.o: $(hdrdir)/ruby/internal/event.h +protect.o: $(hdrdir)/ruby/internal/fl_type.h +protect.o: $(hdrdir)/ruby/internal/gc.h +protect.o: $(hdrdir)/ruby/internal/glob.h +protect.o: $(hdrdir)/ruby/internal/globals.h +protect.o: $(hdrdir)/ruby/internal/has/attribute.h +protect.o: $(hdrdir)/ruby/internal/has/builtin.h +protect.o: $(hdrdir)/ruby/internal/has/c_attribute.h +protect.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +protect.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +protect.o: $(hdrdir)/ruby/internal/has/extension.h +protect.o: $(hdrdir)/ruby/internal/has/feature.h +protect.o: $(hdrdir)/ruby/internal/has/warning.h +protect.o: $(hdrdir)/ruby/internal/intern/array.h +protect.o: $(hdrdir)/ruby/internal/intern/bignum.h +protect.o: $(hdrdir)/ruby/internal/intern/class.h +protect.o: $(hdrdir)/ruby/internal/intern/compar.h +protect.o: $(hdrdir)/ruby/internal/intern/complex.h +protect.o: $(hdrdir)/ruby/internal/intern/cont.h +protect.o: $(hdrdir)/ruby/internal/intern/dir.h +protect.o: $(hdrdir)/ruby/internal/intern/enum.h +protect.o: $(hdrdir)/ruby/internal/intern/enumerator.h +protect.o: $(hdrdir)/ruby/internal/intern/error.h +protect.o: $(hdrdir)/ruby/internal/intern/eval.h +protect.o: $(hdrdir)/ruby/internal/intern/file.h +protect.o: $(hdrdir)/ruby/internal/intern/hash.h +protect.o: $(hdrdir)/ruby/internal/intern/io.h +protect.o: $(hdrdir)/ruby/internal/intern/load.h +protect.o: $(hdrdir)/ruby/internal/intern/marshal.h +protect.o: $(hdrdir)/ruby/internal/intern/numeric.h +protect.o: $(hdrdir)/ruby/internal/intern/object.h +protect.o: $(hdrdir)/ruby/internal/intern/parse.h +protect.o: $(hdrdir)/ruby/internal/intern/proc.h +protect.o: $(hdrdir)/ruby/internal/intern/process.h +protect.o: $(hdrdir)/ruby/internal/intern/random.h +protect.o: $(hdrdir)/ruby/internal/intern/range.h +protect.o: $(hdrdir)/ruby/internal/intern/rational.h +protect.o: $(hdrdir)/ruby/internal/intern/re.h +protect.o: $(hdrdir)/ruby/internal/intern/ruby.h +protect.o: $(hdrdir)/ruby/internal/intern/select.h +protect.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +protect.o: $(hdrdir)/ruby/internal/intern/set.h +protect.o: $(hdrdir)/ruby/internal/intern/signal.h +protect.o: $(hdrdir)/ruby/internal/intern/sprintf.h +protect.o: $(hdrdir)/ruby/internal/intern/string.h +protect.o: $(hdrdir)/ruby/internal/intern/struct.h +protect.o: $(hdrdir)/ruby/internal/intern/thread.h +protect.o: $(hdrdir)/ruby/internal/intern/time.h +protect.o: $(hdrdir)/ruby/internal/intern/variable.h +protect.o: $(hdrdir)/ruby/internal/intern/vm.h +protect.o: $(hdrdir)/ruby/internal/interpreter.h +protect.o: $(hdrdir)/ruby/internal/iterator.h +protect.o: $(hdrdir)/ruby/internal/memory.h +protect.o: $(hdrdir)/ruby/internal/method.h +protect.o: $(hdrdir)/ruby/internal/module.h +protect.o: $(hdrdir)/ruby/internal/newobj.h +protect.o: $(hdrdir)/ruby/internal/scan_args.h +protect.o: $(hdrdir)/ruby/internal/special_consts.h +protect.o: $(hdrdir)/ruby/internal/static_assert.h +protect.o: $(hdrdir)/ruby/internal/stdalign.h +protect.o: $(hdrdir)/ruby/internal/stdbool.h +protect.o: $(hdrdir)/ruby/internal/stdckdint.h +protect.o: $(hdrdir)/ruby/internal/symbol.h +protect.o: $(hdrdir)/ruby/internal/value.h +protect.o: $(hdrdir)/ruby/internal/value_type.h +protect.o: $(hdrdir)/ruby/internal/variable.h +protect.o: $(hdrdir)/ruby/internal/warning_push.h +protect.o: $(hdrdir)/ruby/internal/xmalloc.h +protect.o: $(hdrdir)/ruby/missing.h +protect.o: $(hdrdir)/ruby/ruby.h +protect.o: $(hdrdir)/ruby/st.h +protect.o: $(hdrdir)/ruby/subst.h +protect.o: protect.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/load/protect/extconf.rb b/ext/-test-/load/protect/extconf.rb new file mode 100644 index 0000000000..83c080de9c --- /dev/null +++ b/ext/-test-/load/protect/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/load/protect') diff --git a/ext/-test-/load/protect/protect.c b/ext/-test-/load/protect/protect.c new file mode 100644 index 0000000000..ccfbbb9ea0 --- /dev/null +++ b/ext/-test-/load/protect/protect.c @@ -0,0 +1,19 @@ +#include <ruby.h> + +static VALUE +load_protect(int argc, VALUE *argv, VALUE self) +{ + int state; + VALUE path, wrap; + rb_scan_args(argc, argv, "11", &path, &wrap); + rb_load_protect(path, RTEST(wrap), &state); + if (state) rb_jump_tag(state); + return Qnil; +} + +void +Init_protect(void) +{ + VALUE mod = rb_define_module("Bug"); + rb_define_singleton_method(mod, "load_protect", load_protect, -1); +} diff --git a/ext/-test-/load/resolve_symbol_resolver/depend b/ext/-test-/load/resolve_symbol_resolver/depend new file mode 100644 index 0000000000..f422898b69 --- /dev/null +++ b/ext/-test-/load/resolve_symbol_resolver/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +resolve_symbol_resolver.o: $(RUBY_EXTCONF_H) +resolve_symbol_resolver.o: $(arch_hdrdir)/ruby/config.h +resolve_symbol_resolver.o: $(hdrdir)/ruby.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/assert.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/assume.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/attributes.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/bool.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/inttypes.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/limits.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/long_long.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/stdalign.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/backward/2/stdarg.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/defines.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/intern.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/abi.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/anyargs.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/char.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/double.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/int.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/long.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/short.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/assume.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/artificial.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/cold.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/const.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/constexpr.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/deprecated.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/error.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/forceinline.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/format.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/noalias.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/noexcept.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/noinline.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/nonnull.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/noreturn.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/pure.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/restrict.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/warning.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/attr/weakref.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/cast.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/compiler_since.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/config.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/constant_p.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rarray.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rbasic.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rbignum.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rclass.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rdata.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rfile.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rhash.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/robject.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rregexp.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rstring.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rstruct.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/ctype.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/dllexport.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/dosish.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/error.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/eval.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/event.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/fl_type.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/gc.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/glob.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/globals.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/attribute.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/builtin.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/c_attribute.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/extension.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/feature.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/has/warning.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/array.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/bignum.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/class.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/compar.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/complex.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/cont.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/dir.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/enum.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/enumerator.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/error.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/eval.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/file.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/hash.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/io.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/load.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/marshal.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/numeric.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/object.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/parse.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/proc.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/process.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/random.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/range.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/rational.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/re.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/ruby.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/select.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/set.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/signal.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/sprintf.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/string.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/struct.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/thread.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/time.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/variable.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/intern/vm.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/interpreter.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/iterator.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/memory.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/method.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/module.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/newobj.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/scan_args.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/special_consts.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/static_assert.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/stdalign.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/stdbool.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/stdckdint.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/symbol.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/value.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/value_type.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/variable.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/warning_push.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/internal/xmalloc.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/missing.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/ruby.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/st.h +resolve_symbol_resolver.o: $(hdrdir)/ruby/subst.h +resolve_symbol_resolver.o: resolve_symbol_resolver.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/load/resolve_symbol_resolver/extconf.rb b/ext/-test-/load/resolve_symbol_resolver/extconf.rb new file mode 100644 index 0000000000..2299efcfd3 --- /dev/null +++ b/ext/-test-/load/resolve_symbol_resolver/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/load/resolve_symbol_resolver') diff --git a/ext/-test-/load/resolve_symbol_resolver/resolve_symbol_resolver.c b/ext/-test-/load/resolve_symbol_resolver/resolve_symbol_resolver.c new file mode 100644 index 0000000000..6cc07cc1f8 --- /dev/null +++ b/ext/-test-/load/resolve_symbol_resolver/resolve_symbol_resolver.c @@ -0,0 +1,56 @@ +#include <ruby.h> +#include "ruby/internal/intern/load.h" + +typedef VALUE(*target_func)(VALUE); + +static target_func rst_any_method; + +#define resolve_func(file, name) (target_func)(uintptr_t)rb_ext_resolve_symbol(file, name) +VALUE +rsr_any_method(VALUE klass) +{ + return rst_any_method((VALUE)NULL); +} + +VALUE +rsr_try_resolve_fname(VALUE klass) +{ + target_func rst_something_missing = + resolve_func("-test-/load/resolve_symbol_missing", "rst_any_method"); + if (rst_something_missing == NULL) { + // This should be done in Init_*, so the error is LoadError + rb_raise(rb_eLoadError, "symbol not found: missing fname"); + } + return Qtrue; +} + +VALUE +rsr_try_resolve_sname(VALUE klass) +{ + target_func rst_something_missing = + resolve_func("-test-/load/resolve_symbol_target", "rst_something_missing"); + if (rst_something_missing == NULL) { + // This should be done in Init_*, so the error is LoadError + rb_raise(rb_eLoadError, "symbol not found: missing sname"); + } + return Qtrue; +} + +void +Init_resolve_symbol_resolver(void) +{ + /* + * Resolving symbols at the head of Init_ because it raises LoadError (in cases). + * If the module and methods are defined before raising LoadError, retrying `require "this.so"` will + * cause re-defining those methods (and will be warned). + */ + rst_any_method = resolve_func("-test-/load/resolve_symbol_target", "rst_any_method"); + if (rst_any_method == NULL) { + rb_raise(rb_eLoadError, "resolve_symbol_target is not loaded"); + } + + VALUE mod = rb_define_module("ResolveSymbolResolver"); + rb_define_singleton_method(mod, "any_method", rsr_any_method, 0); + rb_define_singleton_method(mod, "try_resolve_fname", rsr_try_resolve_fname, 0); + rb_define_singleton_method(mod, "try_resolve_sname", rsr_try_resolve_sname, 0); +} diff --git a/ext/-test-/load/resolve_symbol_target/depend b/ext/-test-/load/resolve_symbol_target/depend new file mode 100644 index 0000000000..aa0b5327be --- /dev/null +++ b/ext/-test-/load/resolve_symbol_target/depend @@ -0,0 +1,164 @@ +# AUTOGENERATED DEPENDENCIES START +resolve_symbol_target.o: $(RUBY_EXTCONF_H) +resolve_symbol_target.o: $(arch_hdrdir)/ruby/config.h +resolve_symbol_target.o: $(hdrdir)/ruby.h +resolve_symbol_target.o: $(hdrdir)/ruby/assert.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/assume.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/attributes.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/bool.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/inttypes.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/limits.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/long_long.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/stdalign.h +resolve_symbol_target.o: $(hdrdir)/ruby/backward/2/stdarg.h +resolve_symbol_target.o: $(hdrdir)/ruby/defines.h +resolve_symbol_target.o: $(hdrdir)/ruby/intern.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/abi.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/anyargs.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/char.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/double.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/int.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/long.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/short.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/assume.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/artificial.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/cold.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/const.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/constexpr.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/deprecated.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/error.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/forceinline.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/format.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/noalias.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/noexcept.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/noinline.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/nonnull.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/noreturn.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/pure.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/restrict.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/warning.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/attr/weakref.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/cast.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/compiler_since.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/config.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/constant_p.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rarray.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rbasic.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rbignum.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rclass.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rdata.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rfile.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rhash.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/robject.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rregexp.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rstring.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rstruct.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/ctype.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/dllexport.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/dosish.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/error.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/eval.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/event.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/fl_type.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/gc.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/glob.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/globals.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/attribute.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/builtin.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/c_attribute.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/extension.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/feature.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/has/warning.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/array.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/bignum.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/class.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/compar.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/complex.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/cont.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/dir.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/enum.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/enumerator.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/error.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/eval.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/file.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/hash.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/io.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/load.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/marshal.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/numeric.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/object.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/parse.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/proc.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/process.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/random.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/range.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/rational.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/re.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/ruby.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/select.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/set.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/signal.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/sprintf.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/string.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/struct.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/thread.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/time.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/variable.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/intern/vm.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/interpreter.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/iterator.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/memory.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/method.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/module.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/newobj.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/scan_args.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/special_consts.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/static_assert.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/stdalign.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/stdbool.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/stdckdint.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/symbol.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/value.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/value_type.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/variable.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/warning_push.h +resolve_symbol_target.o: $(hdrdir)/ruby/internal/xmalloc.h +resolve_symbol_target.o: $(hdrdir)/ruby/missing.h +resolve_symbol_target.o: $(hdrdir)/ruby/ruby.h +resolve_symbol_target.o: $(hdrdir)/ruby/st.h +resolve_symbol_target.o: $(hdrdir)/ruby/subst.h +resolve_symbol_target.o: resolve_symbol_target.c +resolve_symbol_target.o: resolve_symbol_target.h +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/load/resolve_symbol_target/extconf.rb b/ext/-test-/load/resolve_symbol_target/extconf.rb new file mode 100644 index 0000000000..b5a99ca7f1 --- /dev/null +++ b/ext/-test-/load/resolve_symbol_target/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/load/resolve_symbol_target') diff --git a/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c b/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c new file mode 100644 index 0000000000..b5bc9e8ee0 --- /dev/null +++ b/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c @@ -0,0 +1,15 @@ +#include <ruby.h> +#include "resolve_symbol_target.h" + +VALUE +rst_any_method(VALUE klass) +{ + return rb_str_new_cstr("from target"); +} + +void +Init_resolve_symbol_target(void) +{ + VALUE mod = rb_define_module("ResolveSymbolTarget"); + rb_define_singleton_method(mod, "any_method", rst_any_method, 0); +} diff --git a/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.h b/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.h new file mode 100644 index 0000000000..847dcb7dd3 --- /dev/null +++ b/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.h @@ -0,0 +1,4 @@ +#include <ruby.h> +#include "ruby/internal/dllexport.h" + +RUBY_FUNC_EXPORTED VALUE rst_any_method(VALUE); diff --git a/ext/-test-/load/stringify_symbols/depend b/ext/-test-/load/stringify_symbols/depend new file mode 100644 index 0000000000..2d4d79a7b7 --- /dev/null +++ b/ext/-test-/load/stringify_symbols/depend @@ -0,0 +1,164 @@ +# AUTOGENERATED DEPENDENCIES START +stringify_symbols.o: $(RUBY_EXTCONF_H) +stringify_symbols.o: $(arch_hdrdir)/ruby/config.h +stringify_symbols.o: $(hdrdir)/ruby.h +stringify_symbols.o: $(hdrdir)/ruby/assert.h +stringify_symbols.o: $(hdrdir)/ruby/backward.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/assume.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/attributes.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/bool.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/inttypes.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/limits.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/long_long.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/stdalign.h +stringify_symbols.o: $(hdrdir)/ruby/backward/2/stdarg.h +stringify_symbols.o: $(hdrdir)/ruby/defines.h +stringify_symbols.o: $(hdrdir)/ruby/intern.h +stringify_symbols.o: $(hdrdir)/ruby/internal/abi.h +stringify_symbols.o: $(hdrdir)/ruby/internal/anyargs.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/char.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/double.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/int.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/long.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/short.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +stringify_symbols.o: $(hdrdir)/ruby/internal/assume.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/artificial.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/cold.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/const.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/constexpr.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/deprecated.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/error.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/forceinline.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/format.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/noalias.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/noexcept.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/noinline.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/nonnull.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/noreturn.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/pure.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/restrict.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/warning.h +stringify_symbols.o: $(hdrdir)/ruby/internal/attr/weakref.h +stringify_symbols.o: $(hdrdir)/ruby/internal/cast.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +stringify_symbols.o: $(hdrdir)/ruby/internal/compiler_since.h +stringify_symbols.o: $(hdrdir)/ruby/internal/config.h +stringify_symbols.o: $(hdrdir)/ruby/internal/constant_p.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rarray.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rbasic.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rbignum.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rclass.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rdata.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rfile.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rhash.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/robject.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rregexp.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rstring.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rstruct.h +stringify_symbols.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +stringify_symbols.o: $(hdrdir)/ruby/internal/ctype.h +stringify_symbols.o: $(hdrdir)/ruby/internal/dllexport.h +stringify_symbols.o: $(hdrdir)/ruby/internal/dosish.h +stringify_symbols.o: $(hdrdir)/ruby/internal/error.h +stringify_symbols.o: $(hdrdir)/ruby/internal/eval.h +stringify_symbols.o: $(hdrdir)/ruby/internal/event.h +stringify_symbols.o: $(hdrdir)/ruby/internal/fl_type.h +stringify_symbols.o: $(hdrdir)/ruby/internal/gc.h +stringify_symbols.o: $(hdrdir)/ruby/internal/glob.h +stringify_symbols.o: $(hdrdir)/ruby/internal/globals.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/attribute.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/builtin.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/c_attribute.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/extension.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/feature.h +stringify_symbols.o: $(hdrdir)/ruby/internal/has/warning.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/array.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/bignum.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/class.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/compar.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/complex.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/cont.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/dir.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/enum.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/enumerator.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/error.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/eval.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/file.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/hash.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/io.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/load.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/marshal.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/numeric.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/object.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/parse.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/proc.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/process.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/random.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/range.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/rational.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/re.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/ruby.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/select.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/set.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/signal.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/sprintf.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/string.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/struct.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/thread.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/time.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/variable.h +stringify_symbols.o: $(hdrdir)/ruby/internal/intern/vm.h +stringify_symbols.o: $(hdrdir)/ruby/internal/interpreter.h +stringify_symbols.o: $(hdrdir)/ruby/internal/iterator.h +stringify_symbols.o: $(hdrdir)/ruby/internal/memory.h +stringify_symbols.o: $(hdrdir)/ruby/internal/method.h +stringify_symbols.o: $(hdrdir)/ruby/internal/module.h +stringify_symbols.o: $(hdrdir)/ruby/internal/newobj.h +stringify_symbols.o: $(hdrdir)/ruby/internal/scan_args.h +stringify_symbols.o: $(hdrdir)/ruby/internal/special_consts.h +stringify_symbols.o: $(hdrdir)/ruby/internal/static_assert.h +stringify_symbols.o: $(hdrdir)/ruby/internal/stdalign.h +stringify_symbols.o: $(hdrdir)/ruby/internal/stdbool.h +stringify_symbols.o: $(hdrdir)/ruby/internal/stdckdint.h +stringify_symbols.o: $(hdrdir)/ruby/internal/symbol.h +stringify_symbols.o: $(hdrdir)/ruby/internal/value.h +stringify_symbols.o: $(hdrdir)/ruby/internal/value_type.h +stringify_symbols.o: $(hdrdir)/ruby/internal/variable.h +stringify_symbols.o: $(hdrdir)/ruby/internal/warning_push.h +stringify_symbols.o: $(hdrdir)/ruby/internal/xmalloc.h +stringify_symbols.o: $(hdrdir)/ruby/missing.h +stringify_symbols.o: $(hdrdir)/ruby/ruby.h +stringify_symbols.o: $(hdrdir)/ruby/st.h +stringify_symbols.o: $(hdrdir)/ruby/subst.h +stringify_symbols.o: $(hdrdir)/ruby/util.h +stringify_symbols.o: stringify_symbols.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/load/stringify_symbols/extconf.rb b/ext/-test-/load/stringify_symbols/extconf.rb new file mode 100644 index 0000000000..ac39c15f09 --- /dev/null +++ b/ext/-test-/load/stringify_symbols/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/load/stringify_symbols') diff --git a/ext/-test-/load/stringify_symbols/stringify_symbols.c b/ext/-test-/load/stringify_symbols/stringify_symbols.c new file mode 100644 index 0000000000..11a5ee3bc5 --- /dev/null +++ b/ext/-test-/load/stringify_symbols/stringify_symbols.c @@ -0,0 +1,29 @@ +#include <ruby.h> +#include "ruby/internal/intern/load.h" +#include "ruby/util.h" + +#if SIZEOF_INTPTR_T == SIZEOF_LONG_LONG +# define UINTPTR2NUM ULL2NUM +#elif SIZEOF_INTPTR_T == SIZEOF_LONG +# define UINTPTR2NUM ULONG2NUM +#else +# define UINTPTR2NUM UINT2NUM +#endif + +static VALUE +stringify_symbol(VALUE klass, VALUE fname, VALUE sname) +{ + void *ptr = rb_ext_resolve_symbol(StringValueCStr(fname), StringValueCStr(sname)); + if (ptr == NULL) { + return Qnil; + } + uintptr_t uintptr = (uintptr_t)ptr; + return UINTPTR2NUM(uintptr); +} + +void +Init_stringify_symbols(void) +{ + VALUE mod = rb_define_module("StringifySymbols"); + rb_define_singleton_method(mod, "stringify_symbol", stringify_symbol, 2); +} diff --git a/ext/-test-/load/stringify_target/depend b/ext/-test-/load/stringify_target/depend new file mode 100644 index 0000000000..c66575d4e4 --- /dev/null +++ b/ext/-test-/load/stringify_target/depend @@ -0,0 +1,164 @@ +# AUTOGENERATED DEPENDENCIES START +stringify_target.o: $(RUBY_EXTCONF_H) +stringify_target.o: $(arch_hdrdir)/ruby/config.h +stringify_target.o: $(hdrdir)/ruby.h +stringify_target.o: $(hdrdir)/ruby/assert.h +stringify_target.o: $(hdrdir)/ruby/backward.h +stringify_target.o: $(hdrdir)/ruby/backward/2/assume.h +stringify_target.o: $(hdrdir)/ruby/backward/2/attributes.h +stringify_target.o: $(hdrdir)/ruby/backward/2/bool.h +stringify_target.o: $(hdrdir)/ruby/backward/2/inttypes.h +stringify_target.o: $(hdrdir)/ruby/backward/2/limits.h +stringify_target.o: $(hdrdir)/ruby/backward/2/long_long.h +stringify_target.o: $(hdrdir)/ruby/backward/2/stdalign.h +stringify_target.o: $(hdrdir)/ruby/backward/2/stdarg.h +stringify_target.o: $(hdrdir)/ruby/defines.h +stringify_target.o: $(hdrdir)/ruby/intern.h +stringify_target.o: $(hdrdir)/ruby/internal/abi.h +stringify_target.o: $(hdrdir)/ruby/internal/anyargs.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/char.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/double.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/int.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/long.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/short.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +stringify_target.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +stringify_target.o: $(hdrdir)/ruby/internal/assume.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/artificial.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/cold.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/const.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/constexpr.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/deprecated.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/error.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/forceinline.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/format.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/noalias.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/noexcept.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/noinline.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/nonnull.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/noreturn.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/pure.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/restrict.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/warning.h +stringify_target.o: $(hdrdir)/ruby/internal/attr/weakref.h +stringify_target.o: $(hdrdir)/ruby/internal/cast.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +stringify_target.o: $(hdrdir)/ruby/internal/compiler_since.h +stringify_target.o: $(hdrdir)/ruby/internal/config.h +stringify_target.o: $(hdrdir)/ruby/internal/constant_p.h +stringify_target.o: $(hdrdir)/ruby/internal/core.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rarray.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rbasic.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rbignum.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rclass.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rdata.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rfile.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rhash.h +stringify_target.o: $(hdrdir)/ruby/internal/core/robject.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rregexp.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rstring.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rstruct.h +stringify_target.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +stringify_target.o: $(hdrdir)/ruby/internal/ctype.h +stringify_target.o: $(hdrdir)/ruby/internal/dllexport.h +stringify_target.o: $(hdrdir)/ruby/internal/dosish.h +stringify_target.o: $(hdrdir)/ruby/internal/error.h +stringify_target.o: $(hdrdir)/ruby/internal/eval.h +stringify_target.o: $(hdrdir)/ruby/internal/event.h +stringify_target.o: $(hdrdir)/ruby/internal/fl_type.h +stringify_target.o: $(hdrdir)/ruby/internal/gc.h +stringify_target.o: $(hdrdir)/ruby/internal/glob.h +stringify_target.o: $(hdrdir)/ruby/internal/globals.h +stringify_target.o: $(hdrdir)/ruby/internal/has/attribute.h +stringify_target.o: $(hdrdir)/ruby/internal/has/builtin.h +stringify_target.o: $(hdrdir)/ruby/internal/has/c_attribute.h +stringify_target.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +stringify_target.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +stringify_target.o: $(hdrdir)/ruby/internal/has/extension.h +stringify_target.o: $(hdrdir)/ruby/internal/has/feature.h +stringify_target.o: $(hdrdir)/ruby/internal/has/warning.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/array.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/bignum.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/class.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/compar.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/complex.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/cont.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/dir.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/enum.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/enumerator.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/error.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/eval.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/file.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/hash.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/io.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/load.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/marshal.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/numeric.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/object.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/parse.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/proc.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/process.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/random.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/range.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/rational.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/re.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/ruby.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/select.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/set.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/signal.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/sprintf.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/string.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/struct.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/thread.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/time.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/variable.h +stringify_target.o: $(hdrdir)/ruby/internal/intern/vm.h +stringify_target.o: $(hdrdir)/ruby/internal/interpreter.h +stringify_target.o: $(hdrdir)/ruby/internal/iterator.h +stringify_target.o: $(hdrdir)/ruby/internal/memory.h +stringify_target.o: $(hdrdir)/ruby/internal/method.h +stringify_target.o: $(hdrdir)/ruby/internal/module.h +stringify_target.o: $(hdrdir)/ruby/internal/newobj.h +stringify_target.o: $(hdrdir)/ruby/internal/scan_args.h +stringify_target.o: $(hdrdir)/ruby/internal/special_consts.h +stringify_target.o: $(hdrdir)/ruby/internal/static_assert.h +stringify_target.o: $(hdrdir)/ruby/internal/stdalign.h +stringify_target.o: $(hdrdir)/ruby/internal/stdbool.h +stringify_target.o: $(hdrdir)/ruby/internal/stdckdint.h +stringify_target.o: $(hdrdir)/ruby/internal/symbol.h +stringify_target.o: $(hdrdir)/ruby/internal/value.h +stringify_target.o: $(hdrdir)/ruby/internal/value_type.h +stringify_target.o: $(hdrdir)/ruby/internal/variable.h +stringify_target.o: $(hdrdir)/ruby/internal/warning_push.h +stringify_target.o: $(hdrdir)/ruby/internal/xmalloc.h +stringify_target.o: $(hdrdir)/ruby/missing.h +stringify_target.o: $(hdrdir)/ruby/ruby.h +stringify_target.o: $(hdrdir)/ruby/st.h +stringify_target.o: $(hdrdir)/ruby/subst.h +stringify_target.o: stringify_target.c +stringify_target.o: stringify_target.h +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/load/stringify_target/extconf.rb b/ext/-test-/load/stringify_target/extconf.rb new file mode 100644 index 0000000000..4aa201cb09 --- /dev/null +++ b/ext/-test-/load/stringify_target/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/load/stringify_target') diff --git a/ext/-test-/load/stringify_target/stringify_target.c b/ext/-test-/load/stringify_target/stringify_target.c new file mode 100644 index 0000000000..ce09b8fd77 --- /dev/null +++ b/ext/-test-/load/stringify_target/stringify_target.c @@ -0,0 +1,15 @@ +#include <ruby.h> +#include "stringify_target.h" + +VALUE +stt_any_method(VALUE klass) +{ + return rb_str_new_cstr("from target"); +} + +void +Init_stringify_target(void) +{ + VALUE mod = rb_define_module("StringifyTarget"); + rb_define_singleton_method(mod, "any_method", stt_any_method, 0); +} diff --git a/ext/-test-/load/stringify_target/stringify_target.h b/ext/-test-/load/stringify_target/stringify_target.h new file mode 100644 index 0000000000..d95fb65d7c --- /dev/null +++ b/ext/-test-/load/stringify_target/stringify_target.h @@ -0,0 +1,4 @@ +#include <ruby.h> +#include "ruby/internal/dllexport.h" + +RUBY_FUNC_EXPORTED VALUE stt_any_method(VALUE); diff --git a/ext/-test-/marshal/compat/depend b/ext/-test-/marshal/compat/depend new file mode 100644 index 0000000000..36b9235c23 --- /dev/null +++ b/ext/-test-/marshal/compat/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +usrcompat.o: $(RUBY_EXTCONF_H) +usrcompat.o: $(arch_hdrdir)/ruby/config.h +usrcompat.o: $(hdrdir)/ruby.h +usrcompat.o: $(hdrdir)/ruby/assert.h +usrcompat.o: $(hdrdir)/ruby/backward.h +usrcompat.o: $(hdrdir)/ruby/backward/2/assume.h +usrcompat.o: $(hdrdir)/ruby/backward/2/attributes.h +usrcompat.o: $(hdrdir)/ruby/backward/2/bool.h +usrcompat.o: $(hdrdir)/ruby/backward/2/inttypes.h +usrcompat.o: $(hdrdir)/ruby/backward/2/limits.h +usrcompat.o: $(hdrdir)/ruby/backward/2/long_long.h +usrcompat.o: $(hdrdir)/ruby/backward/2/stdalign.h +usrcompat.o: $(hdrdir)/ruby/backward/2/stdarg.h +usrcompat.o: $(hdrdir)/ruby/defines.h +usrcompat.o: $(hdrdir)/ruby/intern.h +usrcompat.o: $(hdrdir)/ruby/internal/abi.h +usrcompat.o: $(hdrdir)/ruby/internal/anyargs.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/char.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/double.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/int.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/long.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/short.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +usrcompat.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +usrcompat.o: $(hdrdir)/ruby/internal/assume.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/artificial.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/cold.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/const.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/constexpr.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/deprecated.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/error.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/forceinline.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/format.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/noalias.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/noexcept.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/noinline.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/nonnull.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/noreturn.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/pure.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/restrict.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/warning.h +usrcompat.o: $(hdrdir)/ruby/internal/attr/weakref.h +usrcompat.o: $(hdrdir)/ruby/internal/cast.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +usrcompat.o: $(hdrdir)/ruby/internal/compiler_since.h +usrcompat.o: $(hdrdir)/ruby/internal/config.h +usrcompat.o: $(hdrdir)/ruby/internal/constant_p.h +usrcompat.o: $(hdrdir)/ruby/internal/core.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rarray.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rbasic.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rbignum.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rclass.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rdata.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rfile.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rhash.h +usrcompat.o: $(hdrdir)/ruby/internal/core/robject.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rregexp.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rstring.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rstruct.h +usrcompat.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +usrcompat.o: $(hdrdir)/ruby/internal/ctype.h +usrcompat.o: $(hdrdir)/ruby/internal/dllexport.h +usrcompat.o: $(hdrdir)/ruby/internal/dosish.h +usrcompat.o: $(hdrdir)/ruby/internal/error.h +usrcompat.o: $(hdrdir)/ruby/internal/eval.h +usrcompat.o: $(hdrdir)/ruby/internal/event.h +usrcompat.o: $(hdrdir)/ruby/internal/fl_type.h +usrcompat.o: $(hdrdir)/ruby/internal/gc.h +usrcompat.o: $(hdrdir)/ruby/internal/glob.h +usrcompat.o: $(hdrdir)/ruby/internal/globals.h +usrcompat.o: $(hdrdir)/ruby/internal/has/attribute.h +usrcompat.o: $(hdrdir)/ruby/internal/has/builtin.h +usrcompat.o: $(hdrdir)/ruby/internal/has/c_attribute.h +usrcompat.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +usrcompat.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +usrcompat.o: $(hdrdir)/ruby/internal/has/extension.h +usrcompat.o: $(hdrdir)/ruby/internal/has/feature.h +usrcompat.o: $(hdrdir)/ruby/internal/has/warning.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/array.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/bignum.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/class.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/compar.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/complex.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/cont.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/dir.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/enum.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/enumerator.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/error.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/eval.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/file.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/hash.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/io.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/load.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/marshal.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/numeric.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/object.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/parse.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/proc.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/process.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/random.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/range.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/rational.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/re.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/ruby.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/select.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/set.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/signal.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/sprintf.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/string.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/struct.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/thread.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/time.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/variable.h +usrcompat.o: $(hdrdir)/ruby/internal/intern/vm.h +usrcompat.o: $(hdrdir)/ruby/internal/interpreter.h +usrcompat.o: $(hdrdir)/ruby/internal/iterator.h +usrcompat.o: $(hdrdir)/ruby/internal/memory.h +usrcompat.o: $(hdrdir)/ruby/internal/method.h +usrcompat.o: $(hdrdir)/ruby/internal/module.h +usrcompat.o: $(hdrdir)/ruby/internal/newobj.h +usrcompat.o: $(hdrdir)/ruby/internal/scan_args.h +usrcompat.o: $(hdrdir)/ruby/internal/special_consts.h +usrcompat.o: $(hdrdir)/ruby/internal/static_assert.h +usrcompat.o: $(hdrdir)/ruby/internal/stdalign.h +usrcompat.o: $(hdrdir)/ruby/internal/stdbool.h +usrcompat.o: $(hdrdir)/ruby/internal/stdckdint.h +usrcompat.o: $(hdrdir)/ruby/internal/symbol.h +usrcompat.o: $(hdrdir)/ruby/internal/value.h +usrcompat.o: $(hdrdir)/ruby/internal/value_type.h +usrcompat.o: $(hdrdir)/ruby/internal/variable.h +usrcompat.o: $(hdrdir)/ruby/internal/warning_push.h +usrcompat.o: $(hdrdir)/ruby/internal/xmalloc.h +usrcompat.o: $(hdrdir)/ruby/missing.h +usrcompat.o: $(hdrdir)/ruby/ruby.h +usrcompat.o: $(hdrdir)/ruby/st.h +usrcompat.o: $(hdrdir)/ruby/subst.h +usrcompat.o: usrcompat.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/marshal/compat/extconf.rb b/ext/-test-/marshal/compat/extconf.rb new file mode 100644 index 0000000000..9bf44b473a --- /dev/null +++ b/ext/-test-/marshal/compat/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/marshal/compat") diff --git a/ext/-test-/marshal/compat/usrcompat.c b/ext/-test-/marshal/compat/usrcompat.c new file mode 100644 index 0000000000..f812df5631 --- /dev/null +++ b/ext/-test-/marshal/compat/usrcompat.c @@ -0,0 +1,32 @@ +#include <ruby.h> + +static VALUE +usr_dumper(VALUE self) +{ + return self; +} + +static VALUE +usr_loader(VALUE self, VALUE m) +{ + VALUE val = rb_ivar_get(m, rb_intern("@value")); + *(int *)DATA_PTR(self) = NUM2INT(val); + return self; +} + +static VALUE +compat_mload(VALUE self, VALUE data) +{ + rb_ivar_set(self, rb_intern("@value"), data); + return self; +} + +void +Init_compat(void) +{ + VALUE newclass = rb_path2class("Bug::Marshal::UsrMarshal"); + VALUE oldclass = rb_define_class_under(newclass, "compat", rb_cObject); + + rb_define_method(oldclass, "marshal_load", compat_mload, 1); + rb_marshal_define_compat(newclass, oldclass, usr_dumper, usr_loader); +} diff --git a/ext/-test-/marshal/internal_ivar/depend b/ext/-test-/marshal/internal_ivar/depend new file mode 100644 index 0000000000..a2e093d809 --- /dev/null +++ b/ext/-test-/marshal/internal_ivar/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +internal_ivar.o: $(RUBY_EXTCONF_H) +internal_ivar.o: $(arch_hdrdir)/ruby/config.h +internal_ivar.o: $(hdrdir)/ruby.h +internal_ivar.o: $(hdrdir)/ruby/assert.h +internal_ivar.o: $(hdrdir)/ruby/backward.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/assume.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/attributes.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/bool.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/inttypes.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/limits.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/long_long.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/stdalign.h +internal_ivar.o: $(hdrdir)/ruby/backward/2/stdarg.h +internal_ivar.o: $(hdrdir)/ruby/defines.h +internal_ivar.o: $(hdrdir)/ruby/intern.h +internal_ivar.o: $(hdrdir)/ruby/internal/abi.h +internal_ivar.o: $(hdrdir)/ruby/internal/anyargs.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/char.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/double.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/int.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/long.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/short.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +internal_ivar.o: $(hdrdir)/ruby/internal/assume.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/artificial.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/cold.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/const.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/constexpr.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/deprecated.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/error.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/forceinline.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/format.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/noalias.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/noexcept.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/noinline.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/nonnull.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/noreturn.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/pure.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/restrict.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/warning.h +internal_ivar.o: $(hdrdir)/ruby/internal/attr/weakref.h +internal_ivar.o: $(hdrdir)/ruby/internal/cast.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +internal_ivar.o: $(hdrdir)/ruby/internal/compiler_since.h +internal_ivar.o: $(hdrdir)/ruby/internal/config.h +internal_ivar.o: $(hdrdir)/ruby/internal/constant_p.h +internal_ivar.o: $(hdrdir)/ruby/internal/core.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rarray.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rbasic.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rbignum.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rclass.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rdata.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rfile.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rhash.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/robject.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rregexp.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rstring.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rstruct.h +internal_ivar.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +internal_ivar.o: $(hdrdir)/ruby/internal/ctype.h +internal_ivar.o: $(hdrdir)/ruby/internal/dllexport.h +internal_ivar.o: $(hdrdir)/ruby/internal/dosish.h +internal_ivar.o: $(hdrdir)/ruby/internal/error.h +internal_ivar.o: $(hdrdir)/ruby/internal/eval.h +internal_ivar.o: $(hdrdir)/ruby/internal/event.h +internal_ivar.o: $(hdrdir)/ruby/internal/fl_type.h +internal_ivar.o: $(hdrdir)/ruby/internal/gc.h +internal_ivar.o: $(hdrdir)/ruby/internal/glob.h +internal_ivar.o: $(hdrdir)/ruby/internal/globals.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/attribute.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/builtin.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/c_attribute.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/extension.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/feature.h +internal_ivar.o: $(hdrdir)/ruby/internal/has/warning.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/array.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/bignum.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/class.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/compar.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/complex.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/cont.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/dir.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/enum.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/enumerator.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/error.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/eval.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/file.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/hash.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/io.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/load.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/marshal.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/numeric.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/object.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/parse.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/proc.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/process.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/random.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/range.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/rational.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/re.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/ruby.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/select.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/set.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/signal.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/sprintf.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/string.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/struct.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/thread.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/time.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/variable.h +internal_ivar.o: $(hdrdir)/ruby/internal/intern/vm.h +internal_ivar.o: $(hdrdir)/ruby/internal/interpreter.h +internal_ivar.o: $(hdrdir)/ruby/internal/iterator.h +internal_ivar.o: $(hdrdir)/ruby/internal/memory.h +internal_ivar.o: $(hdrdir)/ruby/internal/method.h +internal_ivar.o: $(hdrdir)/ruby/internal/module.h +internal_ivar.o: $(hdrdir)/ruby/internal/newobj.h +internal_ivar.o: $(hdrdir)/ruby/internal/scan_args.h +internal_ivar.o: $(hdrdir)/ruby/internal/special_consts.h +internal_ivar.o: $(hdrdir)/ruby/internal/static_assert.h +internal_ivar.o: $(hdrdir)/ruby/internal/stdalign.h +internal_ivar.o: $(hdrdir)/ruby/internal/stdbool.h +internal_ivar.o: $(hdrdir)/ruby/internal/stdckdint.h +internal_ivar.o: $(hdrdir)/ruby/internal/symbol.h +internal_ivar.o: $(hdrdir)/ruby/internal/value.h +internal_ivar.o: $(hdrdir)/ruby/internal/value_type.h +internal_ivar.o: $(hdrdir)/ruby/internal/variable.h +internal_ivar.o: $(hdrdir)/ruby/internal/warning_push.h +internal_ivar.o: $(hdrdir)/ruby/internal/xmalloc.h +internal_ivar.o: $(hdrdir)/ruby/missing.h +internal_ivar.o: $(hdrdir)/ruby/ruby.h +internal_ivar.o: $(hdrdir)/ruby/st.h +internal_ivar.o: $(hdrdir)/ruby/subst.h +internal_ivar.o: internal_ivar.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/marshal/internal_ivar/extconf.rb b/ext/-test-/marshal/internal_ivar/extconf.rb new file mode 100644 index 0000000000..cb3f825dbd --- /dev/null +++ b/ext/-test-/marshal/internal_ivar/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/marshal/internal_ivar") diff --git a/ext/-test-/marshal/internal_ivar/internal_ivar.c b/ext/-test-/marshal/internal_ivar/internal_ivar.c new file mode 100644 index 0000000000..2e2f9cb235 --- /dev/null +++ b/ext/-test-/marshal/internal_ivar/internal_ivar.c @@ -0,0 +1,54 @@ +#include <ruby.h> + +static ID id_normal_ivar, id_internal_ivar, id_encoding_short, id_encoding_long; + +static VALUE +init(VALUE self, VALUE arg1, VALUE arg2, VALUE arg3, VALUE arg4) +{ + rb_ivar_set(self, id_normal_ivar, arg1); + rb_ivar_set(self, id_internal_ivar, arg2); + rb_ivar_set(self, id_encoding_short, arg3); + rb_ivar_set(self, id_encoding_long, arg4); + return self; +} + +static VALUE +get_normal(VALUE self) +{ + return rb_attr_get(self, id_normal_ivar); +} + +static VALUE +get_internal(VALUE self) +{ + return rb_attr_get(self, id_internal_ivar); +} + +static VALUE +get_encoding_short(VALUE self) +{ + return rb_attr_get(self, id_encoding_short); +} + +static VALUE +get_encoding_long(VALUE self) +{ + return rb_attr_get(self, id_encoding_long); +} + +void +Init_internal_ivar(void) +{ + VALUE mMarshal = rb_define_module_under(rb_define_module("Bug"), "Marshal"); + VALUE newclass = rb_define_class_under(mMarshal, "InternalIVar", rb_cObject); + + id_normal_ivar = rb_intern_const("normal"); + id_internal_ivar = rb_intern_const("K"); + id_encoding_short = rb_intern_const("E"); + id_encoding_long = rb_intern_const("encoding"); + rb_define_method(newclass, "initialize", init, 4); + rb_define_method(newclass, "normal", get_normal, 0); + rb_define_method(newclass, "internal", get_internal, 0); + rb_define_method(newclass, "encoding_short", get_encoding_short, 0); + rb_define_method(newclass, "encoding_long", get_encoding_long, 0); +} diff --git a/ext/-test-/marshal/usr/depend b/ext/-test-/marshal/usr/depend new file mode 100644 index 0000000000..5ffb8c58de --- /dev/null +++ b/ext/-test-/marshal/usr/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +usrmarshal.o: $(RUBY_EXTCONF_H) +usrmarshal.o: $(arch_hdrdir)/ruby/config.h +usrmarshal.o: $(hdrdir)/ruby.h +usrmarshal.o: $(hdrdir)/ruby/assert.h +usrmarshal.o: $(hdrdir)/ruby/backward.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/assume.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/attributes.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/bool.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/inttypes.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/limits.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/long_long.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/stdalign.h +usrmarshal.o: $(hdrdir)/ruby/backward/2/stdarg.h +usrmarshal.o: $(hdrdir)/ruby/defines.h +usrmarshal.o: $(hdrdir)/ruby/intern.h +usrmarshal.o: $(hdrdir)/ruby/internal/abi.h +usrmarshal.o: $(hdrdir)/ruby/internal/anyargs.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/char.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/double.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/int.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/long.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/short.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +usrmarshal.o: $(hdrdir)/ruby/internal/assume.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/artificial.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/cold.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/const.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/constexpr.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/deprecated.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/error.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/forceinline.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/format.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/noalias.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/noexcept.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/noinline.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/nonnull.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/noreturn.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/pure.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/restrict.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/warning.h +usrmarshal.o: $(hdrdir)/ruby/internal/attr/weakref.h +usrmarshal.o: $(hdrdir)/ruby/internal/cast.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +usrmarshal.o: $(hdrdir)/ruby/internal/compiler_since.h +usrmarshal.o: $(hdrdir)/ruby/internal/config.h +usrmarshal.o: $(hdrdir)/ruby/internal/constant_p.h +usrmarshal.o: $(hdrdir)/ruby/internal/core.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rarray.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rbasic.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rbignum.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rclass.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rdata.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rfile.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rhash.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/robject.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rregexp.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rstring.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rstruct.h +usrmarshal.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +usrmarshal.o: $(hdrdir)/ruby/internal/ctype.h +usrmarshal.o: $(hdrdir)/ruby/internal/dllexport.h +usrmarshal.o: $(hdrdir)/ruby/internal/dosish.h +usrmarshal.o: $(hdrdir)/ruby/internal/error.h +usrmarshal.o: $(hdrdir)/ruby/internal/eval.h +usrmarshal.o: $(hdrdir)/ruby/internal/event.h +usrmarshal.o: $(hdrdir)/ruby/internal/fl_type.h +usrmarshal.o: $(hdrdir)/ruby/internal/gc.h +usrmarshal.o: $(hdrdir)/ruby/internal/glob.h +usrmarshal.o: $(hdrdir)/ruby/internal/globals.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/attribute.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/builtin.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/c_attribute.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/extension.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/feature.h +usrmarshal.o: $(hdrdir)/ruby/internal/has/warning.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/array.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/bignum.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/class.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/compar.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/complex.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/cont.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/dir.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/enum.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/enumerator.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/error.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/eval.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/file.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/hash.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/io.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/load.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/marshal.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/numeric.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/object.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/parse.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/proc.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/process.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/random.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/range.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/rational.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/re.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/ruby.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/select.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/set.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/signal.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/sprintf.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/string.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/struct.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/thread.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/time.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/variable.h +usrmarshal.o: $(hdrdir)/ruby/internal/intern/vm.h +usrmarshal.o: $(hdrdir)/ruby/internal/interpreter.h +usrmarshal.o: $(hdrdir)/ruby/internal/iterator.h +usrmarshal.o: $(hdrdir)/ruby/internal/memory.h +usrmarshal.o: $(hdrdir)/ruby/internal/method.h +usrmarshal.o: $(hdrdir)/ruby/internal/module.h +usrmarshal.o: $(hdrdir)/ruby/internal/newobj.h +usrmarshal.o: $(hdrdir)/ruby/internal/scan_args.h +usrmarshal.o: $(hdrdir)/ruby/internal/special_consts.h +usrmarshal.o: $(hdrdir)/ruby/internal/static_assert.h +usrmarshal.o: $(hdrdir)/ruby/internal/stdalign.h +usrmarshal.o: $(hdrdir)/ruby/internal/stdbool.h +usrmarshal.o: $(hdrdir)/ruby/internal/stdckdint.h +usrmarshal.o: $(hdrdir)/ruby/internal/symbol.h +usrmarshal.o: $(hdrdir)/ruby/internal/value.h +usrmarshal.o: $(hdrdir)/ruby/internal/value_type.h +usrmarshal.o: $(hdrdir)/ruby/internal/variable.h +usrmarshal.o: $(hdrdir)/ruby/internal/warning_push.h +usrmarshal.o: $(hdrdir)/ruby/internal/xmalloc.h +usrmarshal.o: $(hdrdir)/ruby/missing.h +usrmarshal.o: $(hdrdir)/ruby/ruby.h +usrmarshal.o: $(hdrdir)/ruby/st.h +usrmarshal.o: $(hdrdir)/ruby/subst.h +usrmarshal.o: usrmarshal.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/marshal/usr/extconf.rb b/ext/-test-/marshal/usr/extconf.rb new file mode 100644 index 0000000000..b7886b9eea --- /dev/null +++ b/ext/-test-/marshal/usr/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/marshal/usr") diff --git a/ext/-test-/marshal/usr/usrmarshal.c b/ext/-test-/marshal/usr/usrmarshal.c new file mode 100644 index 0000000000..0c9e079af2 --- /dev/null +++ b/ext/-test-/marshal/usr/usrmarshal.c @@ -0,0 +1,50 @@ +#include <ruby.h> + +static size_t +usr_size(const void *ptr) +{ + return sizeof(int); +} + +static const rb_data_type_t usrmarshal_type = { + "UsrMarshal", + {0, RUBY_DEFAULT_FREE, usr_size,}, + 0, 0, + RUBY_TYPED_FREE_IMMEDIATELY|RUBY_TYPED_WB_PROTECTED, +}; + +static VALUE +usr_alloc(VALUE klass) +{ + int *p; + return TypedData_Make_Struct(klass, int, &usrmarshal_type, p); +} + +static VALUE +usr_init(VALUE self, VALUE val) +{ + int *ptr = Check_TypedStruct(self, &usrmarshal_type); + *ptr = NUM2INT(val); + return self; +} + +static VALUE +usr_value(VALUE self) +{ + int *ptr = Check_TypedStruct(self, &usrmarshal_type); + int val = *ptr; + return INT2NUM(val); +} + +void +Init_usr(void) +{ + VALUE mMarshal = rb_define_module_under(rb_define_module("Bug"), "Marshal"); + VALUE newclass = rb_define_class_under(mMarshal, "UsrMarshal", rb_cObject); + + rb_define_alloc_func(newclass, usr_alloc); + rb_define_method(newclass, "initialize", usr_init, 1); + rb_define_method(newclass, "value", usr_value, 0); + rb_define_method(newclass, "marshal_load", usr_init, 1); + rb_define_method(newclass, "marshal_dump", usr_value, 0); +} diff --git a/ext/-test-/memory_status/depend b/ext/-test-/memory_status/depend new file mode 100644 index 0000000000..4dd503e1bb --- /dev/null +++ b/ext/-test-/memory_status/depend @@ -0,0 +1,162 @@ +# AUTOGENERATED DEPENDENCIES START +memory_status.o: $(RUBY_EXTCONF_H) +memory_status.o: $(arch_hdrdir)/ruby/config.h +memory_status.o: $(hdrdir)/ruby.h +memory_status.o: $(hdrdir)/ruby/assert.h +memory_status.o: $(hdrdir)/ruby/backward.h +memory_status.o: $(hdrdir)/ruby/backward/2/assume.h +memory_status.o: $(hdrdir)/ruby/backward/2/attributes.h +memory_status.o: $(hdrdir)/ruby/backward/2/bool.h +memory_status.o: $(hdrdir)/ruby/backward/2/inttypes.h +memory_status.o: $(hdrdir)/ruby/backward/2/limits.h +memory_status.o: $(hdrdir)/ruby/backward/2/long_long.h +memory_status.o: $(hdrdir)/ruby/backward/2/stdalign.h +memory_status.o: $(hdrdir)/ruby/backward/2/stdarg.h +memory_status.o: $(hdrdir)/ruby/defines.h +memory_status.o: $(hdrdir)/ruby/intern.h +memory_status.o: $(hdrdir)/ruby/internal/abi.h +memory_status.o: $(hdrdir)/ruby/internal/anyargs.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/char.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/double.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/int.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/long.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/short.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +memory_status.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +memory_status.o: $(hdrdir)/ruby/internal/assume.h +memory_status.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +memory_status.o: $(hdrdir)/ruby/internal/attr/artificial.h +memory_status.o: $(hdrdir)/ruby/internal/attr/cold.h +memory_status.o: $(hdrdir)/ruby/internal/attr/const.h +memory_status.o: $(hdrdir)/ruby/internal/attr/constexpr.h +memory_status.o: $(hdrdir)/ruby/internal/attr/deprecated.h +memory_status.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +memory_status.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +memory_status.o: $(hdrdir)/ruby/internal/attr/error.h +memory_status.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +memory_status.o: $(hdrdir)/ruby/internal/attr/forceinline.h +memory_status.o: $(hdrdir)/ruby/internal/attr/format.h +memory_status.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +memory_status.o: $(hdrdir)/ruby/internal/attr/noalias.h +memory_status.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +memory_status.o: $(hdrdir)/ruby/internal/attr/noexcept.h +memory_status.o: $(hdrdir)/ruby/internal/attr/noinline.h +memory_status.o: $(hdrdir)/ruby/internal/attr/nonnull.h +memory_status.o: $(hdrdir)/ruby/internal/attr/noreturn.h +memory_status.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +memory_status.o: $(hdrdir)/ruby/internal/attr/pure.h +memory_status.o: $(hdrdir)/ruby/internal/attr/restrict.h +memory_status.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +memory_status.o: $(hdrdir)/ruby/internal/attr/warning.h +memory_status.o: $(hdrdir)/ruby/internal/attr/weakref.h +memory_status.o: $(hdrdir)/ruby/internal/cast.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +memory_status.o: $(hdrdir)/ruby/internal/compiler_since.h +memory_status.o: $(hdrdir)/ruby/internal/config.h +memory_status.o: $(hdrdir)/ruby/internal/constant_p.h +memory_status.o: $(hdrdir)/ruby/internal/core.h +memory_status.o: $(hdrdir)/ruby/internal/core/rarray.h +memory_status.o: $(hdrdir)/ruby/internal/core/rbasic.h +memory_status.o: $(hdrdir)/ruby/internal/core/rbignum.h +memory_status.o: $(hdrdir)/ruby/internal/core/rclass.h +memory_status.o: $(hdrdir)/ruby/internal/core/rdata.h +memory_status.o: $(hdrdir)/ruby/internal/core/rfile.h +memory_status.o: $(hdrdir)/ruby/internal/core/rhash.h +memory_status.o: $(hdrdir)/ruby/internal/core/robject.h +memory_status.o: $(hdrdir)/ruby/internal/core/rregexp.h +memory_status.o: $(hdrdir)/ruby/internal/core/rstring.h +memory_status.o: $(hdrdir)/ruby/internal/core/rstruct.h +memory_status.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +memory_status.o: $(hdrdir)/ruby/internal/ctype.h +memory_status.o: $(hdrdir)/ruby/internal/dllexport.h +memory_status.o: $(hdrdir)/ruby/internal/dosish.h +memory_status.o: $(hdrdir)/ruby/internal/error.h +memory_status.o: $(hdrdir)/ruby/internal/eval.h +memory_status.o: $(hdrdir)/ruby/internal/event.h +memory_status.o: $(hdrdir)/ruby/internal/fl_type.h +memory_status.o: $(hdrdir)/ruby/internal/gc.h +memory_status.o: $(hdrdir)/ruby/internal/glob.h +memory_status.o: $(hdrdir)/ruby/internal/globals.h +memory_status.o: $(hdrdir)/ruby/internal/has/attribute.h +memory_status.o: $(hdrdir)/ruby/internal/has/builtin.h +memory_status.o: $(hdrdir)/ruby/internal/has/c_attribute.h +memory_status.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +memory_status.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +memory_status.o: $(hdrdir)/ruby/internal/has/extension.h +memory_status.o: $(hdrdir)/ruby/internal/has/feature.h +memory_status.o: $(hdrdir)/ruby/internal/has/warning.h +memory_status.o: $(hdrdir)/ruby/internal/intern/array.h +memory_status.o: $(hdrdir)/ruby/internal/intern/bignum.h +memory_status.o: $(hdrdir)/ruby/internal/intern/class.h +memory_status.o: $(hdrdir)/ruby/internal/intern/compar.h +memory_status.o: $(hdrdir)/ruby/internal/intern/complex.h +memory_status.o: $(hdrdir)/ruby/internal/intern/cont.h +memory_status.o: $(hdrdir)/ruby/internal/intern/dir.h +memory_status.o: $(hdrdir)/ruby/internal/intern/enum.h +memory_status.o: $(hdrdir)/ruby/internal/intern/enumerator.h +memory_status.o: $(hdrdir)/ruby/internal/intern/error.h +memory_status.o: $(hdrdir)/ruby/internal/intern/eval.h +memory_status.o: $(hdrdir)/ruby/internal/intern/file.h +memory_status.o: $(hdrdir)/ruby/internal/intern/hash.h +memory_status.o: $(hdrdir)/ruby/internal/intern/io.h +memory_status.o: $(hdrdir)/ruby/internal/intern/load.h +memory_status.o: $(hdrdir)/ruby/internal/intern/marshal.h +memory_status.o: $(hdrdir)/ruby/internal/intern/numeric.h +memory_status.o: $(hdrdir)/ruby/internal/intern/object.h +memory_status.o: $(hdrdir)/ruby/internal/intern/parse.h +memory_status.o: $(hdrdir)/ruby/internal/intern/proc.h +memory_status.o: $(hdrdir)/ruby/internal/intern/process.h +memory_status.o: $(hdrdir)/ruby/internal/intern/random.h +memory_status.o: $(hdrdir)/ruby/internal/intern/range.h +memory_status.o: $(hdrdir)/ruby/internal/intern/rational.h +memory_status.o: $(hdrdir)/ruby/internal/intern/re.h +memory_status.o: $(hdrdir)/ruby/internal/intern/ruby.h +memory_status.o: $(hdrdir)/ruby/internal/intern/select.h +memory_status.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +memory_status.o: $(hdrdir)/ruby/internal/intern/signal.h +memory_status.o: $(hdrdir)/ruby/internal/intern/sprintf.h +memory_status.o: $(hdrdir)/ruby/internal/intern/string.h +memory_status.o: $(hdrdir)/ruby/internal/intern/struct.h +memory_status.o: $(hdrdir)/ruby/internal/intern/thread.h +memory_status.o: $(hdrdir)/ruby/internal/intern/time.h +memory_status.o: $(hdrdir)/ruby/internal/intern/variable.h +memory_status.o: $(hdrdir)/ruby/internal/intern/vm.h +memory_status.o: $(hdrdir)/ruby/internal/interpreter.h +memory_status.o: $(hdrdir)/ruby/internal/iterator.h +memory_status.o: $(hdrdir)/ruby/internal/memory.h +memory_status.o: $(hdrdir)/ruby/internal/method.h +memory_status.o: $(hdrdir)/ruby/internal/module.h +memory_status.o: $(hdrdir)/ruby/internal/newobj.h +memory_status.o: $(hdrdir)/ruby/internal/scan_args.h +memory_status.o: $(hdrdir)/ruby/internal/special_consts.h +memory_status.o: $(hdrdir)/ruby/internal/static_assert.h +memory_status.o: $(hdrdir)/ruby/internal/stdalign.h +memory_status.o: $(hdrdir)/ruby/internal/stdbool.h +memory_status.o: $(hdrdir)/ruby/internal/stdckdint.h +memory_status.o: $(hdrdir)/ruby/internal/symbol.h +memory_status.o: $(hdrdir)/ruby/internal/value.h +memory_status.o: $(hdrdir)/ruby/internal/value_type.h +memory_status.o: $(hdrdir)/ruby/internal/variable.h +memory_status.o: $(hdrdir)/ruby/internal/warning_push.h +memory_status.o: $(hdrdir)/ruby/internal/xmalloc.h +memory_status.o: $(hdrdir)/ruby/missing.h +memory_status.o: $(hdrdir)/ruby/ruby.h +memory_status.o: $(hdrdir)/ruby/st.h +memory_status.o: $(hdrdir)/ruby/subst.h +memory_status.o: memory_status.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/memory_status/extconf.rb b/ext/-test-/memory_status/extconf.rb new file mode 100644 index 0000000000..1c1096d8f4 --- /dev/null +++ b/ext/-test-/memory_status/extconf.rb @@ -0,0 +1,12 @@ +case RUBY_PLATFORM +when /darwin/ + ok = true +when /mswin/, /mingw/ + func = "GetProcessMemoryInfo(0, 0, 0)" + hdr = "psapi.h" + ok = have_func(func, hdr) || have_library("psapi", func, hdr) +end + +if ok + create_makefile("-test-/memory_status") +end diff --git a/ext/-test-/memory_status/memory_status.c b/ext/-test-/memory_status/memory_status.c new file mode 100644 index 0000000000..f124c97ca1 --- /dev/null +++ b/ext/-test-/memory_status/memory_status.c @@ -0,0 +1,80 @@ +#include "ruby.h" +#ifdef __APPLE__ +# include <mach/mach.h> +# include <mach/message.h> +# include <mach/kern_return.h> +# include <mach/task_info.h> +#elif defined _WIN32 +# include <psapi.h> +#endif + +static VALUE cMemoryStatus; + +#undef HAVE_RSS +#undef HAVE_PEAK + +static VALUE +read_status(VALUE self) +{ + VALUE size = INT2FIX(0); +#if defined __APPLE__ +# define HAVE_RSS 1 + VALUE rss; + kern_return_t error; +# if defined MACH_TASK_BASIC_INFO + const task_flavor_t flavor = MACH_TASK_BASIC_INFO; + mach_msg_type_number_t out_count = MACH_TASK_BASIC_INFO_COUNT; + mach_task_basic_info_data_t taskinfo; +# else + const task_flavor_t flavor = TASK_BASIC_INFO; + mach_msg_type_number_t out_count = TASK_BASIC_INFO_COUNT; + task_basic_info_data_t taskinfo; +# endif + + taskinfo.virtual_size = 0; + taskinfo.resident_size = 0; + error = task_info(mach_task_self(), flavor, + (task_info_t)&taskinfo, &out_count); + if (error != KERN_SUCCESS) return Qnil; +#ifndef ULL2NUM +/* "long long" does not exist here, use size_t instead. */ +#define ULL2NUM SIZET2NUM +#endif + size = ULL2NUM(taskinfo.virtual_size); + rss = ULL2NUM(taskinfo.resident_size); + rb_struct_aset(self, INT2FIX(1), rss); +#elif defined _WIN32 +# define HAVE_RSS 1 +# define HAVE_PEAK 1 + VALUE rss, peak; + PROCESS_MEMORY_COUNTERS c; + c.cb = sizeof(c); + if (!GetProcessMemoryInfo(GetCurrentProcess(), &c, c.cb)) + return Qnil; + size = SIZET2NUM(c.PagefileUsage); + rss = SIZET2NUM(c.WorkingSetSize); + peak = SIZET2NUM(c.PeakWorkingSetSize); + rb_struct_aset(self, INT2FIX(2), peak); +#endif +#ifdef HAVE_RSS + rb_struct_aset(self, INT2FIX(1), rss); +#endif + rb_struct_aset(self, INT2FIX(0), size); + return self; +} + +void +Init_memory_status(void) +{ + VALUE mMemory = rb_define_module("Memory"); + cMemoryStatus = + rb_struct_define_under(mMemory, "Status", "size", +#ifdef HAVE_RSS + "rss", +#endif +#ifdef HAVE_PEAK + "peak", +#endif + (char *)NULL); + rb_define_method(cMemoryStatus, "_update", read_status, 0); +} diff --git a/ext/-test-/memory_view/depend b/ext/-test-/memory_view/depend new file mode 100644 index 0000000000..a6ffd76f45 --- /dev/null +++ b/ext/-test-/memory_view/depend @@ -0,0 +1,164 @@ +# AUTOGENERATED DEPENDENCIES START +memory_view.o: $(RUBY_EXTCONF_H) +memory_view.o: $(arch_hdrdir)/ruby/config.h +memory_view.o: $(hdrdir)/ruby.h +memory_view.o: $(hdrdir)/ruby/assert.h +memory_view.o: $(hdrdir)/ruby/backward.h +memory_view.o: $(hdrdir)/ruby/backward/2/assume.h +memory_view.o: $(hdrdir)/ruby/backward/2/attributes.h +memory_view.o: $(hdrdir)/ruby/backward/2/bool.h +memory_view.o: $(hdrdir)/ruby/backward/2/inttypes.h +memory_view.o: $(hdrdir)/ruby/backward/2/limits.h +memory_view.o: $(hdrdir)/ruby/backward/2/long_long.h +memory_view.o: $(hdrdir)/ruby/backward/2/stdalign.h +memory_view.o: $(hdrdir)/ruby/backward/2/stdarg.h +memory_view.o: $(hdrdir)/ruby/defines.h +memory_view.o: $(hdrdir)/ruby/intern.h +memory_view.o: $(hdrdir)/ruby/internal/abi.h +memory_view.o: $(hdrdir)/ruby/internal/anyargs.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/char.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/double.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/int.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/long.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/short.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +memory_view.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +memory_view.o: $(hdrdir)/ruby/internal/assume.h +memory_view.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +memory_view.o: $(hdrdir)/ruby/internal/attr/artificial.h +memory_view.o: $(hdrdir)/ruby/internal/attr/cold.h +memory_view.o: $(hdrdir)/ruby/internal/attr/const.h +memory_view.o: $(hdrdir)/ruby/internal/attr/constexpr.h +memory_view.o: $(hdrdir)/ruby/internal/attr/deprecated.h +memory_view.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +memory_view.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +memory_view.o: $(hdrdir)/ruby/internal/attr/error.h +memory_view.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +memory_view.o: $(hdrdir)/ruby/internal/attr/forceinline.h +memory_view.o: $(hdrdir)/ruby/internal/attr/format.h +memory_view.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +memory_view.o: $(hdrdir)/ruby/internal/attr/noalias.h +memory_view.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +memory_view.o: $(hdrdir)/ruby/internal/attr/noexcept.h +memory_view.o: $(hdrdir)/ruby/internal/attr/noinline.h +memory_view.o: $(hdrdir)/ruby/internal/attr/nonnull.h +memory_view.o: $(hdrdir)/ruby/internal/attr/noreturn.h +memory_view.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +memory_view.o: $(hdrdir)/ruby/internal/attr/pure.h +memory_view.o: $(hdrdir)/ruby/internal/attr/restrict.h +memory_view.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +memory_view.o: $(hdrdir)/ruby/internal/attr/warning.h +memory_view.o: $(hdrdir)/ruby/internal/attr/weakref.h +memory_view.o: $(hdrdir)/ruby/internal/cast.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +memory_view.o: $(hdrdir)/ruby/internal/compiler_since.h +memory_view.o: $(hdrdir)/ruby/internal/config.h +memory_view.o: $(hdrdir)/ruby/internal/constant_p.h +memory_view.o: $(hdrdir)/ruby/internal/core.h +memory_view.o: $(hdrdir)/ruby/internal/core/rarray.h +memory_view.o: $(hdrdir)/ruby/internal/core/rbasic.h +memory_view.o: $(hdrdir)/ruby/internal/core/rbignum.h +memory_view.o: $(hdrdir)/ruby/internal/core/rclass.h +memory_view.o: $(hdrdir)/ruby/internal/core/rdata.h +memory_view.o: $(hdrdir)/ruby/internal/core/rfile.h +memory_view.o: $(hdrdir)/ruby/internal/core/rhash.h +memory_view.o: $(hdrdir)/ruby/internal/core/robject.h +memory_view.o: $(hdrdir)/ruby/internal/core/rregexp.h +memory_view.o: $(hdrdir)/ruby/internal/core/rstring.h +memory_view.o: $(hdrdir)/ruby/internal/core/rstruct.h +memory_view.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +memory_view.o: $(hdrdir)/ruby/internal/ctype.h +memory_view.o: $(hdrdir)/ruby/internal/dllexport.h +memory_view.o: $(hdrdir)/ruby/internal/dosish.h +memory_view.o: $(hdrdir)/ruby/internal/error.h +memory_view.o: $(hdrdir)/ruby/internal/eval.h +memory_view.o: $(hdrdir)/ruby/internal/event.h +memory_view.o: $(hdrdir)/ruby/internal/fl_type.h +memory_view.o: $(hdrdir)/ruby/internal/gc.h +memory_view.o: $(hdrdir)/ruby/internal/glob.h +memory_view.o: $(hdrdir)/ruby/internal/globals.h +memory_view.o: $(hdrdir)/ruby/internal/has/attribute.h +memory_view.o: $(hdrdir)/ruby/internal/has/builtin.h +memory_view.o: $(hdrdir)/ruby/internal/has/c_attribute.h +memory_view.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +memory_view.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +memory_view.o: $(hdrdir)/ruby/internal/has/extension.h +memory_view.o: $(hdrdir)/ruby/internal/has/feature.h +memory_view.o: $(hdrdir)/ruby/internal/has/warning.h +memory_view.o: $(hdrdir)/ruby/internal/intern/array.h +memory_view.o: $(hdrdir)/ruby/internal/intern/bignum.h +memory_view.o: $(hdrdir)/ruby/internal/intern/class.h +memory_view.o: $(hdrdir)/ruby/internal/intern/compar.h +memory_view.o: $(hdrdir)/ruby/internal/intern/complex.h +memory_view.o: $(hdrdir)/ruby/internal/intern/cont.h +memory_view.o: $(hdrdir)/ruby/internal/intern/dir.h +memory_view.o: $(hdrdir)/ruby/internal/intern/enum.h +memory_view.o: $(hdrdir)/ruby/internal/intern/enumerator.h +memory_view.o: $(hdrdir)/ruby/internal/intern/error.h +memory_view.o: $(hdrdir)/ruby/internal/intern/eval.h +memory_view.o: $(hdrdir)/ruby/internal/intern/file.h +memory_view.o: $(hdrdir)/ruby/internal/intern/hash.h +memory_view.o: $(hdrdir)/ruby/internal/intern/io.h +memory_view.o: $(hdrdir)/ruby/internal/intern/load.h +memory_view.o: $(hdrdir)/ruby/internal/intern/marshal.h +memory_view.o: $(hdrdir)/ruby/internal/intern/numeric.h +memory_view.o: $(hdrdir)/ruby/internal/intern/object.h +memory_view.o: $(hdrdir)/ruby/internal/intern/parse.h +memory_view.o: $(hdrdir)/ruby/internal/intern/proc.h +memory_view.o: $(hdrdir)/ruby/internal/intern/process.h +memory_view.o: $(hdrdir)/ruby/internal/intern/random.h +memory_view.o: $(hdrdir)/ruby/internal/intern/range.h +memory_view.o: $(hdrdir)/ruby/internal/intern/rational.h +memory_view.o: $(hdrdir)/ruby/internal/intern/re.h +memory_view.o: $(hdrdir)/ruby/internal/intern/ruby.h +memory_view.o: $(hdrdir)/ruby/internal/intern/select.h +memory_view.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +memory_view.o: $(hdrdir)/ruby/internal/intern/set.h +memory_view.o: $(hdrdir)/ruby/internal/intern/signal.h +memory_view.o: $(hdrdir)/ruby/internal/intern/sprintf.h +memory_view.o: $(hdrdir)/ruby/internal/intern/string.h +memory_view.o: $(hdrdir)/ruby/internal/intern/struct.h +memory_view.o: $(hdrdir)/ruby/internal/intern/thread.h +memory_view.o: $(hdrdir)/ruby/internal/intern/time.h +memory_view.o: $(hdrdir)/ruby/internal/intern/variable.h +memory_view.o: $(hdrdir)/ruby/internal/intern/vm.h +memory_view.o: $(hdrdir)/ruby/internal/interpreter.h +memory_view.o: $(hdrdir)/ruby/internal/iterator.h +memory_view.o: $(hdrdir)/ruby/internal/memory.h +memory_view.o: $(hdrdir)/ruby/internal/method.h +memory_view.o: $(hdrdir)/ruby/internal/module.h +memory_view.o: $(hdrdir)/ruby/internal/newobj.h +memory_view.o: $(hdrdir)/ruby/internal/scan_args.h +memory_view.o: $(hdrdir)/ruby/internal/special_consts.h +memory_view.o: $(hdrdir)/ruby/internal/static_assert.h +memory_view.o: $(hdrdir)/ruby/internal/stdalign.h +memory_view.o: $(hdrdir)/ruby/internal/stdbool.h +memory_view.o: $(hdrdir)/ruby/internal/stdckdint.h +memory_view.o: $(hdrdir)/ruby/internal/symbol.h +memory_view.o: $(hdrdir)/ruby/internal/value.h +memory_view.o: $(hdrdir)/ruby/internal/value_type.h +memory_view.o: $(hdrdir)/ruby/internal/variable.h +memory_view.o: $(hdrdir)/ruby/internal/warning_push.h +memory_view.o: $(hdrdir)/ruby/internal/xmalloc.h +memory_view.o: $(hdrdir)/ruby/memory_view.h +memory_view.o: $(hdrdir)/ruby/missing.h +memory_view.o: $(hdrdir)/ruby/ruby.h +memory_view.o: $(hdrdir)/ruby/st.h +memory_view.o: $(hdrdir)/ruby/subst.h +memory_view.o: memory_view.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/memory_view/extconf.rb b/ext/-test-/memory_view/extconf.rb new file mode 100644 index 0000000000..123b80b8d0 --- /dev/null +++ b/ext/-test-/memory_view/extconf.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: false +require "mkmf" + +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/memory_view/memory_view.c b/ext/-test-/memory_view/memory_view.c new file mode 100644 index 0000000000..63f0beb81e --- /dev/null +++ b/ext/-test-/memory_view/memory_view.c @@ -0,0 +1,450 @@ +#include "ruby.h" + +#ifdef HAVE_RUBY_MEMORY_VIEW_H +#include "ruby/memory_view.h" + +#define STRUCT_ALIGNOF(T, result) do { \ + (result) = RUBY_ALIGNOF(T); \ +} while(0) + +static ID id_str; +static VALUE sym_format; +static VALUE sym_native_size_p; +static VALUE sym_offset; +static VALUE sym_size; +static VALUE sym_repeat; +static VALUE sym_obj; +static VALUE sym_byte_size; +static VALUE sym_readonly; +static VALUE sym_format; +static VALUE sym_item_size; +static VALUE sym_ndim; +static VALUE sym_shape; +static VALUE sym_strides; +static VALUE sym_sub_offsets; +static VALUE sym_endianness; +static VALUE sym_little_endian; +static VALUE sym_big_endian; + +static bool +exportable_string_get_memory_view(VALUE obj, rb_memory_view_t *view, int flags) +{ + VALUE str = rb_ivar_get(obj, id_str); + rb_memory_view_init_as_byte_array(view, obj, RSTRING_PTR(str), RSTRING_LEN(str), true); + return true; +} + +static bool +exportable_string_memory_view_available_p(VALUE obj) +{ + VALUE str = rb_ivar_get(obj, id_str); + return !NIL_P(str); +} + +static const rb_memory_view_entry_t exportable_string_memory_view_entry = { + exportable_string_get_memory_view, + NULL, + exportable_string_memory_view_available_p +}; + +static VALUE +memory_view_available_p(VALUE mod, VALUE obj) +{ + return rb_memory_view_available_p(obj) ? Qtrue : Qfalse; +} + +static VALUE +memory_view_register(VALUE mod, VALUE obj) +{ + return rb_memory_view_register(obj, &exportable_string_memory_view_entry) ? Qtrue : Qfalse; +} + +static VALUE +memory_view_item_size_from_format(VALUE mod, VALUE format) +{ + const char *c_str = NULL; + if (!NIL_P(format)) + c_str = StringValueCStr(format); + const char *err = NULL; + ssize_t item_size = rb_memory_view_item_size_from_format(c_str, &err); + if (!err) + return rb_assoc_new(SSIZET2NUM(item_size), Qnil); + else + return rb_assoc_new(SSIZET2NUM(item_size), rb_str_new_cstr(err)); +} + +static VALUE +memory_view_parse_item_format(VALUE mod, VALUE format) +{ + const char *c_str = NULL; + if (!NIL_P(format)) + c_str = StringValueCStr(format); + const char *err = NULL; + + rb_memory_view_item_component_t *members; + size_t n_members; + ssize_t item_size = rb_memory_view_parse_item_format(c_str, &members, &n_members, &err); + + VALUE result = rb_ary_new_capa(3); + rb_ary_push(result, SSIZET2NUM(item_size)); + + if (!err) { + VALUE ary = rb_ary_new_capa((long)n_members); + size_t i; + for (i = 0; i < n_members; ++i) { + VALUE member = rb_hash_new(); + rb_hash_aset(member, sym_format, rb_str_new(&members[i].format, 1)); + rb_hash_aset(member, sym_native_size_p, members[i].native_size_p ? Qtrue : Qfalse); + rb_hash_aset(member, sym_endianness, members[i].little_endian_p ? sym_little_endian : sym_big_endian); + rb_hash_aset(member, sym_offset, SSIZET2NUM(members[i].offset)); + rb_hash_aset(member, sym_size, SSIZET2NUM(members[i].size)); + rb_hash_aset(member, sym_repeat, SSIZET2NUM(members[i].repeat)); + rb_ary_push(ary, member); + } + xfree(members); + rb_ary_push(result, ary); + rb_ary_push(result, Qnil); + } + else { + rb_ary_push(result, Qnil); // members + rb_ary_push(result, rb_str_new_cstr(err)); + } + + return result; +} + +static VALUE +memory_view_get_memory_view_info(VALUE mod, VALUE obj) +{ + rb_memory_view_t view; + + if (!rb_memory_view_get(obj, &view, 0)) { + return Qnil; + } + + VALUE hash = rb_hash_new(); + rb_hash_aset(hash, sym_obj, view.obj); + rb_hash_aset(hash, sym_byte_size, SSIZET2NUM(view.byte_size)); + rb_hash_aset(hash, sym_readonly, view.readonly ? Qtrue : Qfalse); + rb_hash_aset(hash, sym_format, view.format ? rb_str_new_cstr(view.format) : Qnil); + rb_hash_aset(hash, sym_item_size, SSIZET2NUM(view.item_size)); + rb_hash_aset(hash, sym_ndim, SSIZET2NUM(view.ndim)); + + if (view.shape) { + VALUE shape = rb_ary_new_capa(view.ndim); + rb_hash_aset(hash, sym_shape, shape); + } + else { + rb_hash_aset(hash, sym_shape, Qnil); + } + + if (view.strides) { + VALUE strides = rb_ary_new_capa(view.ndim); + rb_hash_aset(hash, sym_strides, strides); + } + else { + rb_hash_aset(hash, sym_strides, Qnil); + } + + if (view.sub_offsets) { + VALUE sub_offsets = rb_ary_new_capa(view.ndim); + rb_hash_aset(hash, sym_sub_offsets, sub_offsets); + } + else { + rb_hash_aset(hash, sym_sub_offsets, Qnil); + } + + rb_memory_view_release(&view); + + return hash; +} + +static VALUE +memory_view_fill_contiguous_strides(VALUE mod, VALUE ndim_v, VALUE item_size_v, VALUE shape_v, VALUE row_major_p) +{ + ssize_t i, ndim = NUM2SSIZET(ndim_v); + + Check_Type(shape_v, T_ARRAY); + ssize_t *shape = ALLOC_N(ssize_t, ndim); + for (i = 0; i < ndim; ++i) { + shape[i] = NUM2SSIZET(RARRAY_AREF(shape_v, i)); + } + + ssize_t *strides = ALLOC_N(ssize_t, ndim); + rb_memory_view_fill_contiguous_strides(ndim, NUM2SSIZET(item_size_v), shape, RTEST(row_major_p), strides); + + VALUE result = rb_ary_new_capa(ndim); + for (i = 0; i < ndim; ++i) { + rb_ary_push(result, SSIZET2NUM(strides[i])); + } + + xfree(strides); + xfree(shape); + + return result; +} + +static VALUE +memory_view_get_ref_count(VALUE obj) +{ + if (rb_memory_view_exported_object_registry == Qundef) { + return Qnil; + } + + st_table *table; + TypedData_Get_Struct(rb_memory_view_exported_object_registry, st_table, + &rb_memory_view_exported_object_registry_data_type, + table); + + st_data_t count; + if (st_lookup(table, (st_data_t)obj, &count)) { + return ULL2NUM(count); + } + + return Qnil; +} + +static VALUE +memory_view_ref_count_while_exporting_i(VALUE obj, long n) +{ + if (n == 0) { + return memory_view_get_ref_count(obj); + } + + rb_memory_view_t view; + if (!rb_memory_view_get(obj, &view, 0)) { + return Qnil; + } + + VALUE ref_count = memory_view_ref_count_while_exporting_i(obj, n-1); + rb_memory_view_release(&view); + + return ref_count; +} + +static VALUE +memory_view_ref_count_while_exporting(VALUE mod, VALUE obj, VALUE n) +{ + Check_Type(n, T_FIXNUM); + return memory_view_ref_count_while_exporting_i(obj, FIX2LONG(n)); +} + +static VALUE +memory_view_extract_item_members(VALUE mod, VALUE str, VALUE format) +{ + StringValue(str); + StringValue(format); + + rb_memory_view_item_component_t *members; + size_t n_members; + const char *err = NULL; + (void)rb_memory_view_parse_item_format(RSTRING_PTR(format), &members, &n_members, &err); + if (err != NULL) { + rb_raise(rb_eArgError, "Unable to parse item format"); + } + + VALUE item = rb_memory_view_extract_item_members(RSTRING_PTR(str), members, n_members); + xfree(members); + + return item; +} + +static VALUE +expstr_initialize(VALUE obj, VALUE s) +{ + if (!NIL_P(s)) { + Check_Type(s, T_STRING); + } + rb_ivar_set(obj, id_str, s); + return Qnil; +} + +static bool +mdview_get_memory_view(VALUE obj, rb_memory_view_t *view, int flags) +{ + VALUE buf_v = rb_ivar_get(obj, id_str); + VALUE format_v = rb_ivar_get(obj, SYM2ID(sym_format)); + VALUE shape_v = rb_ivar_get(obj, SYM2ID(sym_shape)); + VALUE strides_v = rb_ivar_get(obj, SYM2ID(sym_strides)); + + const char *err; + const ssize_t item_size = rb_memory_view_item_size_from_format(RSTRING_PTR(format_v), &err); + if (item_size < 0) { + return false; + } + + ssize_t ndim = RARRAY_LEN(shape_v); + if (!NIL_P(strides_v) && RARRAY_LEN(strides_v) != ndim) { + rb_raise(rb_eArgError, "strides has an invalid dimension"); + } + + ssize_t *shape = ALLOC_N(ssize_t, ndim); + ssize_t *strides = ALLOC_N(ssize_t, ndim); + ssize_t i; + if (!NIL_P(strides_v)) { + for (i = 0; i < ndim; ++i) { + shape[i] = NUM2SSIZET(RARRAY_AREF(shape_v, i)); + strides[i] = NUM2SSIZET(RARRAY_AREF(strides_v, i)); + } + } + else { + for (i = 0; i < ndim; ++i) { + shape[i] = NUM2SSIZET(RARRAY_AREF(shape_v, i)); + } + + i = ndim - 1; + strides[i] = item_size; + for (; i > 0; --i) { + strides[i-1] = strides[i] * shape[i]; + } + } + + rb_memory_view_init_as_byte_array(view, obj, RSTRING_PTR(buf_v), RSTRING_LEN(buf_v), true); + view->format = RSTRING_PTR(format_v); + view->item_size = item_size; + view->ndim = ndim; + view->shape = shape; + view->strides = strides; + view->sub_offsets = NULL; + + return true; +} + +static bool +mdview_release_memory_view(VALUE obj, rb_memory_view_t *view) +{ + xfree((void *)view->shape); + xfree((void *)view->strides); + + return true; +} + +static bool +mdview_memory_view_available_p(VALUE obj) +{ + return true; +} + +static const rb_memory_view_entry_t mdview_memory_view_entry = { + mdview_get_memory_view, + mdview_release_memory_view, + mdview_memory_view_available_p +}; + +static VALUE +mdview_initialize(VALUE obj, VALUE buf, VALUE format, VALUE shape, VALUE strides) +{ + Check_Type(buf, T_STRING); + StringValue(format); + Check_Type(shape, T_ARRAY); + if (!NIL_P(strides)) Check_Type(strides, T_ARRAY); + + rb_ivar_set(obj, id_str, buf); + rb_ivar_set(obj, SYM2ID(sym_format), format); + rb_ivar_set(obj, SYM2ID(sym_shape), shape); + rb_ivar_set(obj, SYM2ID(sym_strides), strides); + return Qnil; +} + +static VALUE +mdview_aref(VALUE obj, VALUE indices_v) +{ + Check_Type(indices_v, T_ARRAY); + + rb_memory_view_t view; + if (!rb_memory_view_get(obj, &view, 0)) { + rb_raise(rb_eRuntimeError, "rb_memory_view_get: failed"); + } + + if (RARRAY_LEN(indices_v) != view.ndim) { + rb_raise(rb_eKeyError, "Indices has an invalid dimension"); + } + + VALUE buf_indices; + ssize_t *indices = ALLOCV_N(ssize_t, buf_indices, view.ndim); + + ssize_t i; + for (i = 0; i < view.ndim; ++i) { + indices[i] = NUM2SSIZET(RARRAY_AREF(indices_v, i)); + } + + VALUE result = rb_memory_view_get_item(&view, indices); + ALLOCV_END(buf_indices); + rb_memory_view_release(&view); + + return result; +} + +#endif /* HAVE_RUBY_MEMORY_VIEW_H */ + +void +Init_memory_view(void) +{ + rb_ext_ractor_safe(true); +#ifdef HAVE_RUBY_MEMORY_VIEW_H + VALUE mMemoryViewTestUtils = rb_define_module("MemoryViewTestUtils"); + + rb_define_module_function(mMemoryViewTestUtils, "available?", memory_view_available_p, 1); + rb_define_module_function(mMemoryViewTestUtils, "register", memory_view_register, 1); + rb_define_module_function(mMemoryViewTestUtils, "item_size_from_format", memory_view_item_size_from_format, 1); + rb_define_module_function(mMemoryViewTestUtils, "parse_item_format", memory_view_parse_item_format, 1); + rb_define_module_function(mMemoryViewTestUtils, "get_memory_view_info", memory_view_get_memory_view_info, 1); + rb_define_module_function(mMemoryViewTestUtils, "fill_contiguous_strides", memory_view_fill_contiguous_strides, 4); + rb_define_module_function(mMemoryViewTestUtils, "ref_count_while_exporting", memory_view_ref_count_while_exporting, 2); + rb_define_module_function(mMemoryViewTestUtils, "extract_item_members", memory_view_extract_item_members, 2); + + VALUE cExportableString = rb_define_class_under(mMemoryViewTestUtils, "ExportableString", rb_cObject); + rb_define_method(cExportableString, "initialize", expstr_initialize, 1); + rb_memory_view_register(cExportableString, &exportable_string_memory_view_entry); + + VALUE cMDView = rb_define_class_under(mMemoryViewTestUtils, "MultiDimensionalView", rb_cObject); + rb_define_method(cMDView, "initialize", mdview_initialize, 4); + rb_define_method(cMDView, "[]", mdview_aref, 1); + rb_memory_view_register(cMDView, &mdview_memory_view_entry); + + id_str = rb_intern_const("__str__"); + sym_format = ID2SYM(rb_intern_const("format")); + sym_native_size_p = ID2SYM(rb_intern_const("native_size_p")); + sym_offset = ID2SYM(rb_intern_const("offset")); + sym_size = ID2SYM(rb_intern_const("size")); + sym_repeat = ID2SYM(rb_intern_const("repeat")); + sym_obj = ID2SYM(rb_intern_const("obj")); + sym_byte_size = ID2SYM(rb_intern_const("byte_size")); + sym_readonly = ID2SYM(rb_intern_const("readonly")); + sym_format = ID2SYM(rb_intern_const("format")); + sym_item_size = ID2SYM(rb_intern_const("item_size")); + sym_ndim = ID2SYM(rb_intern_const("ndim")); + sym_shape = ID2SYM(rb_intern_const("shape")); + sym_strides = ID2SYM(rb_intern_const("strides")); + sym_sub_offsets = ID2SYM(rb_intern_const("sub_offsets")); + sym_endianness = ID2SYM(rb_intern_const("endianness")); + sym_little_endian = ID2SYM(rb_intern_const("little_endian")); + sym_big_endian = ID2SYM(rb_intern_const("big_endian")); + +#ifdef WORDS_BIGENDIAN + rb_const_set(mMemoryViewTestUtils, rb_intern_const("NATIVE_ENDIAN"), sym_big_endian); +#else + rb_const_set(mMemoryViewTestUtils, rb_intern_const("NATIVE_ENDIAN"), sym_little_endian); +#endif + +#define DEF_ALIGNMENT_CONST(type, TYPE) do { \ + int alignment; \ + STRUCT_ALIGNOF(type, alignment); \ + rb_const_set(mMemoryViewTestUtils, rb_intern_const(#TYPE "_ALIGNMENT"), INT2FIX(alignment)); \ +} while(0) + + DEF_ALIGNMENT_CONST(short, SHORT); + DEF_ALIGNMENT_CONST(int, INT); + DEF_ALIGNMENT_CONST(long, LONG); + DEF_ALIGNMENT_CONST(LONG_LONG, LONG_LONG); + DEF_ALIGNMENT_CONST(int16_t, INT16); + DEF_ALIGNMENT_CONST(int32_t, INT32); + DEF_ALIGNMENT_CONST(int64_t, INT64); + DEF_ALIGNMENT_CONST(intptr_t, INTPTR); + DEF_ALIGNMENT_CONST(float, FLOAT); + DEF_ALIGNMENT_CONST(double, DOUBLE); + +#undef DEF_ALIGNMENT_CONST + +#endif /* HAVE_RUBY_MEMORY_VIEW_H */ +} diff --git a/ext/-test-/method/arity.c b/ext/-test-/method/arity.c new file mode 100644 index 0000000000..239b9f7f10 --- /dev/null +++ b/ext/-test-/method/arity.c @@ -0,0 +1,22 @@ +#include "ruby.h" + +static VALUE +obj_method_arity(VALUE self, VALUE obj, VALUE mid) +{ + int arity = rb_obj_method_arity(obj, rb_check_id(&mid)); + return INT2FIX(arity); +} + +static VALUE +mod_method_arity(VALUE self, VALUE mod, VALUE mid) +{ + int arity = rb_mod_method_arity(mod, rb_check_id(&mid)); + return INT2FIX(arity); +} + +void +Init_arity(VALUE mod) +{ + rb_define_module_function(mod, "obj_method_arity", obj_method_arity, 2); + rb_define_module_function(mod, "mod_method_arity", mod_method_arity, 2); +} diff --git a/ext/-test-/method/depend b/ext/-test-/method/depend new file mode 100644 index 0000000000..95745b3dae --- /dev/null +++ b/ext/-test-/method/depend @@ -0,0 +1,324 @@ +# AUTOGENERATED DEPENDENCIES START +arity.o: $(RUBY_EXTCONF_H) +arity.o: $(arch_hdrdir)/ruby/config.h +arity.o: $(hdrdir)/ruby.h +arity.o: $(hdrdir)/ruby/assert.h +arity.o: $(hdrdir)/ruby/backward.h +arity.o: $(hdrdir)/ruby/backward/2/assume.h +arity.o: $(hdrdir)/ruby/backward/2/attributes.h +arity.o: $(hdrdir)/ruby/backward/2/bool.h +arity.o: $(hdrdir)/ruby/backward/2/inttypes.h +arity.o: $(hdrdir)/ruby/backward/2/limits.h +arity.o: $(hdrdir)/ruby/backward/2/long_long.h +arity.o: $(hdrdir)/ruby/backward/2/stdalign.h +arity.o: $(hdrdir)/ruby/backward/2/stdarg.h +arity.o: $(hdrdir)/ruby/defines.h +arity.o: $(hdrdir)/ruby/intern.h +arity.o: $(hdrdir)/ruby/internal/abi.h +arity.o: $(hdrdir)/ruby/internal/anyargs.h +arity.o: $(hdrdir)/ruby/internal/arithmetic.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/char.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/double.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/int.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/long.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/short.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +arity.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +arity.o: $(hdrdir)/ruby/internal/assume.h +arity.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +arity.o: $(hdrdir)/ruby/internal/attr/artificial.h +arity.o: $(hdrdir)/ruby/internal/attr/cold.h +arity.o: $(hdrdir)/ruby/internal/attr/const.h +arity.o: $(hdrdir)/ruby/internal/attr/constexpr.h +arity.o: $(hdrdir)/ruby/internal/attr/deprecated.h +arity.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +arity.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +arity.o: $(hdrdir)/ruby/internal/attr/error.h +arity.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +arity.o: $(hdrdir)/ruby/internal/attr/forceinline.h +arity.o: $(hdrdir)/ruby/internal/attr/format.h +arity.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +arity.o: $(hdrdir)/ruby/internal/attr/noalias.h +arity.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +arity.o: $(hdrdir)/ruby/internal/attr/noexcept.h +arity.o: $(hdrdir)/ruby/internal/attr/noinline.h +arity.o: $(hdrdir)/ruby/internal/attr/nonnull.h +arity.o: $(hdrdir)/ruby/internal/attr/noreturn.h +arity.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +arity.o: $(hdrdir)/ruby/internal/attr/pure.h +arity.o: $(hdrdir)/ruby/internal/attr/restrict.h +arity.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +arity.o: $(hdrdir)/ruby/internal/attr/warning.h +arity.o: $(hdrdir)/ruby/internal/attr/weakref.h +arity.o: $(hdrdir)/ruby/internal/cast.h +arity.o: $(hdrdir)/ruby/internal/compiler_is.h +arity.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +arity.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +arity.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +arity.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +arity.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +arity.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +arity.o: $(hdrdir)/ruby/internal/compiler_since.h +arity.o: $(hdrdir)/ruby/internal/config.h +arity.o: $(hdrdir)/ruby/internal/constant_p.h +arity.o: $(hdrdir)/ruby/internal/core.h +arity.o: $(hdrdir)/ruby/internal/core/rarray.h +arity.o: $(hdrdir)/ruby/internal/core/rbasic.h +arity.o: $(hdrdir)/ruby/internal/core/rbignum.h +arity.o: $(hdrdir)/ruby/internal/core/rclass.h +arity.o: $(hdrdir)/ruby/internal/core/rdata.h +arity.o: $(hdrdir)/ruby/internal/core/rfile.h +arity.o: $(hdrdir)/ruby/internal/core/rhash.h +arity.o: $(hdrdir)/ruby/internal/core/robject.h +arity.o: $(hdrdir)/ruby/internal/core/rregexp.h +arity.o: $(hdrdir)/ruby/internal/core/rstring.h +arity.o: $(hdrdir)/ruby/internal/core/rstruct.h +arity.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +arity.o: $(hdrdir)/ruby/internal/ctype.h +arity.o: $(hdrdir)/ruby/internal/dllexport.h +arity.o: $(hdrdir)/ruby/internal/dosish.h +arity.o: $(hdrdir)/ruby/internal/error.h +arity.o: $(hdrdir)/ruby/internal/eval.h +arity.o: $(hdrdir)/ruby/internal/event.h +arity.o: $(hdrdir)/ruby/internal/fl_type.h +arity.o: $(hdrdir)/ruby/internal/gc.h +arity.o: $(hdrdir)/ruby/internal/glob.h +arity.o: $(hdrdir)/ruby/internal/globals.h +arity.o: $(hdrdir)/ruby/internal/has/attribute.h +arity.o: $(hdrdir)/ruby/internal/has/builtin.h +arity.o: $(hdrdir)/ruby/internal/has/c_attribute.h +arity.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +arity.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +arity.o: $(hdrdir)/ruby/internal/has/extension.h +arity.o: $(hdrdir)/ruby/internal/has/feature.h +arity.o: $(hdrdir)/ruby/internal/has/warning.h +arity.o: $(hdrdir)/ruby/internal/intern/array.h +arity.o: $(hdrdir)/ruby/internal/intern/bignum.h +arity.o: $(hdrdir)/ruby/internal/intern/class.h +arity.o: $(hdrdir)/ruby/internal/intern/compar.h +arity.o: $(hdrdir)/ruby/internal/intern/complex.h +arity.o: $(hdrdir)/ruby/internal/intern/cont.h +arity.o: $(hdrdir)/ruby/internal/intern/dir.h +arity.o: $(hdrdir)/ruby/internal/intern/enum.h +arity.o: $(hdrdir)/ruby/internal/intern/enumerator.h +arity.o: $(hdrdir)/ruby/internal/intern/error.h +arity.o: $(hdrdir)/ruby/internal/intern/eval.h +arity.o: $(hdrdir)/ruby/internal/intern/file.h +arity.o: $(hdrdir)/ruby/internal/intern/hash.h +arity.o: $(hdrdir)/ruby/internal/intern/io.h +arity.o: $(hdrdir)/ruby/internal/intern/load.h +arity.o: $(hdrdir)/ruby/internal/intern/marshal.h +arity.o: $(hdrdir)/ruby/internal/intern/numeric.h +arity.o: $(hdrdir)/ruby/internal/intern/object.h +arity.o: $(hdrdir)/ruby/internal/intern/parse.h +arity.o: $(hdrdir)/ruby/internal/intern/proc.h +arity.o: $(hdrdir)/ruby/internal/intern/process.h +arity.o: $(hdrdir)/ruby/internal/intern/random.h +arity.o: $(hdrdir)/ruby/internal/intern/range.h +arity.o: $(hdrdir)/ruby/internal/intern/rational.h +arity.o: $(hdrdir)/ruby/internal/intern/re.h +arity.o: $(hdrdir)/ruby/internal/intern/ruby.h +arity.o: $(hdrdir)/ruby/internal/intern/select.h +arity.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +arity.o: $(hdrdir)/ruby/internal/intern/set.h +arity.o: $(hdrdir)/ruby/internal/intern/signal.h +arity.o: $(hdrdir)/ruby/internal/intern/sprintf.h +arity.o: $(hdrdir)/ruby/internal/intern/string.h +arity.o: $(hdrdir)/ruby/internal/intern/struct.h +arity.o: $(hdrdir)/ruby/internal/intern/thread.h +arity.o: $(hdrdir)/ruby/internal/intern/time.h +arity.o: $(hdrdir)/ruby/internal/intern/variable.h +arity.o: $(hdrdir)/ruby/internal/intern/vm.h +arity.o: $(hdrdir)/ruby/internal/interpreter.h +arity.o: $(hdrdir)/ruby/internal/iterator.h +arity.o: $(hdrdir)/ruby/internal/memory.h +arity.o: $(hdrdir)/ruby/internal/method.h +arity.o: $(hdrdir)/ruby/internal/module.h +arity.o: $(hdrdir)/ruby/internal/newobj.h +arity.o: $(hdrdir)/ruby/internal/scan_args.h +arity.o: $(hdrdir)/ruby/internal/special_consts.h +arity.o: $(hdrdir)/ruby/internal/static_assert.h +arity.o: $(hdrdir)/ruby/internal/stdalign.h +arity.o: $(hdrdir)/ruby/internal/stdbool.h +arity.o: $(hdrdir)/ruby/internal/stdckdint.h +arity.o: $(hdrdir)/ruby/internal/symbol.h +arity.o: $(hdrdir)/ruby/internal/value.h +arity.o: $(hdrdir)/ruby/internal/value_type.h +arity.o: $(hdrdir)/ruby/internal/variable.h +arity.o: $(hdrdir)/ruby/internal/warning_push.h +arity.o: $(hdrdir)/ruby/internal/xmalloc.h +arity.o: $(hdrdir)/ruby/missing.h +arity.o: $(hdrdir)/ruby/ruby.h +arity.o: $(hdrdir)/ruby/st.h +arity.o: $(hdrdir)/ruby/subst.h +arity.o: arity.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/method/extconf.rb b/ext/-test-/method/extconf.rb new file mode 100644 index 0000000000..ca51178a18 --- /dev/null +++ b/ext/-test-/method/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext diff --git a/ext/-test-/method/init.c b/ext/-test-/method/init.c new file mode 100644 index 0000000000..cea2346240 --- /dev/null +++ b/ext/-test-/method/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_method(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "Method"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/notimplement/bug.c b/ext/-test-/notimplement/bug.c new file mode 100644 index 0000000000..82e243a81d --- /dev/null +++ b/ext/-test-/notimplement/bug.c @@ -0,0 +1,18 @@ +#include <ruby.h> + +static VALUE +bug_funcall(int argc, VALUE *argv, VALUE self) +{ + if (argc < 1) rb_raise(rb_eArgError, "not enough argument"); + return rb_funcallv(self, rb_to_id(*argv), argc-1, argv+1); +} + +void +Init_notimplement(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "NotImplement", rb_cObject); + rb_define_module_function(mBug, "funcall", bug_funcall, -1); + rb_define_module_function(mBug, "notimplement", rb_f_notimplement, -1); + rb_define_method(klass, "notimplement", rb_f_notimplement, -1); +} diff --git a/ext/-test-/notimplement/depend b/ext/-test-/notimplement/depend new file mode 100644 index 0000000000..69c970b6f2 --- /dev/null +++ b/ext/-test-/notimplement/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +bug.o: $(RUBY_EXTCONF_H) +bug.o: $(arch_hdrdir)/ruby/config.h +bug.o: $(hdrdir)/ruby.h +bug.o: $(hdrdir)/ruby/assert.h +bug.o: $(hdrdir)/ruby/backward.h +bug.o: $(hdrdir)/ruby/backward/2/assume.h +bug.o: $(hdrdir)/ruby/backward/2/attributes.h +bug.o: $(hdrdir)/ruby/backward/2/bool.h +bug.o: $(hdrdir)/ruby/backward/2/inttypes.h +bug.o: $(hdrdir)/ruby/backward/2/limits.h +bug.o: $(hdrdir)/ruby/backward/2/long_long.h +bug.o: $(hdrdir)/ruby/backward/2/stdalign.h +bug.o: $(hdrdir)/ruby/backward/2/stdarg.h +bug.o: $(hdrdir)/ruby/defines.h +bug.o: $(hdrdir)/ruby/intern.h +bug.o: $(hdrdir)/ruby/internal/abi.h +bug.o: $(hdrdir)/ruby/internal/anyargs.h +bug.o: $(hdrdir)/ruby/internal/arithmetic.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bug.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bug.o: $(hdrdir)/ruby/internal/assume.h +bug.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bug.o: $(hdrdir)/ruby/internal/attr/artificial.h +bug.o: $(hdrdir)/ruby/internal/attr/cold.h +bug.o: $(hdrdir)/ruby/internal/attr/const.h +bug.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bug.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bug.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bug.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bug.o: $(hdrdir)/ruby/internal/attr/error.h +bug.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bug.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bug.o: $(hdrdir)/ruby/internal/attr/format.h +bug.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bug.o: $(hdrdir)/ruby/internal/attr/noalias.h +bug.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bug.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bug.o: $(hdrdir)/ruby/internal/attr/noinline.h +bug.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bug.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bug.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bug.o: $(hdrdir)/ruby/internal/attr/pure.h +bug.o: $(hdrdir)/ruby/internal/attr/restrict.h +bug.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bug.o: $(hdrdir)/ruby/internal/attr/warning.h +bug.o: $(hdrdir)/ruby/internal/attr/weakref.h +bug.o: $(hdrdir)/ruby/internal/cast.h +bug.o: $(hdrdir)/ruby/internal/compiler_is.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bug.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bug.o: $(hdrdir)/ruby/internal/compiler_since.h +bug.o: $(hdrdir)/ruby/internal/config.h +bug.o: $(hdrdir)/ruby/internal/constant_p.h +bug.o: $(hdrdir)/ruby/internal/core.h +bug.o: $(hdrdir)/ruby/internal/core/rarray.h +bug.o: $(hdrdir)/ruby/internal/core/rbasic.h +bug.o: $(hdrdir)/ruby/internal/core/rbignum.h +bug.o: $(hdrdir)/ruby/internal/core/rclass.h +bug.o: $(hdrdir)/ruby/internal/core/rdata.h +bug.o: $(hdrdir)/ruby/internal/core/rfile.h +bug.o: $(hdrdir)/ruby/internal/core/rhash.h +bug.o: $(hdrdir)/ruby/internal/core/robject.h +bug.o: $(hdrdir)/ruby/internal/core/rregexp.h +bug.o: $(hdrdir)/ruby/internal/core/rstring.h +bug.o: $(hdrdir)/ruby/internal/core/rstruct.h +bug.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bug.o: $(hdrdir)/ruby/internal/ctype.h +bug.o: $(hdrdir)/ruby/internal/dllexport.h +bug.o: $(hdrdir)/ruby/internal/dosish.h +bug.o: $(hdrdir)/ruby/internal/error.h +bug.o: $(hdrdir)/ruby/internal/eval.h +bug.o: $(hdrdir)/ruby/internal/event.h +bug.o: $(hdrdir)/ruby/internal/fl_type.h +bug.o: $(hdrdir)/ruby/internal/gc.h +bug.o: $(hdrdir)/ruby/internal/glob.h +bug.o: $(hdrdir)/ruby/internal/globals.h +bug.o: $(hdrdir)/ruby/internal/has/attribute.h +bug.o: $(hdrdir)/ruby/internal/has/builtin.h +bug.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bug.o: $(hdrdir)/ruby/internal/has/extension.h +bug.o: $(hdrdir)/ruby/internal/has/feature.h +bug.o: $(hdrdir)/ruby/internal/has/warning.h +bug.o: $(hdrdir)/ruby/internal/intern/array.h +bug.o: $(hdrdir)/ruby/internal/intern/bignum.h +bug.o: $(hdrdir)/ruby/internal/intern/class.h +bug.o: $(hdrdir)/ruby/internal/intern/compar.h +bug.o: $(hdrdir)/ruby/internal/intern/complex.h +bug.o: $(hdrdir)/ruby/internal/intern/cont.h +bug.o: $(hdrdir)/ruby/internal/intern/dir.h +bug.o: $(hdrdir)/ruby/internal/intern/enum.h +bug.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bug.o: $(hdrdir)/ruby/internal/intern/error.h +bug.o: $(hdrdir)/ruby/internal/intern/eval.h +bug.o: $(hdrdir)/ruby/internal/intern/file.h +bug.o: $(hdrdir)/ruby/internal/intern/hash.h +bug.o: $(hdrdir)/ruby/internal/intern/io.h +bug.o: $(hdrdir)/ruby/internal/intern/load.h +bug.o: $(hdrdir)/ruby/internal/intern/marshal.h +bug.o: $(hdrdir)/ruby/internal/intern/numeric.h +bug.o: $(hdrdir)/ruby/internal/intern/object.h +bug.o: $(hdrdir)/ruby/internal/intern/parse.h +bug.o: $(hdrdir)/ruby/internal/intern/proc.h +bug.o: $(hdrdir)/ruby/internal/intern/process.h +bug.o: $(hdrdir)/ruby/internal/intern/random.h +bug.o: $(hdrdir)/ruby/internal/intern/range.h +bug.o: $(hdrdir)/ruby/internal/intern/rational.h +bug.o: $(hdrdir)/ruby/internal/intern/re.h +bug.o: $(hdrdir)/ruby/internal/intern/ruby.h +bug.o: $(hdrdir)/ruby/internal/intern/select.h +bug.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bug.o: $(hdrdir)/ruby/internal/intern/set.h +bug.o: $(hdrdir)/ruby/internal/intern/signal.h +bug.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bug.o: $(hdrdir)/ruby/internal/intern/string.h +bug.o: $(hdrdir)/ruby/internal/intern/struct.h +bug.o: $(hdrdir)/ruby/internal/intern/thread.h +bug.o: $(hdrdir)/ruby/internal/intern/time.h +bug.o: $(hdrdir)/ruby/internal/intern/variable.h +bug.o: $(hdrdir)/ruby/internal/intern/vm.h +bug.o: $(hdrdir)/ruby/internal/interpreter.h +bug.o: $(hdrdir)/ruby/internal/iterator.h +bug.o: $(hdrdir)/ruby/internal/memory.h +bug.o: $(hdrdir)/ruby/internal/method.h +bug.o: $(hdrdir)/ruby/internal/module.h +bug.o: $(hdrdir)/ruby/internal/newobj.h +bug.o: $(hdrdir)/ruby/internal/scan_args.h +bug.o: $(hdrdir)/ruby/internal/special_consts.h +bug.o: $(hdrdir)/ruby/internal/static_assert.h +bug.o: $(hdrdir)/ruby/internal/stdalign.h +bug.o: $(hdrdir)/ruby/internal/stdbool.h +bug.o: $(hdrdir)/ruby/internal/stdckdint.h +bug.o: $(hdrdir)/ruby/internal/symbol.h +bug.o: $(hdrdir)/ruby/internal/value.h +bug.o: $(hdrdir)/ruby/internal/value_type.h +bug.o: $(hdrdir)/ruby/internal/variable.h +bug.o: $(hdrdir)/ruby/internal/warning_push.h +bug.o: $(hdrdir)/ruby/internal/xmalloc.h +bug.o: $(hdrdir)/ruby/missing.h +bug.o: $(hdrdir)/ruby/ruby.h +bug.o: $(hdrdir)/ruby/st.h +bug.o: $(hdrdir)/ruby/subst.h +bug.o: bug.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/notimplement/extconf.rb b/ext/-test-/notimplement/extconf.rb new file mode 100644 index 0000000000..54403cd7ce --- /dev/null +++ b/ext/-test-/notimplement/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/notimplement") diff --git a/ext/-test-/num2int/depend b/ext/-test-/num2int/depend new file mode 100644 index 0000000000..75536363ac --- /dev/null +++ b/ext/-test-/num2int/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +num2int.o: $(RUBY_EXTCONF_H) +num2int.o: $(arch_hdrdir)/ruby/config.h +num2int.o: $(hdrdir)/ruby.h +num2int.o: $(hdrdir)/ruby/assert.h +num2int.o: $(hdrdir)/ruby/backward.h +num2int.o: $(hdrdir)/ruby/backward/2/assume.h +num2int.o: $(hdrdir)/ruby/backward/2/attributes.h +num2int.o: $(hdrdir)/ruby/backward/2/bool.h +num2int.o: $(hdrdir)/ruby/backward/2/inttypes.h +num2int.o: $(hdrdir)/ruby/backward/2/limits.h +num2int.o: $(hdrdir)/ruby/backward/2/long_long.h +num2int.o: $(hdrdir)/ruby/backward/2/stdalign.h +num2int.o: $(hdrdir)/ruby/backward/2/stdarg.h +num2int.o: $(hdrdir)/ruby/defines.h +num2int.o: $(hdrdir)/ruby/intern.h +num2int.o: $(hdrdir)/ruby/internal/abi.h +num2int.o: $(hdrdir)/ruby/internal/anyargs.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/char.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/double.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/int.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/long.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/short.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +num2int.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +num2int.o: $(hdrdir)/ruby/internal/assume.h +num2int.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +num2int.o: $(hdrdir)/ruby/internal/attr/artificial.h +num2int.o: $(hdrdir)/ruby/internal/attr/cold.h +num2int.o: $(hdrdir)/ruby/internal/attr/const.h +num2int.o: $(hdrdir)/ruby/internal/attr/constexpr.h +num2int.o: $(hdrdir)/ruby/internal/attr/deprecated.h +num2int.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +num2int.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +num2int.o: $(hdrdir)/ruby/internal/attr/error.h +num2int.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +num2int.o: $(hdrdir)/ruby/internal/attr/forceinline.h +num2int.o: $(hdrdir)/ruby/internal/attr/format.h +num2int.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +num2int.o: $(hdrdir)/ruby/internal/attr/noalias.h +num2int.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +num2int.o: $(hdrdir)/ruby/internal/attr/noexcept.h +num2int.o: $(hdrdir)/ruby/internal/attr/noinline.h +num2int.o: $(hdrdir)/ruby/internal/attr/nonnull.h +num2int.o: $(hdrdir)/ruby/internal/attr/noreturn.h +num2int.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +num2int.o: $(hdrdir)/ruby/internal/attr/pure.h +num2int.o: $(hdrdir)/ruby/internal/attr/restrict.h +num2int.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +num2int.o: $(hdrdir)/ruby/internal/attr/warning.h +num2int.o: $(hdrdir)/ruby/internal/attr/weakref.h +num2int.o: $(hdrdir)/ruby/internal/cast.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +num2int.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +num2int.o: $(hdrdir)/ruby/internal/compiler_since.h +num2int.o: $(hdrdir)/ruby/internal/config.h +num2int.o: $(hdrdir)/ruby/internal/constant_p.h +num2int.o: $(hdrdir)/ruby/internal/core.h +num2int.o: $(hdrdir)/ruby/internal/core/rarray.h +num2int.o: $(hdrdir)/ruby/internal/core/rbasic.h +num2int.o: $(hdrdir)/ruby/internal/core/rbignum.h +num2int.o: $(hdrdir)/ruby/internal/core/rclass.h +num2int.o: $(hdrdir)/ruby/internal/core/rdata.h +num2int.o: $(hdrdir)/ruby/internal/core/rfile.h +num2int.o: $(hdrdir)/ruby/internal/core/rhash.h +num2int.o: $(hdrdir)/ruby/internal/core/robject.h +num2int.o: $(hdrdir)/ruby/internal/core/rregexp.h +num2int.o: $(hdrdir)/ruby/internal/core/rstring.h +num2int.o: $(hdrdir)/ruby/internal/core/rstruct.h +num2int.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +num2int.o: $(hdrdir)/ruby/internal/ctype.h +num2int.o: $(hdrdir)/ruby/internal/dllexport.h +num2int.o: $(hdrdir)/ruby/internal/dosish.h +num2int.o: $(hdrdir)/ruby/internal/error.h +num2int.o: $(hdrdir)/ruby/internal/eval.h +num2int.o: $(hdrdir)/ruby/internal/event.h +num2int.o: $(hdrdir)/ruby/internal/fl_type.h +num2int.o: $(hdrdir)/ruby/internal/gc.h +num2int.o: $(hdrdir)/ruby/internal/glob.h +num2int.o: $(hdrdir)/ruby/internal/globals.h +num2int.o: $(hdrdir)/ruby/internal/has/attribute.h +num2int.o: $(hdrdir)/ruby/internal/has/builtin.h +num2int.o: $(hdrdir)/ruby/internal/has/c_attribute.h +num2int.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +num2int.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +num2int.o: $(hdrdir)/ruby/internal/has/extension.h +num2int.o: $(hdrdir)/ruby/internal/has/feature.h +num2int.o: $(hdrdir)/ruby/internal/has/warning.h +num2int.o: $(hdrdir)/ruby/internal/intern/array.h +num2int.o: $(hdrdir)/ruby/internal/intern/bignum.h +num2int.o: $(hdrdir)/ruby/internal/intern/class.h +num2int.o: $(hdrdir)/ruby/internal/intern/compar.h +num2int.o: $(hdrdir)/ruby/internal/intern/complex.h +num2int.o: $(hdrdir)/ruby/internal/intern/cont.h +num2int.o: $(hdrdir)/ruby/internal/intern/dir.h +num2int.o: $(hdrdir)/ruby/internal/intern/enum.h +num2int.o: $(hdrdir)/ruby/internal/intern/enumerator.h +num2int.o: $(hdrdir)/ruby/internal/intern/error.h +num2int.o: $(hdrdir)/ruby/internal/intern/eval.h +num2int.o: $(hdrdir)/ruby/internal/intern/file.h +num2int.o: $(hdrdir)/ruby/internal/intern/hash.h +num2int.o: $(hdrdir)/ruby/internal/intern/io.h +num2int.o: $(hdrdir)/ruby/internal/intern/load.h +num2int.o: $(hdrdir)/ruby/internal/intern/marshal.h +num2int.o: $(hdrdir)/ruby/internal/intern/numeric.h +num2int.o: $(hdrdir)/ruby/internal/intern/object.h +num2int.o: $(hdrdir)/ruby/internal/intern/parse.h +num2int.o: $(hdrdir)/ruby/internal/intern/proc.h +num2int.o: $(hdrdir)/ruby/internal/intern/process.h +num2int.o: $(hdrdir)/ruby/internal/intern/random.h +num2int.o: $(hdrdir)/ruby/internal/intern/range.h +num2int.o: $(hdrdir)/ruby/internal/intern/rational.h +num2int.o: $(hdrdir)/ruby/internal/intern/re.h +num2int.o: $(hdrdir)/ruby/internal/intern/ruby.h +num2int.o: $(hdrdir)/ruby/internal/intern/select.h +num2int.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +num2int.o: $(hdrdir)/ruby/internal/intern/set.h +num2int.o: $(hdrdir)/ruby/internal/intern/signal.h +num2int.o: $(hdrdir)/ruby/internal/intern/sprintf.h +num2int.o: $(hdrdir)/ruby/internal/intern/string.h +num2int.o: $(hdrdir)/ruby/internal/intern/struct.h +num2int.o: $(hdrdir)/ruby/internal/intern/thread.h +num2int.o: $(hdrdir)/ruby/internal/intern/time.h +num2int.o: $(hdrdir)/ruby/internal/intern/variable.h +num2int.o: $(hdrdir)/ruby/internal/intern/vm.h +num2int.o: $(hdrdir)/ruby/internal/interpreter.h +num2int.o: $(hdrdir)/ruby/internal/iterator.h +num2int.o: $(hdrdir)/ruby/internal/memory.h +num2int.o: $(hdrdir)/ruby/internal/method.h +num2int.o: $(hdrdir)/ruby/internal/module.h +num2int.o: $(hdrdir)/ruby/internal/newobj.h +num2int.o: $(hdrdir)/ruby/internal/scan_args.h +num2int.o: $(hdrdir)/ruby/internal/special_consts.h +num2int.o: $(hdrdir)/ruby/internal/static_assert.h +num2int.o: $(hdrdir)/ruby/internal/stdalign.h +num2int.o: $(hdrdir)/ruby/internal/stdbool.h +num2int.o: $(hdrdir)/ruby/internal/stdckdint.h +num2int.o: $(hdrdir)/ruby/internal/symbol.h +num2int.o: $(hdrdir)/ruby/internal/value.h +num2int.o: $(hdrdir)/ruby/internal/value_type.h +num2int.o: $(hdrdir)/ruby/internal/variable.h +num2int.o: $(hdrdir)/ruby/internal/warning_push.h +num2int.o: $(hdrdir)/ruby/internal/xmalloc.h +num2int.o: $(hdrdir)/ruby/missing.h +num2int.o: $(hdrdir)/ruby/ruby.h +num2int.o: $(hdrdir)/ruby/st.h +num2int.o: $(hdrdir)/ruby/subst.h +num2int.o: num2int.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/num2int/extconf.rb b/ext/-test-/num2int/extconf.rb new file mode 100644 index 0000000000..425f261f58 --- /dev/null +++ b/ext/-test-/num2int/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/num2int") diff --git a/ext/-test-/num2int/num2int.c b/ext/-test-/num2int/num2int.c new file mode 100644 index 0000000000..63a441fda6 --- /dev/null +++ b/ext/-test-/num2int/num2int.c @@ -0,0 +1,136 @@ +#include <ruby.h> + +static VALUE +test_num2short(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%d", NUM2SHORT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_num2ushort(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%u", NUM2USHORT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_num2int(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%d", NUM2INT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_num2uint(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%u", NUM2UINT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_num2long(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%ld", NUM2LONG(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_num2ulong(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%lu", NUM2ULONG(num)); + return rb_str_new_cstr(buf); +} + +#ifdef HAVE_LONG_LONG +static VALUE +test_num2ll(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%"PRI_LL_PREFIX"d", NUM2LL(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_num2ull(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%"PRI_LL_PREFIX"u", NUM2ULL(num)); + return rb_str_new_cstr(buf); +} +#endif + +static VALUE +test_fix2short(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%d", FIX2SHORT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_fix2int(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%d", FIX2INT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_fix2uint(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%u", FIX2UINT(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_fix2long(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%ld", FIX2LONG(num)); + return rb_str_new_cstr(buf); +} + +static VALUE +test_fix2ulong(VALUE obj, VALUE num) +{ + char buf[128]; + snprintf(buf, sizeof(buf), "%lu", FIX2ULONG(num)); + return rb_str_new_cstr(buf); +} + +void +Init_num2int(void) +{ + VALUE mNum2int = rb_define_module("Num2int"); + + rb_define_module_function(mNum2int, "NUM2SHORT", test_num2short, 1); + rb_define_module_function(mNum2int, "NUM2USHORT", test_num2ushort, 1); + + rb_define_module_function(mNum2int, "NUM2INT", test_num2int, 1); + rb_define_module_function(mNum2int, "NUM2UINT", test_num2uint, 1); + + rb_define_module_function(mNum2int, "NUM2LONG", test_num2long, 1); + rb_define_module_function(mNum2int, "NUM2ULONG", test_num2ulong, 1); + +#ifdef HAVE_LONG_LONG + rb_define_module_function(mNum2int, "NUM2LL", test_num2ll, 1); + rb_define_module_function(mNum2int, "NUM2ULL", test_num2ull, 1); +#endif + + rb_define_module_function(mNum2int, "FIX2SHORT", test_fix2short, 1); + + rb_define_module_function(mNum2int, "FIX2INT", test_fix2int, 1); + rb_define_module_function(mNum2int, "FIX2UINT", test_fix2uint, 1); + + rb_define_module_function(mNum2int, "FIX2LONG", test_fix2long, 1); + rb_define_module_function(mNum2int, "FIX2ULONG", test_fix2ulong, 1); +} + diff --git a/ext/-test-/path_to_class/depend b/ext/-test-/path_to_class/depend new file mode 100644 index 0000000000..e535058e09 --- /dev/null +++ b/ext/-test-/path_to_class/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +path_to_class.o: $(RUBY_EXTCONF_H) +path_to_class.o: $(arch_hdrdir)/ruby/config.h +path_to_class.o: $(hdrdir)/ruby.h +path_to_class.o: $(hdrdir)/ruby/assert.h +path_to_class.o: $(hdrdir)/ruby/backward.h +path_to_class.o: $(hdrdir)/ruby/backward/2/assume.h +path_to_class.o: $(hdrdir)/ruby/backward/2/attributes.h +path_to_class.o: $(hdrdir)/ruby/backward/2/bool.h +path_to_class.o: $(hdrdir)/ruby/backward/2/inttypes.h +path_to_class.o: $(hdrdir)/ruby/backward/2/limits.h +path_to_class.o: $(hdrdir)/ruby/backward/2/long_long.h +path_to_class.o: $(hdrdir)/ruby/backward/2/stdalign.h +path_to_class.o: $(hdrdir)/ruby/backward/2/stdarg.h +path_to_class.o: $(hdrdir)/ruby/defines.h +path_to_class.o: $(hdrdir)/ruby/intern.h +path_to_class.o: $(hdrdir)/ruby/internal/abi.h +path_to_class.o: $(hdrdir)/ruby/internal/anyargs.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/char.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/double.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/int.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/long.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/short.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +path_to_class.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +path_to_class.o: $(hdrdir)/ruby/internal/assume.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/artificial.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/cold.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/const.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/constexpr.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/deprecated.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/error.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/forceinline.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/format.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/noalias.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/noexcept.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/noinline.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/nonnull.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/noreturn.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/pure.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/restrict.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/warning.h +path_to_class.o: $(hdrdir)/ruby/internal/attr/weakref.h +path_to_class.o: $(hdrdir)/ruby/internal/cast.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +path_to_class.o: $(hdrdir)/ruby/internal/compiler_since.h +path_to_class.o: $(hdrdir)/ruby/internal/config.h +path_to_class.o: $(hdrdir)/ruby/internal/constant_p.h +path_to_class.o: $(hdrdir)/ruby/internal/core.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rarray.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rbasic.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rbignum.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rclass.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rdata.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rfile.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rhash.h +path_to_class.o: $(hdrdir)/ruby/internal/core/robject.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rregexp.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rstring.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rstruct.h +path_to_class.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +path_to_class.o: $(hdrdir)/ruby/internal/ctype.h +path_to_class.o: $(hdrdir)/ruby/internal/dllexport.h +path_to_class.o: $(hdrdir)/ruby/internal/dosish.h +path_to_class.o: $(hdrdir)/ruby/internal/error.h +path_to_class.o: $(hdrdir)/ruby/internal/eval.h +path_to_class.o: $(hdrdir)/ruby/internal/event.h +path_to_class.o: $(hdrdir)/ruby/internal/fl_type.h +path_to_class.o: $(hdrdir)/ruby/internal/gc.h +path_to_class.o: $(hdrdir)/ruby/internal/glob.h +path_to_class.o: $(hdrdir)/ruby/internal/globals.h +path_to_class.o: $(hdrdir)/ruby/internal/has/attribute.h +path_to_class.o: $(hdrdir)/ruby/internal/has/builtin.h +path_to_class.o: $(hdrdir)/ruby/internal/has/c_attribute.h +path_to_class.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +path_to_class.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +path_to_class.o: $(hdrdir)/ruby/internal/has/extension.h +path_to_class.o: $(hdrdir)/ruby/internal/has/feature.h +path_to_class.o: $(hdrdir)/ruby/internal/has/warning.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/array.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/bignum.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/class.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/compar.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/complex.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/cont.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/dir.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/enum.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/enumerator.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/error.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/eval.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/file.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/hash.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/io.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/load.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/marshal.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/numeric.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/object.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/parse.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/proc.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/process.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/random.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/range.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/rational.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/re.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/ruby.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/select.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/set.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/signal.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/sprintf.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/string.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/struct.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/thread.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/time.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/variable.h +path_to_class.o: $(hdrdir)/ruby/internal/intern/vm.h +path_to_class.o: $(hdrdir)/ruby/internal/interpreter.h +path_to_class.o: $(hdrdir)/ruby/internal/iterator.h +path_to_class.o: $(hdrdir)/ruby/internal/memory.h +path_to_class.o: $(hdrdir)/ruby/internal/method.h +path_to_class.o: $(hdrdir)/ruby/internal/module.h +path_to_class.o: $(hdrdir)/ruby/internal/newobj.h +path_to_class.o: $(hdrdir)/ruby/internal/scan_args.h +path_to_class.o: $(hdrdir)/ruby/internal/special_consts.h +path_to_class.o: $(hdrdir)/ruby/internal/static_assert.h +path_to_class.o: $(hdrdir)/ruby/internal/stdalign.h +path_to_class.o: $(hdrdir)/ruby/internal/stdbool.h +path_to_class.o: $(hdrdir)/ruby/internal/stdckdint.h +path_to_class.o: $(hdrdir)/ruby/internal/symbol.h +path_to_class.o: $(hdrdir)/ruby/internal/value.h +path_to_class.o: $(hdrdir)/ruby/internal/value_type.h +path_to_class.o: $(hdrdir)/ruby/internal/variable.h +path_to_class.o: $(hdrdir)/ruby/internal/warning_push.h +path_to_class.o: $(hdrdir)/ruby/internal/xmalloc.h +path_to_class.o: $(hdrdir)/ruby/missing.h +path_to_class.o: $(hdrdir)/ruby/ruby.h +path_to_class.o: $(hdrdir)/ruby/st.h +path_to_class.o: $(hdrdir)/ruby/subst.h +path_to_class.o: path_to_class.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/path_to_class/extconf.rb b/ext/-test-/path_to_class/extconf.rb new file mode 100644 index 0000000000..d465b36d9c --- /dev/null +++ b/ext/-test-/path_to_class/extconf.rb @@ -0,0 +1,7 @@ +# frozen_string_literal: false +$srcs = Dir[File.join($srcdir, "*.{#{SRC_EXT.join(%q{,})}}")] +inits = $srcs.map {|s| File.basename(s, ".*")} +inits.delete("init") +inits.map! {|s|"X(#{s})"} +$defs << "-DTEST_INIT_FUNCS(X)=\"#{inits.join(' ')}\"" +create_makefile("-test-/path_to_class") diff --git a/ext/-test-/path_to_class/path_to_class.c b/ext/-test-/path_to_class/path_to_class.c new file mode 100644 index 0000000000..c8c2831b09 --- /dev/null +++ b/ext/-test-/path_to_class/path_to_class.c @@ -0,0 +1,15 @@ +#include "ruby.h" + +static VALUE +path_to_class(VALUE klass, VALUE path) +{ + return rb_path_to_class(path); +} + +void +Init_path_to_class(void) +{ + VALUE klass = rb_path2class("Test_PathToClass"); + + rb_define_singleton_method(klass, "path_to_class", path_to_class, 1); +} diff --git a/ext/-test-/popen_deadlock/depend b/ext/-test-/popen_deadlock/depend new file mode 100644 index 0000000000..0b8932e8b8 --- /dev/null +++ b/ext/-test-/popen_deadlock/depend @@ -0,0 +1,164 @@ +# AUTOGENERATED DEPENDENCIES START +infinite_loop_dlsym.o: $(RUBY_EXTCONF_H) +infinite_loop_dlsym.o: $(arch_hdrdir)/ruby/config.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/assert.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/assume.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/attributes.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/bool.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/inttypes.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/limits.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/long_long.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/stdalign.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/backward/2/stdarg.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/defines.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/intern.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/abi.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/anyargs.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/char.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/double.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/int.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/long.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/short.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/assume.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/artificial.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/cold.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/const.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/constexpr.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/deprecated.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/error.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/forceinline.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/format.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/noalias.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/noexcept.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/noinline.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/nonnull.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/noreturn.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/pure.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/restrict.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/warning.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/attr/weakref.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/cast.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/compiler_since.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/config.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/constant_p.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rarray.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rbasic.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rbignum.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rclass.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rdata.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rfile.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rhash.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/robject.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rregexp.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rstring.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rstruct.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/ctype.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/dllexport.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/dosish.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/error.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/eval.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/event.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/fl_type.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/gc.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/glob.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/globals.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/attribute.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/builtin.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/c_attribute.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/extension.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/feature.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/has/warning.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/array.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/bignum.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/class.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/compar.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/complex.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/cont.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/dir.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/enum.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/enumerator.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/error.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/eval.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/file.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/hash.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/io.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/load.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/marshal.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/numeric.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/object.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/parse.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/proc.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/process.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/random.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/range.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/rational.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/re.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/ruby.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/select.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/set.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/signal.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/sprintf.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/string.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/struct.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/thread.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/time.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/variable.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/intern/vm.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/interpreter.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/iterator.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/memory.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/method.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/module.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/newobj.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/scan_args.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/special_consts.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/static_assert.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/stdalign.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/stdbool.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/stdckdint.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/symbol.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/value.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/value_type.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/variable.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/warning_push.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/internal/xmalloc.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/missing.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/ruby.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/st.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/subst.h +infinite_loop_dlsym.o: $(hdrdir)/ruby/thread.h +infinite_loop_dlsym.o: infinite_loop_dlsym.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/popen_deadlock/extconf.rb b/ext/-test-/popen_deadlock/extconf.rb new file mode 100644 index 0000000000..6b6ee7a6b8 --- /dev/null +++ b/ext/-test-/popen_deadlock/extconf.rb @@ -0,0 +1,6 @@ +# frozen_string_literal: false +case RUBY_PLATFORM +when /solaris/i, /linux/i + $LDFLAGS << " -ldl" + create_makefile("-test-/popen_deadlock/infinite_loop_dlsym") +end diff --git a/ext/-test-/popen_deadlock/infinite_loop_dlsym.c b/ext/-test-/popen_deadlock/infinite_loop_dlsym.c new file mode 100644 index 0000000000..1d95a7cc9a --- /dev/null +++ b/ext/-test-/popen_deadlock/infinite_loop_dlsym.c @@ -0,0 +1,50 @@ +#include "ruby/ruby.h" +#include "ruby/thread.h" +#include <dlfcn.h> + +struct data_for_loop_dlsym { + const char *name; + volatile int stop; +}; + +static void* +native_loop_dlsym(void *data) +{ + struct data_for_loop_dlsym *s = data; + + while (!(s->stop)) { + dlsym(RTLD_DEFAULT, s->name); + } + + return NULL; +} + +static void +ubf_for_loop_dlsym(void *data) +{ + struct data_for_loop_dlsym *s = data; + + s->stop = 1; + + return; +} + +static VALUE +loop_dlsym(VALUE self, VALUE name) +{ + struct data_for_loop_dlsym d; + + d.stop = 0; + d.name = StringValuePtr(name); + + rb_thread_call_without_gvl(native_loop_dlsym, &d, + ubf_for_loop_dlsym, &d); + + return self; +} + +void +Init_infinite_loop_dlsym(void) +{ + rb_define_method(rb_cThread, "__infinite_loop_dlsym__", loop_dlsym, 1); +} diff --git a/ext/-test-/postponed_job/depend b/ext/-test-/postponed_job/depend new file mode 100644 index 0000000000..ff567e3921 --- /dev/null +++ b/ext/-test-/postponed_job/depend @@ -0,0 +1,164 @@ +# AUTOGENERATED DEPENDENCIES START +postponed_job.o: $(RUBY_EXTCONF_H) +postponed_job.o: $(arch_hdrdir)/ruby/config.h +postponed_job.o: $(hdrdir)/ruby.h +postponed_job.o: $(hdrdir)/ruby/assert.h +postponed_job.o: $(hdrdir)/ruby/backward.h +postponed_job.o: $(hdrdir)/ruby/backward/2/assume.h +postponed_job.o: $(hdrdir)/ruby/backward/2/attributes.h +postponed_job.o: $(hdrdir)/ruby/backward/2/bool.h +postponed_job.o: $(hdrdir)/ruby/backward/2/inttypes.h +postponed_job.o: $(hdrdir)/ruby/backward/2/limits.h +postponed_job.o: $(hdrdir)/ruby/backward/2/long_long.h +postponed_job.o: $(hdrdir)/ruby/backward/2/stdalign.h +postponed_job.o: $(hdrdir)/ruby/backward/2/stdarg.h +postponed_job.o: $(hdrdir)/ruby/debug.h +postponed_job.o: $(hdrdir)/ruby/defines.h +postponed_job.o: $(hdrdir)/ruby/intern.h +postponed_job.o: $(hdrdir)/ruby/internal/abi.h +postponed_job.o: $(hdrdir)/ruby/internal/anyargs.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/char.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/double.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/int.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/long.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/short.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +postponed_job.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +postponed_job.o: $(hdrdir)/ruby/internal/assume.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/artificial.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/cold.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/const.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/constexpr.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/deprecated.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/error.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/forceinline.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/format.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/noalias.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/noexcept.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/noinline.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/nonnull.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/noreturn.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/pure.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/restrict.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/warning.h +postponed_job.o: $(hdrdir)/ruby/internal/attr/weakref.h +postponed_job.o: $(hdrdir)/ruby/internal/cast.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +postponed_job.o: $(hdrdir)/ruby/internal/compiler_since.h +postponed_job.o: $(hdrdir)/ruby/internal/config.h +postponed_job.o: $(hdrdir)/ruby/internal/constant_p.h +postponed_job.o: $(hdrdir)/ruby/internal/core.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rarray.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rbasic.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rbignum.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rclass.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rdata.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rfile.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rhash.h +postponed_job.o: $(hdrdir)/ruby/internal/core/robject.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rregexp.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rstring.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rstruct.h +postponed_job.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +postponed_job.o: $(hdrdir)/ruby/internal/ctype.h +postponed_job.o: $(hdrdir)/ruby/internal/dllexport.h +postponed_job.o: $(hdrdir)/ruby/internal/dosish.h +postponed_job.o: $(hdrdir)/ruby/internal/error.h +postponed_job.o: $(hdrdir)/ruby/internal/eval.h +postponed_job.o: $(hdrdir)/ruby/internal/event.h +postponed_job.o: $(hdrdir)/ruby/internal/fl_type.h +postponed_job.o: $(hdrdir)/ruby/internal/gc.h +postponed_job.o: $(hdrdir)/ruby/internal/glob.h +postponed_job.o: $(hdrdir)/ruby/internal/globals.h +postponed_job.o: $(hdrdir)/ruby/internal/has/attribute.h +postponed_job.o: $(hdrdir)/ruby/internal/has/builtin.h +postponed_job.o: $(hdrdir)/ruby/internal/has/c_attribute.h +postponed_job.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +postponed_job.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +postponed_job.o: $(hdrdir)/ruby/internal/has/extension.h +postponed_job.o: $(hdrdir)/ruby/internal/has/feature.h +postponed_job.o: $(hdrdir)/ruby/internal/has/warning.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/array.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/bignum.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/class.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/compar.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/complex.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/cont.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/dir.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/enum.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/enumerator.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/error.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/eval.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/file.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/hash.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/io.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/load.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/marshal.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/numeric.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/object.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/parse.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/proc.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/process.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/random.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/range.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/rational.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/re.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/ruby.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/select.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/set.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/signal.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/sprintf.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/string.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/struct.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/thread.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/time.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/variable.h +postponed_job.o: $(hdrdir)/ruby/internal/intern/vm.h +postponed_job.o: $(hdrdir)/ruby/internal/interpreter.h +postponed_job.o: $(hdrdir)/ruby/internal/iterator.h +postponed_job.o: $(hdrdir)/ruby/internal/memory.h +postponed_job.o: $(hdrdir)/ruby/internal/method.h +postponed_job.o: $(hdrdir)/ruby/internal/module.h +postponed_job.o: $(hdrdir)/ruby/internal/newobj.h +postponed_job.o: $(hdrdir)/ruby/internal/scan_args.h +postponed_job.o: $(hdrdir)/ruby/internal/special_consts.h +postponed_job.o: $(hdrdir)/ruby/internal/static_assert.h +postponed_job.o: $(hdrdir)/ruby/internal/stdalign.h +postponed_job.o: $(hdrdir)/ruby/internal/stdbool.h +postponed_job.o: $(hdrdir)/ruby/internal/stdckdint.h +postponed_job.o: $(hdrdir)/ruby/internal/symbol.h +postponed_job.o: $(hdrdir)/ruby/internal/value.h +postponed_job.o: $(hdrdir)/ruby/internal/value_type.h +postponed_job.o: $(hdrdir)/ruby/internal/variable.h +postponed_job.o: $(hdrdir)/ruby/internal/warning_push.h +postponed_job.o: $(hdrdir)/ruby/internal/xmalloc.h +postponed_job.o: $(hdrdir)/ruby/missing.h +postponed_job.o: $(hdrdir)/ruby/ruby.h +postponed_job.o: $(hdrdir)/ruby/st.h +postponed_job.o: $(hdrdir)/ruby/subst.h +postponed_job.o: postponed_job.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/postponed_job/extconf.rb b/ext/-test-/postponed_job/extconf.rb new file mode 100644 index 0000000000..58fbd3b461 --- /dev/null +++ b/ext/-test-/postponed_job/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile('-test-/postponed_job') diff --git a/ext/-test-/postponed_job/postponed_job.c b/ext/-test-/postponed_job/postponed_job.c new file mode 100644 index 0000000000..4426fc3104 --- /dev/null +++ b/ext/-test-/postponed_job/postponed_job.c @@ -0,0 +1,151 @@ +#include "ruby.h" +#include "ruby/debug.h" + +// We're testing deprecated things, don't print the compiler warnings +#if 0 + +#elif defined(_MSC_VER) +#pragma warning(disable : 4996) + +#elif defined(__INTEL_COMPILER) +#pragma warning(disable : 1786) + +#elif defined(__clang__) +#pragma clang diagnostic ignored "-Wdeprecated-declarations" + +#elif defined(__GNUC__) +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + +#elif defined(__SUNPRO_CC) +#pragma error_messages (off,symdeprecated) + +#else +// :FIXME: improve here for your compiler. + +#endif + +static int counter; + +static void +pjob_callback(void *data) +{ + VALUE ary = (VALUE)data; + Check_Type(ary, T_ARRAY); + + rb_ary_push(ary, INT2FIX(counter)); +} + +static VALUE +pjob_call_direct(VALUE self, VALUE obj) +{ + counter = 0; + pjob_callback((void *)obj); + rb_gc_start(); + counter++; + rb_gc_start(); + counter++; + rb_gc_start(); + counter++; + return self; +} + +static void pjob_noop_callback(void *data) { } + +static void +pjob_preregistered_callback(void *data) +{ + VALUE ary = (VALUE)data; + Check_Type(ary, T_ARRAY); + rb_ary_push(ary, INT2FIX(counter)); +} + +static VALUE +pjob_preregister_and_call_with_sleep(VALUE self, VALUE obj) +{ + counter = 0; + rb_postponed_job_handle_t h = rb_postponed_job_preregister(0, pjob_preregistered_callback, (void *)obj); + counter++; + rb_postponed_job_trigger(h); + rb_thread_sleep(0); + counter++; + rb_postponed_job_trigger(h); + rb_thread_sleep(0); + counter++; + rb_postponed_job_trigger(h); + rb_thread_sleep(0); + return self; +} + +static VALUE +pjob_preregister_and_call_without_sleep(VALUE self, VALUE obj) +{ + counter = 0; + rb_postponed_job_handle_t h = rb_postponed_job_preregister(0, pjob_preregistered_callback, (void *)obj); + counter = 3; + rb_postponed_job_trigger(h); + rb_postponed_job_trigger(h); + rb_postponed_job_trigger(h); + return self; +} + +static VALUE +pjob_preregister_multiple_times(VALUE self) +{ + int r1 = rb_postponed_job_preregister(0, pjob_noop_callback, NULL); + int r2 = rb_postponed_job_preregister(0, pjob_noop_callback, NULL); + int r3 = rb_postponed_job_preregister(0, pjob_noop_callback, NULL); + VALUE ary = rb_ary_new(); + rb_ary_push(ary, INT2FIX(r1)); + rb_ary_push(ary, INT2FIX(r2)); + rb_ary_push(ary, INT2FIX(r3)); + return ary; + +} + +struct pjob_append_data_args { + VALUE ary; + VALUE data; +}; + +static void +pjob_append_data_callback(void *vctx) { + struct pjob_append_data_args *ctx = (struct pjob_append_data_args *)vctx; + Check_Type(ctx->ary, T_ARRAY); + rb_ary_push(ctx->ary, ctx->data); +} + +static VALUE +pjob_preregister_calls_with_last_argument(VALUE self) +{ + VALUE ary = rb_ary_new(); + + struct pjob_append_data_args arg1 = { .ary = ary, .data = INT2FIX(1) }; + struct pjob_append_data_args arg2 = { .ary = ary, .data = INT2FIX(2) }; + struct pjob_append_data_args arg3 = { .ary = ary, .data = INT2FIX(3) }; + struct pjob_append_data_args arg4 = { .ary = ary, .data = INT2FIX(4) }; + + rb_postponed_job_handle_t h; + h = rb_postponed_job_preregister(0, pjob_append_data_callback, &arg1); + rb_postponed_job_preregister(0, pjob_append_data_callback, &arg2); + rb_postponed_job_trigger(h); + rb_postponed_job_preregister(0, pjob_append_data_callback, &arg3); + rb_thread_sleep(0); // should execute with arg3 + + rb_postponed_job_preregister(0, pjob_append_data_callback, &arg4); + rb_postponed_job_trigger(h); + rb_thread_sleep(0); // should execute with arg4 + + return ary; +} + +void +Init_postponed_job(VALUE self) +{ + VALUE mBug = rb_define_module("Bug"); + rb_define_module_function(mBug, "postponed_job_call_direct", pjob_call_direct, 1); + rb_define_module_function(mBug, "postponed_job_preregister_and_call_with_sleep", pjob_preregister_and_call_with_sleep, 1); + rb_define_module_function(mBug, "postponed_job_preregister_and_call_without_sleep", pjob_preregister_and_call_without_sleep, 1); + rb_define_module_function(mBug, "postponed_job_preregister_multiple_times", pjob_preregister_multiple_times, 0); + rb_define_module_function(mBug, "postponed_job_preregister_calls_with_last_argument", pjob_preregister_calls_with_last_argument, 0); +} + diff --git a/ext/-test-/printf/depend b/ext/-test-/printf/depend new file mode 100644 index 0000000000..be895cf769 --- /dev/null +++ b/ext/-test-/printf/depend @@ -0,0 +1,175 @@ +# AUTOGENERATED DEPENDENCIES START +printf.o: $(RUBY_EXTCONF_H) +printf.o: $(arch_hdrdir)/ruby/config.h +printf.o: $(hdrdir)/ruby.h +printf.o: $(hdrdir)/ruby/assert.h +printf.o: $(hdrdir)/ruby/backward.h +printf.o: $(hdrdir)/ruby/backward/2/assume.h +printf.o: $(hdrdir)/ruby/backward/2/attributes.h +printf.o: $(hdrdir)/ruby/backward/2/bool.h +printf.o: $(hdrdir)/ruby/backward/2/inttypes.h +printf.o: $(hdrdir)/ruby/backward/2/limits.h +printf.o: $(hdrdir)/ruby/backward/2/long_long.h +printf.o: $(hdrdir)/ruby/backward/2/stdalign.h +printf.o: $(hdrdir)/ruby/backward/2/stdarg.h +printf.o: $(hdrdir)/ruby/defines.h +printf.o: $(hdrdir)/ruby/encoding.h +printf.o: $(hdrdir)/ruby/intern.h +printf.o: $(hdrdir)/ruby/internal/abi.h +printf.o: $(hdrdir)/ruby/internal/anyargs.h +printf.o: $(hdrdir)/ruby/internal/arithmetic.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/char.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/double.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/int.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/long.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/short.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +printf.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +printf.o: $(hdrdir)/ruby/internal/assume.h +printf.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +printf.o: $(hdrdir)/ruby/internal/attr/artificial.h +printf.o: $(hdrdir)/ruby/internal/attr/cold.h +printf.o: $(hdrdir)/ruby/internal/attr/const.h +printf.o: $(hdrdir)/ruby/internal/attr/constexpr.h +printf.o: $(hdrdir)/ruby/internal/attr/deprecated.h +printf.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +printf.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +printf.o: $(hdrdir)/ruby/internal/attr/error.h +printf.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +printf.o: $(hdrdir)/ruby/internal/attr/forceinline.h +printf.o: $(hdrdir)/ruby/internal/attr/format.h +printf.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +printf.o: $(hdrdir)/ruby/internal/attr/noalias.h +printf.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +printf.o: $(hdrdir)/ruby/internal/attr/noexcept.h +printf.o: $(hdrdir)/ruby/internal/attr/noinline.h +printf.o: $(hdrdir)/ruby/internal/attr/nonnull.h +printf.o: $(hdrdir)/ruby/internal/attr/noreturn.h +printf.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +printf.o: $(hdrdir)/ruby/internal/attr/pure.h +printf.o: $(hdrdir)/ruby/internal/attr/restrict.h +printf.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +printf.o: $(hdrdir)/ruby/internal/attr/warning.h +printf.o: $(hdrdir)/ruby/internal/attr/weakref.h +printf.o: $(hdrdir)/ruby/internal/cast.h +printf.o: $(hdrdir)/ruby/internal/compiler_is.h +printf.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +printf.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +printf.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +printf.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +printf.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +printf.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +printf.o: $(hdrdir)/ruby/internal/compiler_since.h +printf.o: $(hdrdir)/ruby/internal/config.h +printf.o: $(hdrdir)/ruby/internal/constant_p.h +printf.o: $(hdrdir)/ruby/internal/core.h +printf.o: $(hdrdir)/ruby/internal/core/rarray.h +printf.o: $(hdrdir)/ruby/internal/core/rbasic.h +printf.o: $(hdrdir)/ruby/internal/core/rbignum.h +printf.o: $(hdrdir)/ruby/internal/core/rclass.h +printf.o: $(hdrdir)/ruby/internal/core/rdata.h +printf.o: $(hdrdir)/ruby/internal/core/rfile.h +printf.o: $(hdrdir)/ruby/internal/core/rhash.h +printf.o: $(hdrdir)/ruby/internal/core/robject.h +printf.o: $(hdrdir)/ruby/internal/core/rregexp.h +printf.o: $(hdrdir)/ruby/internal/core/rstring.h +printf.o: $(hdrdir)/ruby/internal/core/rstruct.h +printf.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +printf.o: $(hdrdir)/ruby/internal/ctype.h +printf.o: $(hdrdir)/ruby/internal/dllexport.h +printf.o: $(hdrdir)/ruby/internal/dosish.h +printf.o: $(hdrdir)/ruby/internal/encoding/coderange.h +printf.o: $(hdrdir)/ruby/internal/encoding/ctype.h +printf.o: $(hdrdir)/ruby/internal/encoding/encoding.h +printf.o: $(hdrdir)/ruby/internal/encoding/pathname.h +printf.o: $(hdrdir)/ruby/internal/encoding/re.h +printf.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +printf.o: $(hdrdir)/ruby/internal/encoding/string.h +printf.o: $(hdrdir)/ruby/internal/encoding/symbol.h +printf.o: $(hdrdir)/ruby/internal/encoding/transcode.h +printf.o: $(hdrdir)/ruby/internal/error.h +printf.o: $(hdrdir)/ruby/internal/eval.h +printf.o: $(hdrdir)/ruby/internal/event.h +printf.o: $(hdrdir)/ruby/internal/fl_type.h +printf.o: $(hdrdir)/ruby/internal/gc.h +printf.o: $(hdrdir)/ruby/internal/glob.h +printf.o: $(hdrdir)/ruby/internal/globals.h +printf.o: $(hdrdir)/ruby/internal/has/attribute.h +printf.o: $(hdrdir)/ruby/internal/has/builtin.h +printf.o: $(hdrdir)/ruby/internal/has/c_attribute.h +printf.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +printf.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +printf.o: $(hdrdir)/ruby/internal/has/extension.h +printf.o: $(hdrdir)/ruby/internal/has/feature.h +printf.o: $(hdrdir)/ruby/internal/has/warning.h +printf.o: $(hdrdir)/ruby/internal/intern/array.h +printf.o: $(hdrdir)/ruby/internal/intern/bignum.h +printf.o: $(hdrdir)/ruby/internal/intern/class.h +printf.o: $(hdrdir)/ruby/internal/intern/compar.h +printf.o: $(hdrdir)/ruby/internal/intern/complex.h +printf.o: $(hdrdir)/ruby/internal/intern/cont.h +printf.o: $(hdrdir)/ruby/internal/intern/dir.h +printf.o: $(hdrdir)/ruby/internal/intern/enum.h +printf.o: $(hdrdir)/ruby/internal/intern/enumerator.h +printf.o: $(hdrdir)/ruby/internal/intern/error.h +printf.o: $(hdrdir)/ruby/internal/intern/eval.h +printf.o: $(hdrdir)/ruby/internal/intern/file.h +printf.o: $(hdrdir)/ruby/internal/intern/hash.h +printf.o: $(hdrdir)/ruby/internal/intern/io.h +printf.o: $(hdrdir)/ruby/internal/intern/load.h +printf.o: $(hdrdir)/ruby/internal/intern/marshal.h +printf.o: $(hdrdir)/ruby/internal/intern/numeric.h +printf.o: $(hdrdir)/ruby/internal/intern/object.h +printf.o: $(hdrdir)/ruby/internal/intern/parse.h +printf.o: $(hdrdir)/ruby/internal/intern/proc.h +printf.o: $(hdrdir)/ruby/internal/intern/process.h +printf.o: $(hdrdir)/ruby/internal/intern/random.h +printf.o: $(hdrdir)/ruby/internal/intern/range.h +printf.o: $(hdrdir)/ruby/internal/intern/rational.h +printf.o: $(hdrdir)/ruby/internal/intern/re.h +printf.o: $(hdrdir)/ruby/internal/intern/ruby.h +printf.o: $(hdrdir)/ruby/internal/intern/select.h +printf.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +printf.o: $(hdrdir)/ruby/internal/intern/set.h +printf.o: $(hdrdir)/ruby/internal/intern/signal.h +printf.o: $(hdrdir)/ruby/internal/intern/sprintf.h +printf.o: $(hdrdir)/ruby/internal/intern/string.h +printf.o: $(hdrdir)/ruby/internal/intern/struct.h +printf.o: $(hdrdir)/ruby/internal/intern/thread.h +printf.o: $(hdrdir)/ruby/internal/intern/time.h +printf.o: $(hdrdir)/ruby/internal/intern/variable.h +printf.o: $(hdrdir)/ruby/internal/intern/vm.h +printf.o: $(hdrdir)/ruby/internal/interpreter.h +printf.o: $(hdrdir)/ruby/internal/iterator.h +printf.o: $(hdrdir)/ruby/internal/memory.h +printf.o: $(hdrdir)/ruby/internal/method.h +printf.o: $(hdrdir)/ruby/internal/module.h +printf.o: $(hdrdir)/ruby/internal/newobj.h +printf.o: $(hdrdir)/ruby/internal/scan_args.h +printf.o: $(hdrdir)/ruby/internal/special_consts.h +printf.o: $(hdrdir)/ruby/internal/static_assert.h +printf.o: $(hdrdir)/ruby/internal/stdalign.h +printf.o: $(hdrdir)/ruby/internal/stdbool.h +printf.o: $(hdrdir)/ruby/internal/stdckdint.h +printf.o: $(hdrdir)/ruby/internal/symbol.h +printf.o: $(hdrdir)/ruby/internal/value.h +printf.o: $(hdrdir)/ruby/internal/value_type.h +printf.o: $(hdrdir)/ruby/internal/variable.h +printf.o: $(hdrdir)/ruby/internal/warning_push.h +printf.o: $(hdrdir)/ruby/internal/xmalloc.h +printf.o: $(hdrdir)/ruby/missing.h +printf.o: $(hdrdir)/ruby/onigmo.h +printf.o: $(hdrdir)/ruby/oniguruma.h +printf.o: $(hdrdir)/ruby/ruby.h +printf.o: $(hdrdir)/ruby/st.h +printf.o: $(hdrdir)/ruby/subst.h +printf.o: printf.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/printf/extconf.rb b/ext/-test-/printf/extconf.rb new file mode 100644 index 0000000000..fb8fa8de36 --- /dev/null +++ b/ext/-test-/printf/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/printf") diff --git a/ext/-test-/printf/printf.c b/ext/-test-/printf/printf.c new file mode 100644 index 0000000000..889c0d9f0d --- /dev/null +++ b/ext/-test-/printf/printf.c @@ -0,0 +1,109 @@ +#include <ruby.h> +#include <ruby/encoding.h> + +static VALUE +printf_test_s(VALUE self, VALUE obj) +{ + return rb_enc_sprintf(rb_usascii_encoding(), "<%"PRIsVALUE">", obj); +} + +static VALUE +printf_test_v(VALUE self, VALUE obj) +{ + return rb_enc_sprintf(rb_usascii_encoding(), "{%+"PRIsVALUE"}", obj); +} + +static VALUE +printf_test_q(VALUE self, VALUE obj) +{ + return rb_enc_sprintf(rb_usascii_encoding(), "[% "PRIsVALUE"]", obj); +} + +static char * +uint_to_str(char *p, char *e, unsigned int x) +{ + char *e0 = e; + if (e <= p) return p; + do { + *--e = x % 10 + '0'; + } while ((x /= 10) != 0 && e > p); + memmove(p, e, e0 - e); + return p + (e0 - e); +} + +static VALUE +printf_test_call(int argc, VALUE *argv, VALUE self) +{ + VALUE opt, type, num, result; + char format[sizeof(int) * 6 + 8], *p = format, cnv; + int n = 0; + const char *s = 0; + + rb_scan_args(argc, argv, "2:", &type, &num, &opt); + Check_Type(type, T_STRING); + if (RSTRING_LEN(type) != 1) rb_raise(rb_eArgError, "wrong length(%ld)", RSTRING_LEN(type)); + switch (cnv = RSTRING_PTR(type)[0]) { + case 'd': case 'x': case 'o': case 'X': + n = NUM2INT(num); + break; + case 's': + s = StringValueCStr(num); + break; + default: rb_raise(rb_eArgError, "wrong conversion(%c)", cnv); + } + *p++ = '%'; + if (!NIL_P(opt)) { + VALUE v; + Check_Type(opt, T_HASH); + if (RTEST(rb_hash_aref(opt, ID2SYM(rb_intern("space"))))) { + *p++ = ' '; + } + if (RTEST(rb_hash_aref(opt, ID2SYM(rb_intern("hash"))))) { + *p++ = '#'; + } + if (RTEST(rb_hash_aref(opt, ID2SYM(rb_intern("plus"))))) { + *p++ = '+'; + } + if (RTEST(rb_hash_aref(opt, ID2SYM(rb_intern("minus"))))) { + *p++ = '-'; + } + if (RTEST(rb_hash_aref(opt, ID2SYM(rb_intern("zero"))))) { + *p++ = '0'; + } + if (!NIL_P(v = rb_hash_aref(opt, ID2SYM(rb_intern("width"))))) { + p = uint_to_str(p, format + sizeof(format), NUM2UINT(v)); + } + if (!NIL_P(v = rb_hash_aref(opt, ID2SYM(rb_intern("prec"))))) { + *p++ = '.'; + if (FIXNUM_P(v)) + p = uint_to_str(p, format + sizeof(format), NUM2UINT(v)); + } + } + *p++ = cnv; + *p++ = '\0'; + if (cnv == 's') { + result = rb_enc_sprintf(rb_usascii_encoding(), format, s); + } + else { + result = rb_enc_sprintf(rb_usascii_encoding(), format, n); + } + return rb_assoc_new(result, rb_usascii_str_new_cstr(format)); +} + +static VALUE +snprintf_count(VALUE self, VALUE str) +{ + int n = ruby_snprintf(NULL, 0, "%s", StringValueCStr(str)); + return INT2FIX(n); +} + +void +Init_printf(void) +{ + VALUE m = rb_define_module_under(rb_define_module("Bug"), "Printf"); + rb_define_singleton_method(m, "s", printf_test_s, 1); + rb_define_singleton_method(m, "v", printf_test_v, 1); + rb_define_singleton_method(m, "q", printf_test_q, 1); + rb_define_singleton_method(m, "call", printf_test_call, -1); + rb_define_singleton_method(m, "sncount", snprintf_count, 1); +} diff --git a/ext/-test-/proc/depend b/ext/-test-/proc/depend new file mode 100644 index 0000000000..97834db0a2 --- /dev/null +++ b/ext/-test-/proc/depend @@ -0,0 +1,485 @@ +# AUTOGENERATED DEPENDENCIES START +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +receiver.o: $(RUBY_EXTCONF_H) +receiver.o: $(arch_hdrdir)/ruby/config.h +receiver.o: $(hdrdir)/ruby.h +receiver.o: $(hdrdir)/ruby/assert.h +receiver.o: $(hdrdir)/ruby/backward.h +receiver.o: $(hdrdir)/ruby/backward/2/assume.h +receiver.o: $(hdrdir)/ruby/backward/2/attributes.h +receiver.o: $(hdrdir)/ruby/backward/2/bool.h +receiver.o: $(hdrdir)/ruby/backward/2/inttypes.h +receiver.o: $(hdrdir)/ruby/backward/2/limits.h +receiver.o: $(hdrdir)/ruby/backward/2/long_long.h +receiver.o: $(hdrdir)/ruby/backward/2/stdalign.h +receiver.o: $(hdrdir)/ruby/backward/2/stdarg.h +receiver.o: $(hdrdir)/ruby/defines.h +receiver.o: $(hdrdir)/ruby/intern.h +receiver.o: $(hdrdir)/ruby/internal/abi.h +receiver.o: $(hdrdir)/ruby/internal/anyargs.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/char.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/double.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/int.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/long.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/short.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +receiver.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +receiver.o: $(hdrdir)/ruby/internal/assume.h +receiver.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +receiver.o: $(hdrdir)/ruby/internal/attr/artificial.h +receiver.o: $(hdrdir)/ruby/internal/attr/cold.h +receiver.o: $(hdrdir)/ruby/internal/attr/const.h +receiver.o: $(hdrdir)/ruby/internal/attr/constexpr.h +receiver.o: $(hdrdir)/ruby/internal/attr/deprecated.h +receiver.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +receiver.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +receiver.o: $(hdrdir)/ruby/internal/attr/error.h +receiver.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +receiver.o: $(hdrdir)/ruby/internal/attr/forceinline.h +receiver.o: $(hdrdir)/ruby/internal/attr/format.h +receiver.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +receiver.o: $(hdrdir)/ruby/internal/attr/noalias.h +receiver.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +receiver.o: $(hdrdir)/ruby/internal/attr/noexcept.h +receiver.o: $(hdrdir)/ruby/internal/attr/noinline.h +receiver.o: $(hdrdir)/ruby/internal/attr/nonnull.h +receiver.o: $(hdrdir)/ruby/internal/attr/noreturn.h +receiver.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +receiver.o: $(hdrdir)/ruby/internal/attr/pure.h +receiver.o: $(hdrdir)/ruby/internal/attr/restrict.h +receiver.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +receiver.o: $(hdrdir)/ruby/internal/attr/warning.h +receiver.o: $(hdrdir)/ruby/internal/attr/weakref.h +receiver.o: $(hdrdir)/ruby/internal/cast.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +receiver.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +receiver.o: $(hdrdir)/ruby/internal/compiler_since.h +receiver.o: $(hdrdir)/ruby/internal/config.h +receiver.o: $(hdrdir)/ruby/internal/constant_p.h +receiver.o: $(hdrdir)/ruby/internal/core.h +receiver.o: $(hdrdir)/ruby/internal/core/rarray.h +receiver.o: $(hdrdir)/ruby/internal/core/rbasic.h +receiver.o: $(hdrdir)/ruby/internal/core/rbignum.h +receiver.o: $(hdrdir)/ruby/internal/core/rclass.h +receiver.o: $(hdrdir)/ruby/internal/core/rdata.h +receiver.o: $(hdrdir)/ruby/internal/core/rfile.h +receiver.o: $(hdrdir)/ruby/internal/core/rhash.h +receiver.o: $(hdrdir)/ruby/internal/core/robject.h +receiver.o: $(hdrdir)/ruby/internal/core/rregexp.h +receiver.o: $(hdrdir)/ruby/internal/core/rstring.h +receiver.o: $(hdrdir)/ruby/internal/core/rstruct.h +receiver.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +receiver.o: $(hdrdir)/ruby/internal/ctype.h +receiver.o: $(hdrdir)/ruby/internal/dllexport.h +receiver.o: $(hdrdir)/ruby/internal/dosish.h +receiver.o: $(hdrdir)/ruby/internal/error.h +receiver.o: $(hdrdir)/ruby/internal/eval.h +receiver.o: $(hdrdir)/ruby/internal/event.h +receiver.o: $(hdrdir)/ruby/internal/fl_type.h +receiver.o: $(hdrdir)/ruby/internal/gc.h +receiver.o: $(hdrdir)/ruby/internal/glob.h +receiver.o: $(hdrdir)/ruby/internal/globals.h +receiver.o: $(hdrdir)/ruby/internal/has/attribute.h +receiver.o: $(hdrdir)/ruby/internal/has/builtin.h +receiver.o: $(hdrdir)/ruby/internal/has/c_attribute.h +receiver.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +receiver.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +receiver.o: $(hdrdir)/ruby/internal/has/extension.h +receiver.o: $(hdrdir)/ruby/internal/has/feature.h +receiver.o: $(hdrdir)/ruby/internal/has/warning.h +receiver.o: $(hdrdir)/ruby/internal/intern/array.h +receiver.o: $(hdrdir)/ruby/internal/intern/bignum.h +receiver.o: $(hdrdir)/ruby/internal/intern/class.h +receiver.o: $(hdrdir)/ruby/internal/intern/compar.h +receiver.o: $(hdrdir)/ruby/internal/intern/complex.h +receiver.o: $(hdrdir)/ruby/internal/intern/cont.h +receiver.o: $(hdrdir)/ruby/internal/intern/dir.h +receiver.o: $(hdrdir)/ruby/internal/intern/enum.h +receiver.o: $(hdrdir)/ruby/internal/intern/enumerator.h +receiver.o: $(hdrdir)/ruby/internal/intern/error.h +receiver.o: $(hdrdir)/ruby/internal/intern/eval.h +receiver.o: $(hdrdir)/ruby/internal/intern/file.h +receiver.o: $(hdrdir)/ruby/internal/intern/hash.h +receiver.o: $(hdrdir)/ruby/internal/intern/io.h +receiver.o: $(hdrdir)/ruby/internal/intern/load.h +receiver.o: $(hdrdir)/ruby/internal/intern/marshal.h +receiver.o: $(hdrdir)/ruby/internal/intern/numeric.h +receiver.o: $(hdrdir)/ruby/internal/intern/object.h +receiver.o: $(hdrdir)/ruby/internal/intern/parse.h +receiver.o: $(hdrdir)/ruby/internal/intern/proc.h +receiver.o: $(hdrdir)/ruby/internal/intern/process.h +receiver.o: $(hdrdir)/ruby/internal/intern/random.h +receiver.o: $(hdrdir)/ruby/internal/intern/range.h +receiver.o: $(hdrdir)/ruby/internal/intern/rational.h +receiver.o: $(hdrdir)/ruby/internal/intern/re.h +receiver.o: $(hdrdir)/ruby/internal/intern/ruby.h +receiver.o: $(hdrdir)/ruby/internal/intern/select.h +receiver.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +receiver.o: $(hdrdir)/ruby/internal/intern/set.h +receiver.o: $(hdrdir)/ruby/internal/intern/signal.h +receiver.o: $(hdrdir)/ruby/internal/intern/sprintf.h +receiver.o: $(hdrdir)/ruby/internal/intern/string.h +receiver.o: $(hdrdir)/ruby/internal/intern/struct.h +receiver.o: $(hdrdir)/ruby/internal/intern/thread.h +receiver.o: $(hdrdir)/ruby/internal/intern/time.h +receiver.o: $(hdrdir)/ruby/internal/intern/variable.h +receiver.o: $(hdrdir)/ruby/internal/intern/vm.h +receiver.o: $(hdrdir)/ruby/internal/interpreter.h +receiver.o: $(hdrdir)/ruby/internal/iterator.h +receiver.o: $(hdrdir)/ruby/internal/memory.h +receiver.o: $(hdrdir)/ruby/internal/method.h +receiver.o: $(hdrdir)/ruby/internal/module.h +receiver.o: $(hdrdir)/ruby/internal/newobj.h +receiver.o: $(hdrdir)/ruby/internal/scan_args.h +receiver.o: $(hdrdir)/ruby/internal/special_consts.h +receiver.o: $(hdrdir)/ruby/internal/static_assert.h +receiver.o: $(hdrdir)/ruby/internal/stdalign.h +receiver.o: $(hdrdir)/ruby/internal/stdbool.h +receiver.o: $(hdrdir)/ruby/internal/stdckdint.h +receiver.o: $(hdrdir)/ruby/internal/symbol.h +receiver.o: $(hdrdir)/ruby/internal/value.h +receiver.o: $(hdrdir)/ruby/internal/value_type.h +receiver.o: $(hdrdir)/ruby/internal/variable.h +receiver.o: $(hdrdir)/ruby/internal/warning_push.h +receiver.o: $(hdrdir)/ruby/internal/xmalloc.h +receiver.o: $(hdrdir)/ruby/missing.h +receiver.o: $(hdrdir)/ruby/ruby.h +receiver.o: $(hdrdir)/ruby/st.h +receiver.o: $(hdrdir)/ruby/subst.h +receiver.o: receiver.c +super.o: $(RUBY_EXTCONF_H) +super.o: $(arch_hdrdir)/ruby/config.h +super.o: $(hdrdir)/ruby.h +super.o: $(hdrdir)/ruby/assert.h +super.o: $(hdrdir)/ruby/backward.h +super.o: $(hdrdir)/ruby/backward/2/assume.h +super.o: $(hdrdir)/ruby/backward/2/attributes.h +super.o: $(hdrdir)/ruby/backward/2/bool.h +super.o: $(hdrdir)/ruby/backward/2/inttypes.h +super.o: $(hdrdir)/ruby/backward/2/limits.h +super.o: $(hdrdir)/ruby/backward/2/long_long.h +super.o: $(hdrdir)/ruby/backward/2/stdalign.h +super.o: $(hdrdir)/ruby/backward/2/stdarg.h +super.o: $(hdrdir)/ruby/defines.h +super.o: $(hdrdir)/ruby/intern.h +super.o: $(hdrdir)/ruby/internal/abi.h +super.o: $(hdrdir)/ruby/internal/anyargs.h +super.o: $(hdrdir)/ruby/internal/arithmetic.h +super.o: $(hdrdir)/ruby/internal/arithmetic/char.h +super.o: $(hdrdir)/ruby/internal/arithmetic/double.h +super.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +super.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/int.h +super.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/long.h +super.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +super.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/short.h +super.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +super.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +super.o: $(hdrdir)/ruby/internal/assume.h +super.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +super.o: $(hdrdir)/ruby/internal/attr/artificial.h +super.o: $(hdrdir)/ruby/internal/attr/cold.h +super.o: $(hdrdir)/ruby/internal/attr/const.h +super.o: $(hdrdir)/ruby/internal/attr/constexpr.h +super.o: $(hdrdir)/ruby/internal/attr/deprecated.h +super.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +super.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +super.o: $(hdrdir)/ruby/internal/attr/error.h +super.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +super.o: $(hdrdir)/ruby/internal/attr/forceinline.h +super.o: $(hdrdir)/ruby/internal/attr/format.h +super.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +super.o: $(hdrdir)/ruby/internal/attr/noalias.h +super.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +super.o: $(hdrdir)/ruby/internal/attr/noexcept.h +super.o: $(hdrdir)/ruby/internal/attr/noinline.h +super.o: $(hdrdir)/ruby/internal/attr/nonnull.h +super.o: $(hdrdir)/ruby/internal/attr/noreturn.h +super.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +super.o: $(hdrdir)/ruby/internal/attr/pure.h +super.o: $(hdrdir)/ruby/internal/attr/restrict.h +super.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +super.o: $(hdrdir)/ruby/internal/attr/warning.h +super.o: $(hdrdir)/ruby/internal/attr/weakref.h +super.o: $(hdrdir)/ruby/internal/cast.h +super.o: $(hdrdir)/ruby/internal/compiler_is.h +super.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +super.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +super.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +super.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +super.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +super.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +super.o: $(hdrdir)/ruby/internal/compiler_since.h +super.o: $(hdrdir)/ruby/internal/config.h +super.o: $(hdrdir)/ruby/internal/constant_p.h +super.o: $(hdrdir)/ruby/internal/core.h +super.o: $(hdrdir)/ruby/internal/core/rarray.h +super.o: $(hdrdir)/ruby/internal/core/rbasic.h +super.o: $(hdrdir)/ruby/internal/core/rbignum.h +super.o: $(hdrdir)/ruby/internal/core/rclass.h +super.o: $(hdrdir)/ruby/internal/core/rdata.h +super.o: $(hdrdir)/ruby/internal/core/rfile.h +super.o: $(hdrdir)/ruby/internal/core/rhash.h +super.o: $(hdrdir)/ruby/internal/core/robject.h +super.o: $(hdrdir)/ruby/internal/core/rregexp.h +super.o: $(hdrdir)/ruby/internal/core/rstring.h +super.o: $(hdrdir)/ruby/internal/core/rstruct.h +super.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +super.o: $(hdrdir)/ruby/internal/ctype.h +super.o: $(hdrdir)/ruby/internal/dllexport.h +super.o: $(hdrdir)/ruby/internal/dosish.h +super.o: $(hdrdir)/ruby/internal/error.h +super.o: $(hdrdir)/ruby/internal/eval.h +super.o: $(hdrdir)/ruby/internal/event.h +super.o: $(hdrdir)/ruby/internal/fl_type.h +super.o: $(hdrdir)/ruby/internal/gc.h +super.o: $(hdrdir)/ruby/internal/glob.h +super.o: $(hdrdir)/ruby/internal/globals.h +super.o: $(hdrdir)/ruby/internal/has/attribute.h +super.o: $(hdrdir)/ruby/internal/has/builtin.h +super.o: $(hdrdir)/ruby/internal/has/c_attribute.h +super.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +super.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +super.o: $(hdrdir)/ruby/internal/has/extension.h +super.o: $(hdrdir)/ruby/internal/has/feature.h +super.o: $(hdrdir)/ruby/internal/has/warning.h +super.o: $(hdrdir)/ruby/internal/intern/array.h +super.o: $(hdrdir)/ruby/internal/intern/bignum.h +super.o: $(hdrdir)/ruby/internal/intern/class.h +super.o: $(hdrdir)/ruby/internal/intern/compar.h +super.o: $(hdrdir)/ruby/internal/intern/complex.h +super.o: $(hdrdir)/ruby/internal/intern/cont.h +super.o: $(hdrdir)/ruby/internal/intern/dir.h +super.o: $(hdrdir)/ruby/internal/intern/enum.h +super.o: $(hdrdir)/ruby/internal/intern/enumerator.h +super.o: $(hdrdir)/ruby/internal/intern/error.h +super.o: $(hdrdir)/ruby/internal/intern/eval.h +super.o: $(hdrdir)/ruby/internal/intern/file.h +super.o: $(hdrdir)/ruby/internal/intern/hash.h +super.o: $(hdrdir)/ruby/internal/intern/io.h +super.o: $(hdrdir)/ruby/internal/intern/load.h +super.o: $(hdrdir)/ruby/internal/intern/marshal.h +super.o: $(hdrdir)/ruby/internal/intern/numeric.h +super.o: $(hdrdir)/ruby/internal/intern/object.h +super.o: $(hdrdir)/ruby/internal/intern/parse.h +super.o: $(hdrdir)/ruby/internal/intern/proc.h +super.o: $(hdrdir)/ruby/internal/intern/process.h +super.o: $(hdrdir)/ruby/internal/intern/random.h +super.o: $(hdrdir)/ruby/internal/intern/range.h +super.o: $(hdrdir)/ruby/internal/intern/rational.h +super.o: $(hdrdir)/ruby/internal/intern/re.h +super.o: $(hdrdir)/ruby/internal/intern/ruby.h +super.o: $(hdrdir)/ruby/internal/intern/select.h +super.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +super.o: $(hdrdir)/ruby/internal/intern/set.h +super.o: $(hdrdir)/ruby/internal/intern/signal.h +super.o: $(hdrdir)/ruby/internal/intern/sprintf.h +super.o: $(hdrdir)/ruby/internal/intern/string.h +super.o: $(hdrdir)/ruby/internal/intern/struct.h +super.o: $(hdrdir)/ruby/internal/intern/thread.h +super.o: $(hdrdir)/ruby/internal/intern/time.h +super.o: $(hdrdir)/ruby/internal/intern/variable.h +super.o: $(hdrdir)/ruby/internal/intern/vm.h +super.o: $(hdrdir)/ruby/internal/interpreter.h +super.o: $(hdrdir)/ruby/internal/iterator.h +super.o: $(hdrdir)/ruby/internal/memory.h +super.o: $(hdrdir)/ruby/internal/method.h +super.o: $(hdrdir)/ruby/internal/module.h +super.o: $(hdrdir)/ruby/internal/newobj.h +super.o: $(hdrdir)/ruby/internal/scan_args.h +super.o: $(hdrdir)/ruby/internal/special_consts.h +super.o: $(hdrdir)/ruby/internal/static_assert.h +super.o: $(hdrdir)/ruby/internal/stdalign.h +super.o: $(hdrdir)/ruby/internal/stdbool.h +super.o: $(hdrdir)/ruby/internal/stdckdint.h +super.o: $(hdrdir)/ruby/internal/symbol.h +super.o: $(hdrdir)/ruby/internal/value.h +super.o: $(hdrdir)/ruby/internal/value_type.h +super.o: $(hdrdir)/ruby/internal/variable.h +super.o: $(hdrdir)/ruby/internal/warning_push.h +super.o: $(hdrdir)/ruby/internal/xmalloc.h +super.o: $(hdrdir)/ruby/missing.h +super.o: $(hdrdir)/ruby/ruby.h +super.o: $(hdrdir)/ruby/st.h +super.o: $(hdrdir)/ruby/subst.h +super.o: super.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/proc/extconf.rb b/ext/-test-/proc/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/proc/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/proc/init.c b/ext/-test-/proc/init.c new file mode 100644 index 0000000000..814c55d98b --- /dev/null +++ b/ext/-test-/proc/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_proc(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "Proc"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/proc/receiver.c b/ext/-test-/proc/receiver.c new file mode 100644 index 0000000000..fe44a2246c --- /dev/null +++ b/ext/-test-/proc/receiver.c @@ -0,0 +1,21 @@ +#include "ruby.h" + +VALUE rb_current_receiver(void); + +static VALUE +bug_proc_call_receiver(RB_BLOCK_CALL_FUNC_ARGLIST(yieldarg, procarg)) +{ + return rb_current_receiver(); +} + +static VALUE +bug_proc_make_call_receiver(VALUE self, VALUE procarg) +{ + return rb_proc_new(bug_proc_call_receiver, procarg); +} + +void +Init_receiver(VALUE klass) +{ + rb_define_singleton_method(klass, "make_call_receiver", bug_proc_make_call_receiver, 1); +} diff --git a/ext/-test-/proc/super.c b/ext/-test-/proc/super.c new file mode 100644 index 0000000000..816520e1df --- /dev/null +++ b/ext/-test-/proc/super.c @@ -0,0 +1,27 @@ +#include "ruby.h" + +static VALUE +bug_proc_call_super(RB_BLOCK_CALL_FUNC_ARGLIST(yieldarg, procarg)) +{ + VALUE args[2]; + VALUE ret; + args[0] = yieldarg; + args[1] = procarg; + ret = rb_call_super(2, args); + if (!NIL_P(blockarg)) { + ret = rb_proc_call(blockarg, ret); + } + return ret; +} + +static VALUE +bug_proc_make_call_super(VALUE self, VALUE procarg) +{ + return rb_proc_new(bug_proc_call_super, procarg); +} + +void +Init_super(VALUE klass) +{ + rb_define_singleton_method(klass, "make_call_super", bug_proc_make_call_super, 1); +} diff --git a/ext/-test-/public_header_warnings/extconf.rb b/ext/-test-/public_header_warnings/extconf.rb new file mode 100644 index 0000000000..4431e09da4 --- /dev/null +++ b/ext/-test-/public_header_warnings/extconf.rb @@ -0,0 +1,28 @@ +# +# Under compilers with WERRORFLAG, MakeMakefile.try_compile treats warnings as errors, so we can +# use append_cflags to test whether the public header files emit warnings with certain flags turned +# on. +# +def check_append_cflags(flag, msg = nil) + msg ||= "flag #{flag} is not acceptable" + if $CFLAGS.include?(flag) + raise("flag #{flag} already present in $CFLAGS") + end + append_cflags(flag) + unless $CFLAGS.include?(flag) + system("cat mkmf.log") + raise(msg) + end +end + +if %w[gcc clang].include?(RbConfig::CONFIG['CC']) + config_string("WERRORFLAG") or raise("expected WERRORFLAG to be defined") + + # should be acceptable on all modern C compilers + check_append_cflags("-D_TEST_OK", "baseline compiler warning test failed") + + # Feature #20507: Allow compilation of C extensions with -Wconversion + check_append_cflags("-Wconversion", "-Wconversion raising warnings in public headers") +end + +create_makefile("-test-/public_header_warnings") diff --git a/ext/-test-/random/bad_version.c b/ext/-test-/random/bad_version.c new file mode 100644 index 0000000000..dae63a6d19 --- /dev/null +++ b/ext/-test-/random/bad_version.c @@ -0,0 +1,135 @@ +#include "ruby/random.h" + +#if RUBY_RANDOM_INTERFACE_VERSION_MAJOR < RUBY_RANDOM_INTERFACE_VERSION_MAJOR_MAX +# define DEFINE_VERSION_MAX 1 +#else +# define DEFINE_VERSION_MAX 0 +#endif + +NORETURN(static void must_not_reach(void)); +static void +must_not_reach(void) +{ + rb_raise(rb_eTypeError, "must not reach"); +} + +NORETURN(static void bad_version_init(rb_random_t *, const uint32_t *, size_t)); +static void +bad_version_init(rb_random_t *rnd, const uint32_t *buf, size_t len) +{ + must_not_reach(); +} + +NORETURN(static void bad_version_init_int32(rb_random_t *, uint32_t)); +RB_RANDOM_DEFINE_INIT_INT32_FUNC(bad_version) + +NORETURN(static void bad_version_get_bytes(rb_random_t *, void *, size_t)); +static void +bad_version_get_bytes(rb_random_t *rnd, void *p, size_t n) +{ + must_not_reach(); +} + +NORETURN(static uint32_t bad_version_get_int32(rb_random_t *)); +static uint32_t +bad_version_get_int32(rb_random_t *rnd) +{ + must_not_reach(); + UNREACHABLE_RETURN(0); +} + +static VALUE +bad_version_alloc(VALUE klass, const rb_data_type_t *type) +{ + rb_random_t *rnd; + VALUE obj = TypedData_Make_Struct(klass, rb_random_t, type, rnd); + rb_random_base_init(rnd); + return obj; +} + +/* version 0 */ +static const rb_random_interface_t random_version_zero_if; + +static rb_random_data_type_t version_zero_type = { + "random/version_zero", + { + rb_random_mark, + RUBY_TYPED_DEFAULT_FREE, + }, + RB_RANDOM_PARENT, + (void *)&random_version_zero_if, + RUBY_TYPED_FREE_IMMEDIATELY +}; + +static VALUE +version_zero_alloc(VALUE klass) +{ + return bad_version_alloc(klass, &version_zero_type); +} + +static void +init_version_zero(VALUE mod, VALUE base) +{ + VALUE c = rb_define_class_under(mod, "VersionZero", base); + rb_define_alloc_func(c, version_zero_alloc); + RB_RANDOM_DATA_INIT_PARENT(version_zero_type); +} + +#if DEFINE_VERSION_MAX +/* version max */ +static const rb_random_interface_t random_version_max_if; +static rb_random_data_type_t version_max_type = { + "random/version_max", + { + rb_random_mark, + RUBY_TYPED_DEFAULT_FREE, + }, + RB_RANDOM_PARENT, + (void *)&random_version_max_if, + RUBY_TYPED_FREE_IMMEDIATELY +}; + +static VALUE +version_max_alloc(VALUE klass) +{ + return bad_version_alloc(klass, &version_max_type); +} + +static void +init_version_max(VALUE mod, VALUE base) +{ + VALUE c = rb_define_class_under(mod, "VersionMax", base); + rb_define_alloc_func(c, version_max_alloc); + RB_RANDOM_DATA_INIT_PARENT(version_max_type); +} +#else +static void +init_version_max(mod, base) +{ +} +#endif + +void +Init_random_bad_version(VALUE mod, VALUE base) +{ + init_version_zero(mod, base); + init_version_max(mod, base); +} + +#undef RUBY_RANDOM_INTERFACE_VERSION_MAJOR + +#define RUBY_RANDOM_INTERFACE_VERSION_MAJOR 0 +static const rb_random_interface_t random_version_zero_if = { + 0, + RB_RANDOM_INTERFACE_DEFINE(bad_version) +}; +#undef RUBY_RANDOM_INTERFACE_VERSION_MAJOR + +#if DEFINE_VERSION_MAX +#define RUBY_RANDOM_INTERFACE_VERSION_MAJOR RUBY_RANDOM_INTERFACE_VERSION_MAJOR_MAX +static const rb_random_interface_t random_version_max_if = { + 0, + RB_RANDOM_INTERFACE_DEFINE(bad_version) +}; +#undef RUBY_RANDOM_INTERFACE_VERSION_MAJOR +#endif diff --git a/ext/-test-/random/depend b/ext/-test-/random/depend new file mode 100644 index 0000000000..380c30fbe4 --- /dev/null +++ b/ext/-test-/random/depend @@ -0,0 +1,485 @@ +# AUTOGENERATED DEPENDENCIES START +bad_version.o: $(RUBY_EXTCONF_H) +bad_version.o: $(arch_hdrdir)/ruby/config.h +bad_version.o: $(hdrdir)/ruby/assert.h +bad_version.o: $(hdrdir)/ruby/backward.h +bad_version.o: $(hdrdir)/ruby/backward/2/assume.h +bad_version.o: $(hdrdir)/ruby/backward/2/attributes.h +bad_version.o: $(hdrdir)/ruby/backward/2/bool.h +bad_version.o: $(hdrdir)/ruby/backward/2/inttypes.h +bad_version.o: $(hdrdir)/ruby/backward/2/limits.h +bad_version.o: $(hdrdir)/ruby/backward/2/long_long.h +bad_version.o: $(hdrdir)/ruby/backward/2/stdalign.h +bad_version.o: $(hdrdir)/ruby/backward/2/stdarg.h +bad_version.o: $(hdrdir)/ruby/defines.h +bad_version.o: $(hdrdir)/ruby/intern.h +bad_version.o: $(hdrdir)/ruby/internal/abi.h +bad_version.o: $(hdrdir)/ruby/internal/anyargs.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/char.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/double.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/int.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/long.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/short.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +bad_version.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +bad_version.o: $(hdrdir)/ruby/internal/assume.h +bad_version.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +bad_version.o: $(hdrdir)/ruby/internal/attr/artificial.h +bad_version.o: $(hdrdir)/ruby/internal/attr/cold.h +bad_version.o: $(hdrdir)/ruby/internal/attr/const.h +bad_version.o: $(hdrdir)/ruby/internal/attr/constexpr.h +bad_version.o: $(hdrdir)/ruby/internal/attr/deprecated.h +bad_version.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +bad_version.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +bad_version.o: $(hdrdir)/ruby/internal/attr/error.h +bad_version.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +bad_version.o: $(hdrdir)/ruby/internal/attr/forceinline.h +bad_version.o: $(hdrdir)/ruby/internal/attr/format.h +bad_version.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +bad_version.o: $(hdrdir)/ruby/internal/attr/noalias.h +bad_version.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +bad_version.o: $(hdrdir)/ruby/internal/attr/noexcept.h +bad_version.o: $(hdrdir)/ruby/internal/attr/noinline.h +bad_version.o: $(hdrdir)/ruby/internal/attr/nonnull.h +bad_version.o: $(hdrdir)/ruby/internal/attr/noreturn.h +bad_version.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +bad_version.o: $(hdrdir)/ruby/internal/attr/pure.h +bad_version.o: $(hdrdir)/ruby/internal/attr/restrict.h +bad_version.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +bad_version.o: $(hdrdir)/ruby/internal/attr/warning.h +bad_version.o: $(hdrdir)/ruby/internal/attr/weakref.h +bad_version.o: $(hdrdir)/ruby/internal/cast.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +bad_version.o: $(hdrdir)/ruby/internal/compiler_since.h +bad_version.o: $(hdrdir)/ruby/internal/config.h +bad_version.o: $(hdrdir)/ruby/internal/constant_p.h +bad_version.o: $(hdrdir)/ruby/internal/core.h +bad_version.o: $(hdrdir)/ruby/internal/core/rarray.h +bad_version.o: $(hdrdir)/ruby/internal/core/rbasic.h +bad_version.o: $(hdrdir)/ruby/internal/core/rbignum.h +bad_version.o: $(hdrdir)/ruby/internal/core/rclass.h +bad_version.o: $(hdrdir)/ruby/internal/core/rdata.h +bad_version.o: $(hdrdir)/ruby/internal/core/rfile.h +bad_version.o: $(hdrdir)/ruby/internal/core/rhash.h +bad_version.o: $(hdrdir)/ruby/internal/core/robject.h +bad_version.o: $(hdrdir)/ruby/internal/core/rregexp.h +bad_version.o: $(hdrdir)/ruby/internal/core/rstring.h +bad_version.o: $(hdrdir)/ruby/internal/core/rstruct.h +bad_version.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +bad_version.o: $(hdrdir)/ruby/internal/ctype.h +bad_version.o: $(hdrdir)/ruby/internal/dllexport.h +bad_version.o: $(hdrdir)/ruby/internal/dosish.h +bad_version.o: $(hdrdir)/ruby/internal/error.h +bad_version.o: $(hdrdir)/ruby/internal/eval.h +bad_version.o: $(hdrdir)/ruby/internal/event.h +bad_version.o: $(hdrdir)/ruby/internal/fl_type.h +bad_version.o: $(hdrdir)/ruby/internal/gc.h +bad_version.o: $(hdrdir)/ruby/internal/glob.h +bad_version.o: $(hdrdir)/ruby/internal/globals.h +bad_version.o: $(hdrdir)/ruby/internal/has/attribute.h +bad_version.o: $(hdrdir)/ruby/internal/has/builtin.h +bad_version.o: $(hdrdir)/ruby/internal/has/c_attribute.h +bad_version.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +bad_version.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +bad_version.o: $(hdrdir)/ruby/internal/has/extension.h +bad_version.o: $(hdrdir)/ruby/internal/has/feature.h +bad_version.o: $(hdrdir)/ruby/internal/has/warning.h +bad_version.o: $(hdrdir)/ruby/internal/intern/array.h +bad_version.o: $(hdrdir)/ruby/internal/intern/bignum.h +bad_version.o: $(hdrdir)/ruby/internal/intern/class.h +bad_version.o: $(hdrdir)/ruby/internal/intern/compar.h +bad_version.o: $(hdrdir)/ruby/internal/intern/complex.h +bad_version.o: $(hdrdir)/ruby/internal/intern/cont.h +bad_version.o: $(hdrdir)/ruby/internal/intern/dir.h +bad_version.o: $(hdrdir)/ruby/internal/intern/enum.h +bad_version.o: $(hdrdir)/ruby/internal/intern/enumerator.h +bad_version.o: $(hdrdir)/ruby/internal/intern/error.h +bad_version.o: $(hdrdir)/ruby/internal/intern/eval.h +bad_version.o: $(hdrdir)/ruby/internal/intern/file.h +bad_version.o: $(hdrdir)/ruby/internal/intern/hash.h +bad_version.o: $(hdrdir)/ruby/internal/intern/io.h +bad_version.o: $(hdrdir)/ruby/internal/intern/load.h +bad_version.o: $(hdrdir)/ruby/internal/intern/marshal.h +bad_version.o: $(hdrdir)/ruby/internal/intern/numeric.h +bad_version.o: $(hdrdir)/ruby/internal/intern/object.h +bad_version.o: $(hdrdir)/ruby/internal/intern/parse.h +bad_version.o: $(hdrdir)/ruby/internal/intern/proc.h +bad_version.o: $(hdrdir)/ruby/internal/intern/process.h +bad_version.o: $(hdrdir)/ruby/internal/intern/random.h +bad_version.o: $(hdrdir)/ruby/internal/intern/range.h +bad_version.o: $(hdrdir)/ruby/internal/intern/rational.h +bad_version.o: $(hdrdir)/ruby/internal/intern/re.h +bad_version.o: $(hdrdir)/ruby/internal/intern/ruby.h +bad_version.o: $(hdrdir)/ruby/internal/intern/select.h +bad_version.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +bad_version.o: $(hdrdir)/ruby/internal/intern/set.h +bad_version.o: $(hdrdir)/ruby/internal/intern/signal.h +bad_version.o: $(hdrdir)/ruby/internal/intern/sprintf.h +bad_version.o: $(hdrdir)/ruby/internal/intern/string.h +bad_version.o: $(hdrdir)/ruby/internal/intern/struct.h +bad_version.o: $(hdrdir)/ruby/internal/intern/thread.h +bad_version.o: $(hdrdir)/ruby/internal/intern/time.h +bad_version.o: $(hdrdir)/ruby/internal/intern/variable.h +bad_version.o: $(hdrdir)/ruby/internal/intern/vm.h +bad_version.o: $(hdrdir)/ruby/internal/interpreter.h +bad_version.o: $(hdrdir)/ruby/internal/iterator.h +bad_version.o: $(hdrdir)/ruby/internal/memory.h +bad_version.o: $(hdrdir)/ruby/internal/method.h +bad_version.o: $(hdrdir)/ruby/internal/module.h +bad_version.o: $(hdrdir)/ruby/internal/newobj.h +bad_version.o: $(hdrdir)/ruby/internal/scan_args.h +bad_version.o: $(hdrdir)/ruby/internal/special_consts.h +bad_version.o: $(hdrdir)/ruby/internal/static_assert.h +bad_version.o: $(hdrdir)/ruby/internal/stdalign.h +bad_version.o: $(hdrdir)/ruby/internal/stdbool.h +bad_version.o: $(hdrdir)/ruby/internal/stdckdint.h +bad_version.o: $(hdrdir)/ruby/internal/symbol.h +bad_version.o: $(hdrdir)/ruby/internal/value.h +bad_version.o: $(hdrdir)/ruby/internal/value_type.h +bad_version.o: $(hdrdir)/ruby/internal/variable.h +bad_version.o: $(hdrdir)/ruby/internal/warning_push.h +bad_version.o: $(hdrdir)/ruby/internal/xmalloc.h +bad_version.o: $(hdrdir)/ruby/missing.h +bad_version.o: $(hdrdir)/ruby/random.h +bad_version.o: $(hdrdir)/ruby/ruby.h +bad_version.o: $(hdrdir)/ruby/st.h +bad_version.o: $(hdrdir)/ruby/subst.h +bad_version.o: bad_version.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +loop.o: $(RUBY_EXTCONF_H) +loop.o: $(arch_hdrdir)/ruby/config.h +loop.o: $(hdrdir)/ruby/assert.h +loop.o: $(hdrdir)/ruby/backward.h +loop.o: $(hdrdir)/ruby/backward/2/assume.h +loop.o: $(hdrdir)/ruby/backward/2/attributes.h +loop.o: $(hdrdir)/ruby/backward/2/bool.h +loop.o: $(hdrdir)/ruby/backward/2/inttypes.h +loop.o: $(hdrdir)/ruby/backward/2/limits.h +loop.o: $(hdrdir)/ruby/backward/2/long_long.h +loop.o: $(hdrdir)/ruby/backward/2/stdalign.h +loop.o: $(hdrdir)/ruby/backward/2/stdarg.h +loop.o: $(hdrdir)/ruby/defines.h +loop.o: $(hdrdir)/ruby/intern.h +loop.o: $(hdrdir)/ruby/internal/abi.h +loop.o: $(hdrdir)/ruby/internal/anyargs.h +loop.o: $(hdrdir)/ruby/internal/arithmetic.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/char.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/double.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/int.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/long.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/short.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +loop.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +loop.o: $(hdrdir)/ruby/internal/assume.h +loop.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +loop.o: $(hdrdir)/ruby/internal/attr/artificial.h +loop.o: $(hdrdir)/ruby/internal/attr/cold.h +loop.o: $(hdrdir)/ruby/internal/attr/const.h +loop.o: $(hdrdir)/ruby/internal/attr/constexpr.h +loop.o: $(hdrdir)/ruby/internal/attr/deprecated.h +loop.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +loop.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +loop.o: $(hdrdir)/ruby/internal/attr/error.h +loop.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +loop.o: $(hdrdir)/ruby/internal/attr/forceinline.h +loop.o: $(hdrdir)/ruby/internal/attr/format.h +loop.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +loop.o: $(hdrdir)/ruby/internal/attr/noalias.h +loop.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +loop.o: $(hdrdir)/ruby/internal/attr/noexcept.h +loop.o: $(hdrdir)/ruby/internal/attr/noinline.h +loop.o: $(hdrdir)/ruby/internal/attr/nonnull.h +loop.o: $(hdrdir)/ruby/internal/attr/noreturn.h +loop.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +loop.o: $(hdrdir)/ruby/internal/attr/pure.h +loop.o: $(hdrdir)/ruby/internal/attr/restrict.h +loop.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +loop.o: $(hdrdir)/ruby/internal/attr/warning.h +loop.o: $(hdrdir)/ruby/internal/attr/weakref.h +loop.o: $(hdrdir)/ruby/internal/cast.h +loop.o: $(hdrdir)/ruby/internal/compiler_is.h +loop.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +loop.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +loop.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +loop.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +loop.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +loop.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +loop.o: $(hdrdir)/ruby/internal/compiler_since.h +loop.o: $(hdrdir)/ruby/internal/config.h +loop.o: $(hdrdir)/ruby/internal/constant_p.h +loop.o: $(hdrdir)/ruby/internal/core.h +loop.o: $(hdrdir)/ruby/internal/core/rarray.h +loop.o: $(hdrdir)/ruby/internal/core/rbasic.h +loop.o: $(hdrdir)/ruby/internal/core/rbignum.h +loop.o: $(hdrdir)/ruby/internal/core/rclass.h +loop.o: $(hdrdir)/ruby/internal/core/rdata.h +loop.o: $(hdrdir)/ruby/internal/core/rfile.h +loop.o: $(hdrdir)/ruby/internal/core/rhash.h +loop.o: $(hdrdir)/ruby/internal/core/robject.h +loop.o: $(hdrdir)/ruby/internal/core/rregexp.h +loop.o: $(hdrdir)/ruby/internal/core/rstring.h +loop.o: $(hdrdir)/ruby/internal/core/rstruct.h +loop.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +loop.o: $(hdrdir)/ruby/internal/ctype.h +loop.o: $(hdrdir)/ruby/internal/dllexport.h +loop.o: $(hdrdir)/ruby/internal/dosish.h +loop.o: $(hdrdir)/ruby/internal/error.h +loop.o: $(hdrdir)/ruby/internal/eval.h +loop.o: $(hdrdir)/ruby/internal/event.h +loop.o: $(hdrdir)/ruby/internal/fl_type.h +loop.o: $(hdrdir)/ruby/internal/gc.h +loop.o: $(hdrdir)/ruby/internal/glob.h +loop.o: $(hdrdir)/ruby/internal/globals.h +loop.o: $(hdrdir)/ruby/internal/has/attribute.h +loop.o: $(hdrdir)/ruby/internal/has/builtin.h +loop.o: $(hdrdir)/ruby/internal/has/c_attribute.h +loop.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +loop.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +loop.o: $(hdrdir)/ruby/internal/has/extension.h +loop.o: $(hdrdir)/ruby/internal/has/feature.h +loop.o: $(hdrdir)/ruby/internal/has/warning.h +loop.o: $(hdrdir)/ruby/internal/intern/array.h +loop.o: $(hdrdir)/ruby/internal/intern/bignum.h +loop.o: $(hdrdir)/ruby/internal/intern/class.h +loop.o: $(hdrdir)/ruby/internal/intern/compar.h +loop.o: $(hdrdir)/ruby/internal/intern/complex.h +loop.o: $(hdrdir)/ruby/internal/intern/cont.h +loop.o: $(hdrdir)/ruby/internal/intern/dir.h +loop.o: $(hdrdir)/ruby/internal/intern/enum.h +loop.o: $(hdrdir)/ruby/internal/intern/enumerator.h +loop.o: $(hdrdir)/ruby/internal/intern/error.h +loop.o: $(hdrdir)/ruby/internal/intern/eval.h +loop.o: $(hdrdir)/ruby/internal/intern/file.h +loop.o: $(hdrdir)/ruby/internal/intern/hash.h +loop.o: $(hdrdir)/ruby/internal/intern/io.h +loop.o: $(hdrdir)/ruby/internal/intern/load.h +loop.o: $(hdrdir)/ruby/internal/intern/marshal.h +loop.o: $(hdrdir)/ruby/internal/intern/numeric.h +loop.o: $(hdrdir)/ruby/internal/intern/object.h +loop.o: $(hdrdir)/ruby/internal/intern/parse.h +loop.o: $(hdrdir)/ruby/internal/intern/proc.h +loop.o: $(hdrdir)/ruby/internal/intern/process.h +loop.o: $(hdrdir)/ruby/internal/intern/random.h +loop.o: $(hdrdir)/ruby/internal/intern/range.h +loop.o: $(hdrdir)/ruby/internal/intern/rational.h +loop.o: $(hdrdir)/ruby/internal/intern/re.h +loop.o: $(hdrdir)/ruby/internal/intern/ruby.h +loop.o: $(hdrdir)/ruby/internal/intern/select.h +loop.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +loop.o: $(hdrdir)/ruby/internal/intern/set.h +loop.o: $(hdrdir)/ruby/internal/intern/signal.h +loop.o: $(hdrdir)/ruby/internal/intern/sprintf.h +loop.o: $(hdrdir)/ruby/internal/intern/string.h +loop.o: $(hdrdir)/ruby/internal/intern/struct.h +loop.o: $(hdrdir)/ruby/internal/intern/thread.h +loop.o: $(hdrdir)/ruby/internal/intern/time.h +loop.o: $(hdrdir)/ruby/internal/intern/variable.h +loop.o: $(hdrdir)/ruby/internal/intern/vm.h +loop.o: $(hdrdir)/ruby/internal/interpreter.h +loop.o: $(hdrdir)/ruby/internal/iterator.h +loop.o: $(hdrdir)/ruby/internal/memory.h +loop.o: $(hdrdir)/ruby/internal/method.h +loop.o: $(hdrdir)/ruby/internal/module.h +loop.o: $(hdrdir)/ruby/internal/newobj.h +loop.o: $(hdrdir)/ruby/internal/scan_args.h +loop.o: $(hdrdir)/ruby/internal/special_consts.h +loop.o: $(hdrdir)/ruby/internal/static_assert.h +loop.o: $(hdrdir)/ruby/internal/stdalign.h +loop.o: $(hdrdir)/ruby/internal/stdbool.h +loop.o: $(hdrdir)/ruby/internal/stdckdint.h +loop.o: $(hdrdir)/ruby/internal/symbol.h +loop.o: $(hdrdir)/ruby/internal/value.h +loop.o: $(hdrdir)/ruby/internal/value_type.h +loop.o: $(hdrdir)/ruby/internal/variable.h +loop.o: $(hdrdir)/ruby/internal/warning_push.h +loop.o: $(hdrdir)/ruby/internal/xmalloc.h +loop.o: $(hdrdir)/ruby/missing.h +loop.o: $(hdrdir)/ruby/random.h +loop.o: $(hdrdir)/ruby/ruby.h +loop.o: $(hdrdir)/ruby/st.h +loop.o: $(hdrdir)/ruby/subst.h +loop.o: loop.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/random/extconf.rb b/ext/-test-/random/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/random/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/random/init.c b/ext/-test-/random/init.c new file mode 100644 index 0000000000..320cba0ad6 --- /dev/null +++ b/ext/-test-/random/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_random_##n(VALUE mod, VALUE base); Init_random_##n(mod, base);} + +void +Init_random(void) +{ + VALUE base = rb_const_get(rb_cRandom, rb_intern_const("Base")); + VALUE mod = rb_define_module_under(rb_define_module("Bug"), "Random"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/random/loop.c b/ext/-test-/random/loop.c new file mode 100644 index 0000000000..f79e5cfd83 --- /dev/null +++ b/ext/-test-/random/loop.c @@ -0,0 +1,120 @@ +#include "ruby/random.h" + +static const uint32_t max_seeds = 1024; + +typedef struct { + rb_random_t base; + uint32_t num, idx, *buf; +} rand_loop_t; + +RB_RANDOM_INTERFACE_DECLARE_WITH_REAL(loop); +static const rb_random_interface_t random_loop_if = { + 32, + RB_RANDOM_INTERFACE_DEFINE_WITH_REAL(loop) +}; + +static void +loop_free(void *ptr) +{ + rand_loop_t *r = ptr; + + xfree(r->buf); + xfree(r); +} + +RB_RANDOM_DEFINE_INIT_INT32_FUNC(loop) +static size_t +random_loop_memsize(const void *ptr) +{ + const rand_loop_t *r = ptr; + return sizeof(*r) + r->num * sizeof(r->buf[0]); +} + +static rb_random_data_type_t random_loop_type = { + "random/loop", + { + rb_random_mark, + loop_free, + random_loop_memsize, + }, + RB_RANDOM_PARENT, + (void *)&random_loop_if, + RUBY_TYPED_FREE_IMMEDIATELY +}; + + +static VALUE +loop_alloc(VALUE klass) +{ + rand_loop_t *rnd; + VALUE obj = TypedData_Make_Struct(klass, rand_loop_t, &random_loop_type, rnd); + rb_random_base_init(&rnd->base); + return obj; +} + +static void +loop_init(rb_random_t *rnd, const uint32_t *buf, size_t len) +{ + rand_loop_t *r = (rand_loop_t *)rnd; + + if (len > max_seeds) len = max_seeds; + + REALLOC_N(r->buf, uint32_t, len); + MEMCPY(r->buf, buf, uint32_t, (r->num = (uint32_t)len)); +} + +static void +loop_get_bytes(rb_random_t *rnd, void *p, size_t n) +{ + uint8_t *buf = p; + while (n > 0) { + uint32_t x = loop_get_int32(rnd); + switch (n % 4) { + case 0: + *buf++ = (uint8_t)x; + n--; + /* FALLTHROUGH */ + case 3: + *buf++ = (uint8_t)x; + n--; + /* FALLTHROUGH */ + case 2: + *buf++ = (uint8_t)x; + n--; + /* FALLTHROUGH */ + case 1: + *buf++ = (uint8_t)x; + n--; + } + } +} + +static uint32_t +loop_get_int32(rb_random_t *rnd) +{ + rand_loop_t *r = (rand_loop_t *)rnd; + if (r->idx < r->num) { + uint32_t x = r->buf[r->idx++]; + if (r->idx >= r->num) r->idx = 0; + return x; + } + else if (r->num) { + return r->buf[r->idx = 0]; + } + return 0; +} + +static double +loop_get_real(rb_random_t *rnd, int excl) +{ + uint32_t a = loop_get_int32(rnd); + return ldexp(a, -16); +} + +void +Init_random_loop(VALUE mod, VALUE base) +{ + VALUE c = rb_define_class_under(mod, "Loop", base); + rb_define_alloc_func(c, loop_alloc); + RB_RANDOM_DATA_INIT_PARENT(random_loop_type); +} diff --git a/ext/-test-/rational/depend b/ext/-test-/rational/depend new file mode 100644 index 0000000000..d949fca66b --- /dev/null +++ b/ext/-test-/rational/depend @@ -0,0 +1,183 @@ +$(OBJS): $(HDRS) $(ruby_headers) + +rat.o: rat.c $(top_srcdir)/internal.h + +# AUTOGENERATED DEPENDENCIES START +rat.o: $(RUBY_EXTCONF_H) +rat.o: $(arch_hdrdir)/ruby/config.h +rat.o: $(hdrdir)/ruby/assert.h +rat.o: $(hdrdir)/ruby/backward.h +rat.o: $(hdrdir)/ruby/backward/2/assume.h +rat.o: $(hdrdir)/ruby/backward/2/attributes.h +rat.o: $(hdrdir)/ruby/backward/2/bool.h +rat.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +rat.o: $(hdrdir)/ruby/backward/2/inttypes.h +rat.o: $(hdrdir)/ruby/backward/2/limits.h +rat.o: $(hdrdir)/ruby/backward/2/long_long.h +rat.o: $(hdrdir)/ruby/backward/2/stdalign.h +rat.o: $(hdrdir)/ruby/backward/2/stdarg.h +rat.o: $(hdrdir)/ruby/defines.h +rat.o: $(hdrdir)/ruby/intern.h +rat.o: $(hdrdir)/ruby/internal/abi.h +rat.o: $(hdrdir)/ruby/internal/anyargs.h +rat.o: $(hdrdir)/ruby/internal/arithmetic.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/char.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/double.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/int.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/long.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/short.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +rat.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +rat.o: $(hdrdir)/ruby/internal/assume.h +rat.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +rat.o: $(hdrdir)/ruby/internal/attr/artificial.h +rat.o: $(hdrdir)/ruby/internal/attr/cold.h +rat.o: $(hdrdir)/ruby/internal/attr/const.h +rat.o: $(hdrdir)/ruby/internal/attr/constexpr.h +rat.o: $(hdrdir)/ruby/internal/attr/deprecated.h +rat.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +rat.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +rat.o: $(hdrdir)/ruby/internal/attr/error.h +rat.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +rat.o: $(hdrdir)/ruby/internal/attr/forceinline.h +rat.o: $(hdrdir)/ruby/internal/attr/format.h +rat.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +rat.o: $(hdrdir)/ruby/internal/attr/noalias.h +rat.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +rat.o: $(hdrdir)/ruby/internal/attr/noexcept.h +rat.o: $(hdrdir)/ruby/internal/attr/noinline.h +rat.o: $(hdrdir)/ruby/internal/attr/nonnull.h +rat.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rat.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +rat.o: $(hdrdir)/ruby/internal/attr/pure.h +rat.o: $(hdrdir)/ruby/internal/attr/restrict.h +rat.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +rat.o: $(hdrdir)/ruby/internal/attr/warning.h +rat.o: $(hdrdir)/ruby/internal/attr/weakref.h +rat.o: $(hdrdir)/ruby/internal/cast.h +rat.o: $(hdrdir)/ruby/internal/compiler_is.h +rat.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +rat.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +rat.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +rat.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +rat.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +rat.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +rat.o: $(hdrdir)/ruby/internal/compiler_since.h +rat.o: $(hdrdir)/ruby/internal/config.h +rat.o: $(hdrdir)/ruby/internal/constant_p.h +rat.o: $(hdrdir)/ruby/internal/core.h +rat.o: $(hdrdir)/ruby/internal/core/rarray.h +rat.o: $(hdrdir)/ruby/internal/core/rbasic.h +rat.o: $(hdrdir)/ruby/internal/core/rbignum.h +rat.o: $(hdrdir)/ruby/internal/core/rclass.h +rat.o: $(hdrdir)/ruby/internal/core/rdata.h +rat.o: $(hdrdir)/ruby/internal/core/rfile.h +rat.o: $(hdrdir)/ruby/internal/core/rhash.h +rat.o: $(hdrdir)/ruby/internal/core/robject.h +rat.o: $(hdrdir)/ruby/internal/core/rregexp.h +rat.o: $(hdrdir)/ruby/internal/core/rstring.h +rat.o: $(hdrdir)/ruby/internal/core/rstruct.h +rat.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +rat.o: $(hdrdir)/ruby/internal/ctype.h +rat.o: $(hdrdir)/ruby/internal/dllexport.h +rat.o: $(hdrdir)/ruby/internal/dosish.h +rat.o: $(hdrdir)/ruby/internal/error.h +rat.o: $(hdrdir)/ruby/internal/eval.h +rat.o: $(hdrdir)/ruby/internal/event.h +rat.o: $(hdrdir)/ruby/internal/fl_type.h +rat.o: $(hdrdir)/ruby/internal/gc.h +rat.o: $(hdrdir)/ruby/internal/glob.h +rat.o: $(hdrdir)/ruby/internal/globals.h +rat.o: $(hdrdir)/ruby/internal/has/attribute.h +rat.o: $(hdrdir)/ruby/internal/has/builtin.h +rat.o: $(hdrdir)/ruby/internal/has/c_attribute.h +rat.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +rat.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +rat.o: $(hdrdir)/ruby/internal/has/extension.h +rat.o: $(hdrdir)/ruby/internal/has/feature.h +rat.o: $(hdrdir)/ruby/internal/has/warning.h +rat.o: $(hdrdir)/ruby/internal/intern/array.h +rat.o: $(hdrdir)/ruby/internal/intern/bignum.h +rat.o: $(hdrdir)/ruby/internal/intern/class.h +rat.o: $(hdrdir)/ruby/internal/intern/compar.h +rat.o: $(hdrdir)/ruby/internal/intern/complex.h +rat.o: $(hdrdir)/ruby/internal/intern/cont.h +rat.o: $(hdrdir)/ruby/internal/intern/dir.h +rat.o: $(hdrdir)/ruby/internal/intern/enum.h +rat.o: $(hdrdir)/ruby/internal/intern/enumerator.h +rat.o: $(hdrdir)/ruby/internal/intern/error.h +rat.o: $(hdrdir)/ruby/internal/intern/eval.h +rat.o: $(hdrdir)/ruby/internal/intern/file.h +rat.o: $(hdrdir)/ruby/internal/intern/hash.h +rat.o: $(hdrdir)/ruby/internal/intern/io.h +rat.o: $(hdrdir)/ruby/internal/intern/load.h +rat.o: $(hdrdir)/ruby/internal/intern/marshal.h +rat.o: $(hdrdir)/ruby/internal/intern/numeric.h +rat.o: $(hdrdir)/ruby/internal/intern/object.h +rat.o: $(hdrdir)/ruby/internal/intern/parse.h +rat.o: $(hdrdir)/ruby/internal/intern/proc.h +rat.o: $(hdrdir)/ruby/internal/intern/process.h +rat.o: $(hdrdir)/ruby/internal/intern/random.h +rat.o: $(hdrdir)/ruby/internal/intern/range.h +rat.o: $(hdrdir)/ruby/internal/intern/rational.h +rat.o: $(hdrdir)/ruby/internal/intern/re.h +rat.o: $(hdrdir)/ruby/internal/intern/ruby.h +rat.o: $(hdrdir)/ruby/internal/intern/select.h +rat.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +rat.o: $(hdrdir)/ruby/internal/intern/set.h +rat.o: $(hdrdir)/ruby/internal/intern/signal.h +rat.o: $(hdrdir)/ruby/internal/intern/sprintf.h +rat.o: $(hdrdir)/ruby/internal/intern/string.h +rat.o: $(hdrdir)/ruby/internal/intern/struct.h +rat.o: $(hdrdir)/ruby/internal/intern/thread.h +rat.o: $(hdrdir)/ruby/internal/intern/time.h +rat.o: $(hdrdir)/ruby/internal/intern/variable.h +rat.o: $(hdrdir)/ruby/internal/intern/vm.h +rat.o: $(hdrdir)/ruby/internal/interpreter.h +rat.o: $(hdrdir)/ruby/internal/iterator.h +rat.o: $(hdrdir)/ruby/internal/memory.h +rat.o: $(hdrdir)/ruby/internal/method.h +rat.o: $(hdrdir)/ruby/internal/module.h +rat.o: $(hdrdir)/ruby/internal/newobj.h +rat.o: $(hdrdir)/ruby/internal/scan_args.h +rat.o: $(hdrdir)/ruby/internal/special_consts.h +rat.o: $(hdrdir)/ruby/internal/static_assert.h +rat.o: $(hdrdir)/ruby/internal/stdalign.h +rat.o: $(hdrdir)/ruby/internal/stdbool.h +rat.o: $(hdrdir)/ruby/internal/stdckdint.h +rat.o: $(hdrdir)/ruby/internal/symbol.h +rat.o: $(hdrdir)/ruby/internal/value.h +rat.o: $(hdrdir)/ruby/internal/value_type.h +rat.o: $(hdrdir)/ruby/internal/variable.h +rat.o: $(hdrdir)/ruby/internal/warning_push.h +rat.o: $(hdrdir)/ruby/internal/xmalloc.h +rat.o: $(hdrdir)/ruby/missing.h +rat.o: $(hdrdir)/ruby/ruby.h +rat.o: $(hdrdir)/ruby/st.h +rat.o: $(hdrdir)/ruby/subst.h +rat.o: $(top_srcdir)/internal.h +rat.o: $(top_srcdir)/internal/basic_operators.h +rat.o: $(top_srcdir)/internal/bignum.h +rat.o: $(top_srcdir)/internal/bits.h +rat.o: $(top_srcdir)/internal/compar.h +rat.o: $(top_srcdir)/internal/compilers.h +rat.o: $(top_srcdir)/internal/fixnum.h +rat.o: $(top_srcdir)/internal/gc.h +rat.o: $(top_srcdir)/internal/numeric.h +rat.o: $(top_srcdir)/internal/rational.h +rat.o: $(top_srcdir)/internal/serial.h +rat.o: $(top_srcdir)/internal/static_assert.h +rat.o: $(top_srcdir)/internal/vm.h +rat.o: $(top_srcdir)/internal/warnings.h +rat.o: $(top_srcdir)/ruby_assert.h +rat.o: $(top_srcdir)/shape.h +rat.o: rat.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/rational/extconf.rb b/ext/-test-/rational/extconf.rb new file mode 100644 index 0000000000..28c5d690c1 --- /dev/null +++ b/ext/-test-/rational/extconf.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: false +$INCFLAGS << " -I$(topdir) -I$(top_srcdir)" +$srcs = Dir[File.join($srcdir, "*.{#{SRC_EXT.join(%q{,})}}")] +inits = $srcs.map {|s| File.basename(s, ".*")} +inits.delete("init") +inits.map! {|s|"X(#{s})"} +$defs << "-DTEST_INIT_FUNCS(X)=\"#{inits.join(' ')}\"" +create_makefile("-test-/rational") diff --git a/ext/-test-/rational/rat.c b/ext/-test-/rational/rat.c new file mode 100644 index 0000000000..6489fe3d7c --- /dev/null +++ b/ext/-test-/rational/rat.c @@ -0,0 +1,48 @@ +#include "internal/rational.h" + +#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H) +static VALUE +big(VALUE x) +{ + if (FIXNUM_P(x)) + return rb_int2big(FIX2LONG(x)); + if (RB_TYPE_P(x, T_BIGNUM)) + return x; + rb_raise(rb_eTypeError, "can't convert %s to Bignum", + rb_obj_classname(x)); +} +#endif + +static VALUE +gcd_normal(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_gcd_normal(rb_to_int(x), rb_to_int(y))); +} + +#if defined(HAVE_LIBGMP) && defined(HAVE_GMP_H) +static VALUE +gcd_gmp(VALUE klass, VALUE x, VALUE y) +{ + return rb_big_norm(rb_gcd_gmp(big(x), big(y))); +} +#else +#define gcd_gmp rb_f_notimplement +#endif + +static VALUE +s_rational_raw(VALUE klass, VALUE x, VALUE y) +{ + return rb_rational_raw(x, y); +} + +void +Init_rational(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "Rational"); + + rb_define_singleton_method(klass, "gcd_normal", gcd_normal, 2); + rb_define_singleton_method(klass, "gcd_gmp", gcd_gmp, 2); + + rb_define_singleton_method(klass, "raw", s_rational_raw, 2); +} diff --git a/ext/-test-/rb_call_super_kw/depend b/ext/-test-/rb_call_super_kw/depend new file mode 100644 index 0000000000..bf34323ca7 --- /dev/null +++ b/ext/-test-/rb_call_super_kw/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +rb_call_super_kw.o: $(RUBY_EXTCONF_H) +rb_call_super_kw.o: $(arch_hdrdir)/ruby/config.h +rb_call_super_kw.o: $(hdrdir)/ruby.h +rb_call_super_kw.o: $(hdrdir)/ruby/assert.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/assume.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/attributes.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/bool.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/inttypes.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/limits.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/long_long.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/stdalign.h +rb_call_super_kw.o: $(hdrdir)/ruby/backward/2/stdarg.h +rb_call_super_kw.o: $(hdrdir)/ruby/defines.h +rb_call_super_kw.o: $(hdrdir)/ruby/intern.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/abi.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/anyargs.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/char.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/double.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/int.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/long.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/short.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/assume.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/artificial.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/cold.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/const.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/constexpr.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/deprecated.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/error.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/forceinline.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/format.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/noalias.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/noexcept.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/noinline.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/nonnull.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/pure.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/restrict.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/warning.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/attr/weakref.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/cast.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/compiler_since.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/config.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/constant_p.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rarray.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rbasic.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rbignum.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rclass.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rdata.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rfile.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rhash.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/robject.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rregexp.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rstring.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rstruct.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/ctype.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/dllexport.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/dosish.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/error.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/eval.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/event.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/fl_type.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/gc.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/glob.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/globals.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/attribute.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/builtin.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/c_attribute.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/extension.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/feature.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/has/warning.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/array.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/bignum.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/class.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/compar.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/complex.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/cont.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/dir.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/enum.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/enumerator.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/error.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/eval.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/file.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/hash.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/io.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/load.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/marshal.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/numeric.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/object.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/parse.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/proc.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/process.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/random.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/range.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/rational.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/re.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/ruby.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/select.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/set.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/signal.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/sprintf.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/string.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/struct.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/thread.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/time.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/variable.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/intern/vm.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/interpreter.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/iterator.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/memory.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/method.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/module.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/newobj.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/scan_args.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/special_consts.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/static_assert.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/stdalign.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/stdbool.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/stdckdint.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/symbol.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/value.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/value_type.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/variable.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/warning_push.h +rb_call_super_kw.o: $(hdrdir)/ruby/internal/xmalloc.h +rb_call_super_kw.o: $(hdrdir)/ruby/missing.h +rb_call_super_kw.o: $(hdrdir)/ruby/ruby.h +rb_call_super_kw.o: $(hdrdir)/ruby/st.h +rb_call_super_kw.o: $(hdrdir)/ruby/subst.h +rb_call_super_kw.o: rb_call_super_kw.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/rb_call_super_kw/extconf.rb b/ext/-test-/rb_call_super_kw/extconf.rb new file mode 100644 index 0000000000..c6a5c720d7 --- /dev/null +++ b/ext/-test-/rb_call_super_kw/extconf.rb @@ -0,0 +1 @@ +create_makefile("-test-/rb_call_super_kw") diff --git a/ext/-test-/rb_call_super_kw/rb_call_super_kw.c b/ext/-test-/rb_call_super_kw/rb_call_super_kw.c new file mode 100644 index 0000000000..61681ed733 --- /dev/null +++ b/ext/-test-/rb_call_super_kw/rb_call_super_kw.c @@ -0,0 +1,15 @@ +#include <ruby.h> + +static VALUE +rb_call_super_kw_m(int argc, VALUE *argv, VALUE self) +{ + return rb_call_super_kw(argc, argv, RB_PASS_CALLED_KEYWORDS); +} + +void +Init_rb_call_super_kw(void) +{ + VALUE module = rb_define_module("Bug"); + module = rb_define_module_under(module, "RbCallSuperKw"); + rb_define_method(module, "m", rb_call_super_kw_m, -1); +} diff --git a/ext/-test-/recursion/depend b/ext/-test-/recursion/depend new file mode 100644 index 0000000000..b6487eb4df --- /dev/null +++ b/ext/-test-/recursion/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +recursion.o: $(RUBY_EXTCONF_H) +recursion.o: $(arch_hdrdir)/ruby/config.h +recursion.o: $(hdrdir)/ruby.h +recursion.o: $(hdrdir)/ruby/assert.h +recursion.o: $(hdrdir)/ruby/backward.h +recursion.o: $(hdrdir)/ruby/backward/2/assume.h +recursion.o: $(hdrdir)/ruby/backward/2/attributes.h +recursion.o: $(hdrdir)/ruby/backward/2/bool.h +recursion.o: $(hdrdir)/ruby/backward/2/inttypes.h +recursion.o: $(hdrdir)/ruby/backward/2/limits.h +recursion.o: $(hdrdir)/ruby/backward/2/long_long.h +recursion.o: $(hdrdir)/ruby/backward/2/stdalign.h +recursion.o: $(hdrdir)/ruby/backward/2/stdarg.h +recursion.o: $(hdrdir)/ruby/defines.h +recursion.o: $(hdrdir)/ruby/intern.h +recursion.o: $(hdrdir)/ruby/internal/abi.h +recursion.o: $(hdrdir)/ruby/internal/anyargs.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/char.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/double.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/int.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/long.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/short.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +recursion.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +recursion.o: $(hdrdir)/ruby/internal/assume.h +recursion.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +recursion.o: $(hdrdir)/ruby/internal/attr/artificial.h +recursion.o: $(hdrdir)/ruby/internal/attr/cold.h +recursion.o: $(hdrdir)/ruby/internal/attr/const.h +recursion.o: $(hdrdir)/ruby/internal/attr/constexpr.h +recursion.o: $(hdrdir)/ruby/internal/attr/deprecated.h +recursion.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +recursion.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +recursion.o: $(hdrdir)/ruby/internal/attr/error.h +recursion.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +recursion.o: $(hdrdir)/ruby/internal/attr/forceinline.h +recursion.o: $(hdrdir)/ruby/internal/attr/format.h +recursion.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +recursion.o: $(hdrdir)/ruby/internal/attr/noalias.h +recursion.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +recursion.o: $(hdrdir)/ruby/internal/attr/noexcept.h +recursion.o: $(hdrdir)/ruby/internal/attr/noinline.h +recursion.o: $(hdrdir)/ruby/internal/attr/nonnull.h +recursion.o: $(hdrdir)/ruby/internal/attr/noreturn.h +recursion.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +recursion.o: $(hdrdir)/ruby/internal/attr/pure.h +recursion.o: $(hdrdir)/ruby/internal/attr/restrict.h +recursion.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +recursion.o: $(hdrdir)/ruby/internal/attr/warning.h +recursion.o: $(hdrdir)/ruby/internal/attr/weakref.h +recursion.o: $(hdrdir)/ruby/internal/cast.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +recursion.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +recursion.o: $(hdrdir)/ruby/internal/compiler_since.h +recursion.o: $(hdrdir)/ruby/internal/config.h +recursion.o: $(hdrdir)/ruby/internal/constant_p.h +recursion.o: $(hdrdir)/ruby/internal/core.h +recursion.o: $(hdrdir)/ruby/internal/core/rarray.h +recursion.o: $(hdrdir)/ruby/internal/core/rbasic.h +recursion.o: $(hdrdir)/ruby/internal/core/rbignum.h +recursion.o: $(hdrdir)/ruby/internal/core/rclass.h +recursion.o: $(hdrdir)/ruby/internal/core/rdata.h +recursion.o: $(hdrdir)/ruby/internal/core/rfile.h +recursion.o: $(hdrdir)/ruby/internal/core/rhash.h +recursion.o: $(hdrdir)/ruby/internal/core/robject.h +recursion.o: $(hdrdir)/ruby/internal/core/rregexp.h +recursion.o: $(hdrdir)/ruby/internal/core/rstring.h +recursion.o: $(hdrdir)/ruby/internal/core/rstruct.h +recursion.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +recursion.o: $(hdrdir)/ruby/internal/ctype.h +recursion.o: $(hdrdir)/ruby/internal/dllexport.h +recursion.o: $(hdrdir)/ruby/internal/dosish.h +recursion.o: $(hdrdir)/ruby/internal/error.h +recursion.o: $(hdrdir)/ruby/internal/eval.h +recursion.o: $(hdrdir)/ruby/internal/event.h +recursion.o: $(hdrdir)/ruby/internal/fl_type.h +recursion.o: $(hdrdir)/ruby/internal/gc.h +recursion.o: $(hdrdir)/ruby/internal/glob.h +recursion.o: $(hdrdir)/ruby/internal/globals.h +recursion.o: $(hdrdir)/ruby/internal/has/attribute.h +recursion.o: $(hdrdir)/ruby/internal/has/builtin.h +recursion.o: $(hdrdir)/ruby/internal/has/c_attribute.h +recursion.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +recursion.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +recursion.o: $(hdrdir)/ruby/internal/has/extension.h +recursion.o: $(hdrdir)/ruby/internal/has/feature.h +recursion.o: $(hdrdir)/ruby/internal/has/warning.h +recursion.o: $(hdrdir)/ruby/internal/intern/array.h +recursion.o: $(hdrdir)/ruby/internal/intern/bignum.h +recursion.o: $(hdrdir)/ruby/internal/intern/class.h +recursion.o: $(hdrdir)/ruby/internal/intern/compar.h +recursion.o: $(hdrdir)/ruby/internal/intern/complex.h +recursion.o: $(hdrdir)/ruby/internal/intern/cont.h +recursion.o: $(hdrdir)/ruby/internal/intern/dir.h +recursion.o: $(hdrdir)/ruby/internal/intern/enum.h +recursion.o: $(hdrdir)/ruby/internal/intern/enumerator.h +recursion.o: $(hdrdir)/ruby/internal/intern/error.h +recursion.o: $(hdrdir)/ruby/internal/intern/eval.h +recursion.o: $(hdrdir)/ruby/internal/intern/file.h +recursion.o: $(hdrdir)/ruby/internal/intern/hash.h +recursion.o: $(hdrdir)/ruby/internal/intern/io.h +recursion.o: $(hdrdir)/ruby/internal/intern/load.h +recursion.o: $(hdrdir)/ruby/internal/intern/marshal.h +recursion.o: $(hdrdir)/ruby/internal/intern/numeric.h +recursion.o: $(hdrdir)/ruby/internal/intern/object.h +recursion.o: $(hdrdir)/ruby/internal/intern/parse.h +recursion.o: $(hdrdir)/ruby/internal/intern/proc.h +recursion.o: $(hdrdir)/ruby/internal/intern/process.h +recursion.o: $(hdrdir)/ruby/internal/intern/random.h +recursion.o: $(hdrdir)/ruby/internal/intern/range.h +recursion.o: $(hdrdir)/ruby/internal/intern/rational.h +recursion.o: $(hdrdir)/ruby/internal/intern/re.h +recursion.o: $(hdrdir)/ruby/internal/intern/ruby.h +recursion.o: $(hdrdir)/ruby/internal/intern/select.h +recursion.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +recursion.o: $(hdrdir)/ruby/internal/intern/set.h +recursion.o: $(hdrdir)/ruby/internal/intern/signal.h +recursion.o: $(hdrdir)/ruby/internal/intern/sprintf.h +recursion.o: $(hdrdir)/ruby/internal/intern/string.h +recursion.o: $(hdrdir)/ruby/internal/intern/struct.h +recursion.o: $(hdrdir)/ruby/internal/intern/thread.h +recursion.o: $(hdrdir)/ruby/internal/intern/time.h +recursion.o: $(hdrdir)/ruby/internal/intern/variable.h +recursion.o: $(hdrdir)/ruby/internal/intern/vm.h +recursion.o: $(hdrdir)/ruby/internal/interpreter.h +recursion.o: $(hdrdir)/ruby/internal/iterator.h +recursion.o: $(hdrdir)/ruby/internal/memory.h +recursion.o: $(hdrdir)/ruby/internal/method.h +recursion.o: $(hdrdir)/ruby/internal/module.h +recursion.o: $(hdrdir)/ruby/internal/newobj.h +recursion.o: $(hdrdir)/ruby/internal/scan_args.h +recursion.o: $(hdrdir)/ruby/internal/special_consts.h +recursion.o: $(hdrdir)/ruby/internal/static_assert.h +recursion.o: $(hdrdir)/ruby/internal/stdalign.h +recursion.o: $(hdrdir)/ruby/internal/stdbool.h +recursion.o: $(hdrdir)/ruby/internal/stdckdint.h +recursion.o: $(hdrdir)/ruby/internal/symbol.h +recursion.o: $(hdrdir)/ruby/internal/value.h +recursion.o: $(hdrdir)/ruby/internal/value_type.h +recursion.o: $(hdrdir)/ruby/internal/variable.h +recursion.o: $(hdrdir)/ruby/internal/warning_push.h +recursion.o: $(hdrdir)/ruby/internal/xmalloc.h +recursion.o: $(hdrdir)/ruby/missing.h +recursion.o: $(hdrdir)/ruby/ruby.h +recursion.o: $(hdrdir)/ruby/st.h +recursion.o: $(hdrdir)/ruby/subst.h +recursion.o: recursion.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/recursion/extconf.rb b/ext/-test-/recursion/extconf.rb new file mode 100644 index 0000000000..13828113f0 --- /dev/null +++ b/ext/-test-/recursion/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require 'mkmf' +create_makefile("-test-/recursion") diff --git a/ext/-test-/recursion/recursion.c b/ext/-test-/recursion/recursion.c new file mode 100644 index 0000000000..13d41f0ba8 --- /dev/null +++ b/ext/-test-/recursion/recursion.c @@ -0,0 +1,28 @@ +#include <ruby.h> + +static VALUE +recursive_i(VALUE obj, VALUE mid, int recur) +{ + if (recur) return Qnil; + return rb_funcallv(obj, rb_to_id(mid), 0, 0); +} + +static VALUE +exec_recursive(VALUE self, VALUE mid) +{ + return rb_exec_recursive(recursive_i, self, mid); +} + +static VALUE +exec_recursive_outer(VALUE self, VALUE mid) +{ + return rb_exec_recursive_outer(recursive_i, self, mid); +} + +void +Init_recursion(void) +{ + VALUE m = rb_define_module_under(rb_define_module("Bug"), "Recursive"); + rb_define_method(m, "exec_recursive", exec_recursive, 1); + rb_define_method(m, "exec_recursive_outer", exec_recursive_outer, 1); +} diff --git a/ext/-test-/regexp/depend b/ext/-test-/regexp/depend new file mode 100644 index 0000000000..5ba1b92f18 --- /dev/null +++ b/ext/-test-/regexp/depend @@ -0,0 +1,325 @@ +# AUTOGENERATED DEPENDENCIES START +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +parse_depth_limit.o: $(RUBY_EXTCONF_H) +parse_depth_limit.o: $(arch_hdrdir)/ruby/config.h +parse_depth_limit.o: $(hdrdir)/ruby.h +parse_depth_limit.o: $(hdrdir)/ruby/assert.h +parse_depth_limit.o: $(hdrdir)/ruby/backward.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/assume.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/attributes.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/bool.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/inttypes.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/limits.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/long_long.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/stdalign.h +parse_depth_limit.o: $(hdrdir)/ruby/backward/2/stdarg.h +parse_depth_limit.o: $(hdrdir)/ruby/defines.h +parse_depth_limit.o: $(hdrdir)/ruby/intern.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/abi.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/anyargs.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/char.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/double.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/int.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/long.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/short.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/assume.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/artificial.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/cold.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/const.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/constexpr.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/deprecated.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/error.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/forceinline.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/format.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/noalias.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/noexcept.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/noinline.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/nonnull.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/noreturn.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/pure.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/restrict.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/warning.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/attr/weakref.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/cast.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/compiler_since.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/config.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/constant_p.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rarray.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rbasic.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rbignum.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rclass.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rdata.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rfile.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rhash.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/robject.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rregexp.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rstring.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rstruct.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/ctype.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/dllexport.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/dosish.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/error.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/eval.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/event.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/fl_type.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/gc.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/glob.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/globals.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/attribute.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/builtin.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/c_attribute.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/extension.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/feature.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/has/warning.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/array.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/bignum.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/class.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/compar.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/complex.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/cont.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/dir.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/enum.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/enumerator.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/error.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/eval.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/file.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/hash.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/io.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/load.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/marshal.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/numeric.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/object.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/parse.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/proc.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/process.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/random.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/range.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/rational.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/re.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/ruby.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/select.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/set.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/signal.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/sprintf.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/string.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/struct.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/thread.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/time.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/variable.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/intern/vm.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/interpreter.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/iterator.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/memory.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/method.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/module.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/newobj.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/scan_args.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/special_consts.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/static_assert.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/stdalign.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/stdbool.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/stdckdint.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/symbol.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/value.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/value_type.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/variable.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/warning_push.h +parse_depth_limit.o: $(hdrdir)/ruby/internal/xmalloc.h +parse_depth_limit.o: $(hdrdir)/ruby/missing.h +parse_depth_limit.o: $(hdrdir)/ruby/onigmo.h +parse_depth_limit.o: $(hdrdir)/ruby/ruby.h +parse_depth_limit.o: $(hdrdir)/ruby/st.h +parse_depth_limit.o: $(hdrdir)/ruby/subst.h +parse_depth_limit.o: parse_depth_limit.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/regexp/extconf.rb b/ext/-test-/regexp/extconf.rb new file mode 100644 index 0000000000..ca51178a18 --- /dev/null +++ b/ext/-test-/regexp/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext diff --git a/ext/-test-/regexp/init.c b/ext/-test-/regexp/init.c new file mode 100644 index 0000000000..906abe940f --- /dev/null +++ b/ext/-test-/regexp/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_regexp(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Regexp", rb_cRegexp); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/regexp/parse_depth_limit.c b/ext/-test-/regexp/parse_depth_limit.c new file mode 100644 index 0000000000..8e08a5c789 --- /dev/null +++ b/ext/-test-/regexp/parse_depth_limit.c @@ -0,0 +1,23 @@ +#include <ruby.h> +#include <ruby/onigmo.h> + +static VALUE +get_parse_depth_limit(VALUE self) +{ + unsigned int depth = onig_get_parse_depth_limit(); + return UINT2NUM(depth); +} + +static VALUE +set_parse_depth_limit(VALUE self, VALUE depth) +{ + onig_set_parse_depth_limit(NUM2UINT(depth)); + return depth; +} + +void +Init_parse_depth_limit(VALUE klass) +{ + rb_define_singleton_method(klass, "parse_depth_limit", get_parse_depth_limit, 0); + rb_define_singleton_method(klass, "parse_depth_limit=", set_parse_depth_limit, 1); +} diff --git a/ext/-test-/sanitizers/depend b/ext/-test-/sanitizers/depend new file mode 100644 index 0000000000..0e6e632803 --- /dev/null +++ b/ext/-test-/sanitizers/depend @@ -0,0 +1,162 @@ +# AUTOGENERATED DEPENDENCIES START +sanitizers.o: $(RUBY_EXTCONF_H) +sanitizers.o: $(arch_hdrdir)/ruby/config.h +sanitizers.o: $(hdrdir)/ruby/assert.h +sanitizers.o: $(hdrdir)/ruby/backward.h +sanitizers.o: $(hdrdir)/ruby/backward/2/assume.h +sanitizers.o: $(hdrdir)/ruby/backward/2/attributes.h +sanitizers.o: $(hdrdir)/ruby/backward/2/bool.h +sanitizers.o: $(hdrdir)/ruby/backward/2/inttypes.h +sanitizers.o: $(hdrdir)/ruby/backward/2/limits.h +sanitizers.o: $(hdrdir)/ruby/backward/2/long_long.h +sanitizers.o: $(hdrdir)/ruby/backward/2/stdalign.h +sanitizers.o: $(hdrdir)/ruby/backward/2/stdarg.h +sanitizers.o: $(hdrdir)/ruby/defines.h +sanitizers.o: $(hdrdir)/ruby/intern.h +sanitizers.o: $(hdrdir)/ruby/internal/abi.h +sanitizers.o: $(hdrdir)/ruby/internal/anyargs.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/char.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/double.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/int.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/long.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/short.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +sanitizers.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +sanitizers.o: $(hdrdir)/ruby/internal/assume.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/artificial.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/cold.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/const.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/constexpr.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/deprecated.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/error.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/forceinline.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/format.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/noalias.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/noexcept.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/noinline.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/nonnull.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/noreturn.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/pure.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/restrict.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/warning.h +sanitizers.o: $(hdrdir)/ruby/internal/attr/weakref.h +sanitizers.o: $(hdrdir)/ruby/internal/cast.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +sanitizers.o: $(hdrdir)/ruby/internal/compiler_since.h +sanitizers.o: $(hdrdir)/ruby/internal/config.h +sanitizers.o: $(hdrdir)/ruby/internal/constant_p.h +sanitizers.o: $(hdrdir)/ruby/internal/core.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rarray.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rbasic.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rbignum.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rclass.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rdata.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rfile.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rhash.h +sanitizers.o: $(hdrdir)/ruby/internal/core/robject.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rregexp.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rstring.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rstruct.h +sanitizers.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +sanitizers.o: $(hdrdir)/ruby/internal/ctype.h +sanitizers.o: $(hdrdir)/ruby/internal/dllexport.h +sanitizers.o: $(hdrdir)/ruby/internal/dosish.h +sanitizers.o: $(hdrdir)/ruby/internal/error.h +sanitizers.o: $(hdrdir)/ruby/internal/eval.h +sanitizers.o: $(hdrdir)/ruby/internal/event.h +sanitizers.o: $(hdrdir)/ruby/internal/fl_type.h +sanitizers.o: $(hdrdir)/ruby/internal/gc.h +sanitizers.o: $(hdrdir)/ruby/internal/glob.h +sanitizers.o: $(hdrdir)/ruby/internal/globals.h +sanitizers.o: $(hdrdir)/ruby/internal/has/attribute.h +sanitizers.o: $(hdrdir)/ruby/internal/has/builtin.h +sanitizers.o: $(hdrdir)/ruby/internal/has/c_attribute.h +sanitizers.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +sanitizers.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +sanitizers.o: $(hdrdir)/ruby/internal/has/extension.h +sanitizers.o: $(hdrdir)/ruby/internal/has/feature.h +sanitizers.o: $(hdrdir)/ruby/internal/has/warning.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/array.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/bignum.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/class.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/compar.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/complex.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/cont.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/dir.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/enum.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/enumerator.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/error.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/eval.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/file.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/hash.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/io.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/load.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/marshal.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/numeric.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/object.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/parse.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/proc.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/process.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/random.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/range.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/rational.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/re.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/ruby.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/select.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/set.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/signal.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/sprintf.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/string.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/struct.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/thread.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/time.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/variable.h +sanitizers.o: $(hdrdir)/ruby/internal/intern/vm.h +sanitizers.o: $(hdrdir)/ruby/internal/interpreter.h +sanitizers.o: $(hdrdir)/ruby/internal/iterator.h +sanitizers.o: $(hdrdir)/ruby/internal/memory.h +sanitizers.o: $(hdrdir)/ruby/internal/method.h +sanitizers.o: $(hdrdir)/ruby/internal/module.h +sanitizers.o: $(hdrdir)/ruby/internal/newobj.h +sanitizers.o: $(hdrdir)/ruby/internal/scan_args.h +sanitizers.o: $(hdrdir)/ruby/internal/special_consts.h +sanitizers.o: $(hdrdir)/ruby/internal/static_assert.h +sanitizers.o: $(hdrdir)/ruby/internal/stdalign.h +sanitizers.o: $(hdrdir)/ruby/internal/stdbool.h +sanitizers.o: $(hdrdir)/ruby/internal/stdckdint.h +sanitizers.o: $(hdrdir)/ruby/internal/symbol.h +sanitizers.o: $(hdrdir)/ruby/internal/value.h +sanitizers.o: $(hdrdir)/ruby/internal/value_type.h +sanitizers.o: $(hdrdir)/ruby/internal/variable.h +sanitizers.o: $(hdrdir)/ruby/internal/warning_push.h +sanitizers.o: $(hdrdir)/ruby/internal/xmalloc.h +sanitizers.o: $(hdrdir)/ruby/missing.h +sanitizers.o: $(hdrdir)/ruby/ruby.h +sanitizers.o: $(hdrdir)/ruby/st.h +sanitizers.o: $(hdrdir)/ruby/subst.h +sanitizers.o: sanitizers.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/sanitizers/extconf.rb b/ext/-test-/sanitizers/extconf.rb new file mode 100644 index 0000000000..c94a96de6c --- /dev/null +++ b/ext/-test-/sanitizers/extconf.rb @@ -0,0 +1,2 @@ +require 'mkmf' +create_makefile('-test-/sanitizers') diff --git a/ext/-test-/sanitizers/sanitizers.c b/ext/-test-/sanitizers/sanitizers.c new file mode 100644 index 0000000000..97a85b26ef --- /dev/null +++ b/ext/-test-/sanitizers/sanitizers.c @@ -0,0 +1,36 @@ +#include "ruby/ruby.h" + +static VALUE +asan_enabled_p(VALUE self) +{ +#if defined(__has_feature) + /* clang uses __has_feature for determining asan */ + return __has_feature(address_sanitizer) ? Qtrue : Qfalse; +#elif defined(__SANITIZE_ADDRESS__) + /* GCC sets __SANITIZE_ADDRESS__ for determining asan */ + return Qtrue; +#else + return Qfalse; +#endif +} + +static VALUE +lsan_enabled_p(VALUE self) +{ +#if defined(__has_feature) + /* clang uses __has_feature for determining LSAN */ + return __has_feature(leak_sanitizer) ? Qtrue : Qfalse; +#else + return Qfalse; +#endif +} + +void +Init_sanitizers(void) +{ + VALUE m = rb_define_module("Test"); + VALUE c = rb_define_class_under(m, "Sanitizers", rb_cObject); + rb_define_singleton_method(c, "asan_enabled?", asan_enabled_p, 0); + rb_define_singleton_method(c, "lsan_enabled?", lsan_enabled_p, 0); +} + diff --git a/ext/-test-/scan_args/depend b/ext/-test-/scan_args/depend new file mode 100644 index 0000000000..ca0fc19238 --- /dev/null +++ b/ext/-test-/scan_args/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +scan_args.o: $(RUBY_EXTCONF_H) +scan_args.o: $(arch_hdrdir)/ruby/config.h +scan_args.o: $(hdrdir)/ruby.h +scan_args.o: $(hdrdir)/ruby/assert.h +scan_args.o: $(hdrdir)/ruby/backward.h +scan_args.o: $(hdrdir)/ruby/backward/2/assume.h +scan_args.o: $(hdrdir)/ruby/backward/2/attributes.h +scan_args.o: $(hdrdir)/ruby/backward/2/bool.h +scan_args.o: $(hdrdir)/ruby/backward/2/inttypes.h +scan_args.o: $(hdrdir)/ruby/backward/2/limits.h +scan_args.o: $(hdrdir)/ruby/backward/2/long_long.h +scan_args.o: $(hdrdir)/ruby/backward/2/stdalign.h +scan_args.o: $(hdrdir)/ruby/backward/2/stdarg.h +scan_args.o: $(hdrdir)/ruby/defines.h +scan_args.o: $(hdrdir)/ruby/intern.h +scan_args.o: $(hdrdir)/ruby/internal/abi.h +scan_args.o: $(hdrdir)/ruby/internal/anyargs.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/char.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/double.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/int.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/long.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/short.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +scan_args.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +scan_args.o: $(hdrdir)/ruby/internal/assume.h +scan_args.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +scan_args.o: $(hdrdir)/ruby/internal/attr/artificial.h +scan_args.o: $(hdrdir)/ruby/internal/attr/cold.h +scan_args.o: $(hdrdir)/ruby/internal/attr/const.h +scan_args.o: $(hdrdir)/ruby/internal/attr/constexpr.h +scan_args.o: $(hdrdir)/ruby/internal/attr/deprecated.h +scan_args.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +scan_args.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +scan_args.o: $(hdrdir)/ruby/internal/attr/error.h +scan_args.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +scan_args.o: $(hdrdir)/ruby/internal/attr/forceinline.h +scan_args.o: $(hdrdir)/ruby/internal/attr/format.h +scan_args.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +scan_args.o: $(hdrdir)/ruby/internal/attr/noalias.h +scan_args.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +scan_args.o: $(hdrdir)/ruby/internal/attr/noexcept.h +scan_args.o: $(hdrdir)/ruby/internal/attr/noinline.h +scan_args.o: $(hdrdir)/ruby/internal/attr/nonnull.h +scan_args.o: $(hdrdir)/ruby/internal/attr/noreturn.h +scan_args.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +scan_args.o: $(hdrdir)/ruby/internal/attr/pure.h +scan_args.o: $(hdrdir)/ruby/internal/attr/restrict.h +scan_args.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +scan_args.o: $(hdrdir)/ruby/internal/attr/warning.h +scan_args.o: $(hdrdir)/ruby/internal/attr/weakref.h +scan_args.o: $(hdrdir)/ruby/internal/cast.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +scan_args.o: $(hdrdir)/ruby/internal/compiler_since.h +scan_args.o: $(hdrdir)/ruby/internal/config.h +scan_args.o: $(hdrdir)/ruby/internal/constant_p.h +scan_args.o: $(hdrdir)/ruby/internal/core.h +scan_args.o: $(hdrdir)/ruby/internal/core/rarray.h +scan_args.o: $(hdrdir)/ruby/internal/core/rbasic.h +scan_args.o: $(hdrdir)/ruby/internal/core/rbignum.h +scan_args.o: $(hdrdir)/ruby/internal/core/rclass.h +scan_args.o: $(hdrdir)/ruby/internal/core/rdata.h +scan_args.o: $(hdrdir)/ruby/internal/core/rfile.h +scan_args.o: $(hdrdir)/ruby/internal/core/rhash.h +scan_args.o: $(hdrdir)/ruby/internal/core/robject.h +scan_args.o: $(hdrdir)/ruby/internal/core/rregexp.h +scan_args.o: $(hdrdir)/ruby/internal/core/rstring.h +scan_args.o: $(hdrdir)/ruby/internal/core/rstruct.h +scan_args.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +scan_args.o: $(hdrdir)/ruby/internal/ctype.h +scan_args.o: $(hdrdir)/ruby/internal/dllexport.h +scan_args.o: $(hdrdir)/ruby/internal/dosish.h +scan_args.o: $(hdrdir)/ruby/internal/error.h +scan_args.o: $(hdrdir)/ruby/internal/eval.h +scan_args.o: $(hdrdir)/ruby/internal/event.h +scan_args.o: $(hdrdir)/ruby/internal/fl_type.h +scan_args.o: $(hdrdir)/ruby/internal/gc.h +scan_args.o: $(hdrdir)/ruby/internal/glob.h +scan_args.o: $(hdrdir)/ruby/internal/globals.h +scan_args.o: $(hdrdir)/ruby/internal/has/attribute.h +scan_args.o: $(hdrdir)/ruby/internal/has/builtin.h +scan_args.o: $(hdrdir)/ruby/internal/has/c_attribute.h +scan_args.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +scan_args.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +scan_args.o: $(hdrdir)/ruby/internal/has/extension.h +scan_args.o: $(hdrdir)/ruby/internal/has/feature.h +scan_args.o: $(hdrdir)/ruby/internal/has/warning.h +scan_args.o: $(hdrdir)/ruby/internal/intern/array.h +scan_args.o: $(hdrdir)/ruby/internal/intern/bignum.h +scan_args.o: $(hdrdir)/ruby/internal/intern/class.h +scan_args.o: $(hdrdir)/ruby/internal/intern/compar.h +scan_args.o: $(hdrdir)/ruby/internal/intern/complex.h +scan_args.o: $(hdrdir)/ruby/internal/intern/cont.h +scan_args.o: $(hdrdir)/ruby/internal/intern/dir.h +scan_args.o: $(hdrdir)/ruby/internal/intern/enum.h +scan_args.o: $(hdrdir)/ruby/internal/intern/enumerator.h +scan_args.o: $(hdrdir)/ruby/internal/intern/error.h +scan_args.o: $(hdrdir)/ruby/internal/intern/eval.h +scan_args.o: $(hdrdir)/ruby/internal/intern/file.h +scan_args.o: $(hdrdir)/ruby/internal/intern/hash.h +scan_args.o: $(hdrdir)/ruby/internal/intern/io.h +scan_args.o: $(hdrdir)/ruby/internal/intern/load.h +scan_args.o: $(hdrdir)/ruby/internal/intern/marshal.h +scan_args.o: $(hdrdir)/ruby/internal/intern/numeric.h +scan_args.o: $(hdrdir)/ruby/internal/intern/object.h +scan_args.o: $(hdrdir)/ruby/internal/intern/parse.h +scan_args.o: $(hdrdir)/ruby/internal/intern/proc.h +scan_args.o: $(hdrdir)/ruby/internal/intern/process.h +scan_args.o: $(hdrdir)/ruby/internal/intern/random.h +scan_args.o: $(hdrdir)/ruby/internal/intern/range.h +scan_args.o: $(hdrdir)/ruby/internal/intern/rational.h +scan_args.o: $(hdrdir)/ruby/internal/intern/re.h +scan_args.o: $(hdrdir)/ruby/internal/intern/ruby.h +scan_args.o: $(hdrdir)/ruby/internal/intern/select.h +scan_args.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +scan_args.o: $(hdrdir)/ruby/internal/intern/set.h +scan_args.o: $(hdrdir)/ruby/internal/intern/signal.h +scan_args.o: $(hdrdir)/ruby/internal/intern/sprintf.h +scan_args.o: $(hdrdir)/ruby/internal/intern/string.h +scan_args.o: $(hdrdir)/ruby/internal/intern/struct.h +scan_args.o: $(hdrdir)/ruby/internal/intern/thread.h +scan_args.o: $(hdrdir)/ruby/internal/intern/time.h +scan_args.o: $(hdrdir)/ruby/internal/intern/variable.h +scan_args.o: $(hdrdir)/ruby/internal/intern/vm.h +scan_args.o: $(hdrdir)/ruby/internal/interpreter.h +scan_args.o: $(hdrdir)/ruby/internal/iterator.h +scan_args.o: $(hdrdir)/ruby/internal/memory.h +scan_args.o: $(hdrdir)/ruby/internal/method.h +scan_args.o: $(hdrdir)/ruby/internal/module.h +scan_args.o: $(hdrdir)/ruby/internal/newobj.h +scan_args.o: $(hdrdir)/ruby/internal/scan_args.h +scan_args.o: $(hdrdir)/ruby/internal/special_consts.h +scan_args.o: $(hdrdir)/ruby/internal/static_assert.h +scan_args.o: $(hdrdir)/ruby/internal/stdalign.h +scan_args.o: $(hdrdir)/ruby/internal/stdbool.h +scan_args.o: $(hdrdir)/ruby/internal/stdckdint.h +scan_args.o: $(hdrdir)/ruby/internal/symbol.h +scan_args.o: $(hdrdir)/ruby/internal/value.h +scan_args.o: $(hdrdir)/ruby/internal/value_type.h +scan_args.o: $(hdrdir)/ruby/internal/variable.h +scan_args.o: $(hdrdir)/ruby/internal/warning_push.h +scan_args.o: $(hdrdir)/ruby/internal/xmalloc.h +scan_args.o: $(hdrdir)/ruby/missing.h +scan_args.o: $(hdrdir)/ruby/ruby.h +scan_args.o: $(hdrdir)/ruby/st.h +scan_args.o: $(hdrdir)/ruby/subst.h +scan_args.o: scan_args.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/scan_args/extconf.rb b/ext/-test-/scan_args/extconf.rb new file mode 100644 index 0000000000..6cae9c2779 --- /dev/null +++ b/ext/-test-/scan_args/extconf.rb @@ -0,0 +1 @@ +create_makefile("-test-/scan_args") diff --git a/ext/-test-/scan_args/scan_args.c b/ext/-test-/scan_args/scan_args.c new file mode 100644 index 0000000000..8696aad3c7 --- /dev/null +++ b/ext/-test-/scan_args/scan_args.c @@ -0,0 +1,305 @@ +#include <ruby.h> + +#ifndef numberof +#define numberof(array) (int)(sizeof(array) / sizeof((array)[0])) +#endif + +static VALUE +scan_args_lead(int argc, VALUE *argv, VALUE self) +{ + VALUE args[2]; + int n = rb_scan_args(argc, argv, "1", args+1); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt(int argc, VALUE *argv, VALUE self) +{ + VALUE args[2]; + int n = rb_scan_args(argc, argv, "01", args+1); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "11", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +/* var */ +static VALUE +scan_args_var(int argc, VALUE *argv, VALUE self) +{ + VALUE args[2]; + int n = rb_scan_args(argc, argv, "*", args+1); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_var(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "1*", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt_var(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "01*", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_var(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "11*", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +/* trail */ +static VALUE +scan_args_opt_trail(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "011", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_trail(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "111", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_var_trail(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "*1", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_var_trail(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "1*1", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt_var_trail(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "01*1", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_var_trail(int argc, VALUE *argv, VALUE self) +{ + VALUE args[5]; + int n = rb_scan_args(argc, argv, "11*1", args+1, args+2, args+3, args+4); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +/* hash */ +static VALUE +scan_args_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[2]; + int n = rb_scan_args(argc, argv, ":", args+1); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "1:", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "01:", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "11:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_var_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[3]; + int n = rb_scan_args(argc, argv, "*:", args+1, args+2); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_var_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "1*:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt_var_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "01*:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_var_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[5]; + int n = rb_scan_args(argc, argv, "11*:", args+1, args+2, args+3, args+4); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt_trail_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "011:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_trail_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[5]; + int n = rb_scan_args(argc, argv, "111:", args+1, args+2, args+3, args+4); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_var_trail_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args(argc, argv, "*1:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_var_trail_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[5]; + int n = rb_scan_args(argc, argv, "1*1:", args+1, args+2, args+3, args+4); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_opt_var_trail_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[5]; + int n = rb_scan_args(argc, argv, "01*1:", args+1, args+2, args+3, args+4); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_lead_opt_var_trail_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[6]; + int n = rb_scan_args(argc, argv, "11*1:", args+1, args+2, args+3, args+4, args+5); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_k_lead_opt_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args_kw(RB_SCAN_ARGS_KEYWORDS, argc, argv, "11:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +static VALUE +scan_args_n_lead_opt_hash(int argc, VALUE *argv, VALUE self) +{ + VALUE args[4]; + int n = rb_scan_args_kw(RB_SCAN_ARGS_LAST_HASH_KEYWORDS, argc, argv, "11:", args+1, args+2, args+3); + args[0] = INT2NUM(n); + return rb_ary_new_from_values(numberof(args), args); +} + +void +Init_scan_args(void) +{ + VALUE module = rb_define_module("Bug"); + module = rb_define_module_under(module, "ScanArgs"); + rb_define_singleton_method(module, "lead", scan_args_lead, -1); + rb_define_singleton_method(module, "opt", scan_args_opt, -1); + rb_define_singleton_method(module, "lead_opt", scan_args_lead_opt, -1); + rb_define_singleton_method(module, "var", scan_args_var, -1); + rb_define_singleton_method(module, "lead_var", scan_args_lead_var, -1); + rb_define_singleton_method(module, "opt_var", scan_args_opt_var, -1); + rb_define_singleton_method(module, "lead_opt_var", scan_args_lead_opt_var, -1); + rb_define_singleton_method(module, "opt_trail", scan_args_opt_trail, -1); + rb_define_singleton_method(module, "lead_opt_trail", scan_args_lead_opt_trail, -1); + rb_define_singleton_method(module, "var_trail", scan_args_var_trail, -1); + rb_define_singleton_method(module, "lead_var_trail", scan_args_lead_var_trail, -1); + rb_define_singleton_method(module, "opt_var_trail", scan_args_opt_var_trail, -1); + rb_define_singleton_method(module, "lead_opt_var_trail", scan_args_lead_opt_var_trail, -1); + rb_define_singleton_method(module, "hash", scan_args_hash, -1); + rb_define_singleton_method(module, "lead_hash", scan_args_lead_hash, -1); + rb_define_singleton_method(module, "opt_hash", scan_args_opt_hash, -1); + rb_define_singleton_method(module, "lead_opt_hash", scan_args_lead_opt_hash, -1); + rb_define_singleton_method(module, "var_hash", scan_args_var_hash, -1); + rb_define_singleton_method(module, "lead_var_hash", scan_args_lead_var_hash, -1); + rb_define_singleton_method(module, "opt_var_hash", scan_args_opt_var_hash, -1); + rb_define_singleton_method(module, "lead_opt_var_hash", scan_args_lead_opt_var_hash, -1); + rb_define_singleton_method(module, "opt_trail_hash", scan_args_opt_trail_hash, -1); + rb_define_singleton_method(module, "lead_opt_trail_hash", scan_args_lead_opt_trail_hash, -1); + rb_define_singleton_method(module, "var_trail_hash", scan_args_var_trail_hash, -1); + rb_define_singleton_method(module, "lead_var_trail_hash", scan_args_lead_var_trail_hash, -1); + rb_define_singleton_method(module, "opt_var_trail_hash", scan_args_opt_var_trail_hash, -1); + rb_define_singleton_method(module, "lead_opt_var_trail_hash", scan_args_lead_opt_var_trail_hash, -1); + rb_define_singleton_method(module, "k_lead_opt_hash", scan_args_k_lead_opt_hash, -1); + rb_define_singleton_method(module, "n_lead_opt_hash", scan_args_n_lead_opt_hash, -1); +} diff --git a/ext/-test-/scheduler/extconf.rb b/ext/-test-/scheduler/extconf.rb new file mode 100644 index 0000000000..159699bd8e --- /dev/null +++ b/ext/-test-/scheduler/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/scheduler") diff --git a/ext/-test-/scheduler/scheduler.c b/ext/-test-/scheduler/scheduler.c new file mode 100644 index 0000000000..b742a5573b --- /dev/null +++ b/ext/-test-/scheduler/scheduler.c @@ -0,0 +1,92 @@ +#include "ruby/ruby.h" +#include "ruby/thread.h" +#include "ruby/io.h" +#include "ruby/fiber/scheduler.h" + +/* + * Test extension for reproducing the gRPC interrupt handling bug. + * + * This reproduces the exact issue from grpc/grpc commit 69f229e (June 2025): + * https://github.com/grpc/grpc/commit/69f229edd1d79ab7a7dfda98e3aef6fd807adcad + * + * The bug occurs when: + * 1. A fiber scheduler uses Thread.handle_interrupt(::SignalException => :never) + * (like Async::Scheduler does) + * 2. Native code uses rb_thread_call_without_gvl in a retry loop that checks + * the interrupted flag and retries (like gRPC's completion queue) + * 3. A signal (SIGINT/SIGTERM) is sent + * 4. The unblock_func sets interrupted=1, but Thread.handle_interrupt defers the signal + * 5. The loop sees interrupted=1 and retries without yielding to the scheduler + * 6. The deferred interrupt never gets processed -> infinite hang + * + * The fix is in vm_check_ints_blocking() in thread.c, which should yield to + * the fiber scheduler when interrupts are pending, allowing the scheduler to + * detect Thread.pending_interrupt? and exit its run loop. + */ + +struct blocking_state { + int notify_descriptor; + volatile int interrupted; +}; + +static void +unblock_callback(void *argument) +{ + struct blocking_state *blocking_state = (struct blocking_state *)argument; + blocking_state->interrupted = 1; +} + +static void * +blocking_operation(void *argument) +{ + struct blocking_state *blocking_state = (struct blocking_state *)argument; + + ssize_t ret = write(blocking_state->notify_descriptor, "x", 1); + (void)ret; // ignore the result for now + + while (!blocking_state->interrupted) { + struct timeval tv = {1, 0}; // 1 second timeout. + int result = select(0, NULL, NULL, NULL, &tv); + + if (result == -1 && errno == EINTR) { + blocking_state->interrupted = 1; + } + + // Otherwise, timeout -> loop again. + } + + return NULL; +} + +static VALUE +scheduler_blocking_loop(VALUE self, VALUE notify) +{ + struct blocking_state blocking_state = { + .notify_descriptor = rb_io_descriptor(notify), + .interrupted = 0, + }; + + while (true) { + blocking_state.interrupted = 0; + + rb_thread_call_without_gvl( + blocking_operation, &blocking_state, + unblock_callback, &blocking_state + ); + + // The bug: When interrupted, loop retries without yielding to scheduler. + // With Thread.handle_interrupt(:never), this causes an infinite hang, + // because the deferred interrupt never gets a chance to be processed. + } while (blocking_state.interrupted); + + return Qnil; +} + +void +Init_scheduler(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE mScheduler = rb_define_module_under(mBug, "Scheduler"); + + rb_define_module_function(mScheduler, "blocking_loop", scheduler_blocking_loop, 1); +} diff --git a/ext/-test-/st/foreach/depend b/ext/-test-/st/foreach/depend new file mode 100644 index 0000000000..29aab2bb29 --- /dev/null +++ b/ext/-test-/st/foreach/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +foreach.o: $(RUBY_EXTCONF_H) +foreach.o: $(arch_hdrdir)/ruby/config.h +foreach.o: $(hdrdir)/ruby.h +foreach.o: $(hdrdir)/ruby/assert.h +foreach.o: $(hdrdir)/ruby/backward.h +foreach.o: $(hdrdir)/ruby/backward/2/assume.h +foreach.o: $(hdrdir)/ruby/backward/2/attributes.h +foreach.o: $(hdrdir)/ruby/backward/2/bool.h +foreach.o: $(hdrdir)/ruby/backward/2/inttypes.h +foreach.o: $(hdrdir)/ruby/backward/2/limits.h +foreach.o: $(hdrdir)/ruby/backward/2/long_long.h +foreach.o: $(hdrdir)/ruby/backward/2/stdalign.h +foreach.o: $(hdrdir)/ruby/backward/2/stdarg.h +foreach.o: $(hdrdir)/ruby/defines.h +foreach.o: $(hdrdir)/ruby/intern.h +foreach.o: $(hdrdir)/ruby/internal/abi.h +foreach.o: $(hdrdir)/ruby/internal/anyargs.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/char.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/double.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/int.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/long.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/short.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +foreach.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +foreach.o: $(hdrdir)/ruby/internal/assume.h +foreach.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +foreach.o: $(hdrdir)/ruby/internal/attr/artificial.h +foreach.o: $(hdrdir)/ruby/internal/attr/cold.h +foreach.o: $(hdrdir)/ruby/internal/attr/const.h +foreach.o: $(hdrdir)/ruby/internal/attr/constexpr.h +foreach.o: $(hdrdir)/ruby/internal/attr/deprecated.h +foreach.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +foreach.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +foreach.o: $(hdrdir)/ruby/internal/attr/error.h +foreach.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +foreach.o: $(hdrdir)/ruby/internal/attr/forceinline.h +foreach.o: $(hdrdir)/ruby/internal/attr/format.h +foreach.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +foreach.o: $(hdrdir)/ruby/internal/attr/noalias.h +foreach.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +foreach.o: $(hdrdir)/ruby/internal/attr/noexcept.h +foreach.o: $(hdrdir)/ruby/internal/attr/noinline.h +foreach.o: $(hdrdir)/ruby/internal/attr/nonnull.h +foreach.o: $(hdrdir)/ruby/internal/attr/noreturn.h +foreach.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +foreach.o: $(hdrdir)/ruby/internal/attr/pure.h +foreach.o: $(hdrdir)/ruby/internal/attr/restrict.h +foreach.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +foreach.o: $(hdrdir)/ruby/internal/attr/warning.h +foreach.o: $(hdrdir)/ruby/internal/attr/weakref.h +foreach.o: $(hdrdir)/ruby/internal/cast.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +foreach.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +foreach.o: $(hdrdir)/ruby/internal/compiler_since.h +foreach.o: $(hdrdir)/ruby/internal/config.h +foreach.o: $(hdrdir)/ruby/internal/constant_p.h +foreach.o: $(hdrdir)/ruby/internal/core.h +foreach.o: $(hdrdir)/ruby/internal/core/rarray.h +foreach.o: $(hdrdir)/ruby/internal/core/rbasic.h +foreach.o: $(hdrdir)/ruby/internal/core/rbignum.h +foreach.o: $(hdrdir)/ruby/internal/core/rclass.h +foreach.o: $(hdrdir)/ruby/internal/core/rdata.h +foreach.o: $(hdrdir)/ruby/internal/core/rfile.h +foreach.o: $(hdrdir)/ruby/internal/core/rhash.h +foreach.o: $(hdrdir)/ruby/internal/core/robject.h +foreach.o: $(hdrdir)/ruby/internal/core/rregexp.h +foreach.o: $(hdrdir)/ruby/internal/core/rstring.h +foreach.o: $(hdrdir)/ruby/internal/core/rstruct.h +foreach.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +foreach.o: $(hdrdir)/ruby/internal/ctype.h +foreach.o: $(hdrdir)/ruby/internal/dllexport.h +foreach.o: $(hdrdir)/ruby/internal/dosish.h +foreach.o: $(hdrdir)/ruby/internal/error.h +foreach.o: $(hdrdir)/ruby/internal/eval.h +foreach.o: $(hdrdir)/ruby/internal/event.h +foreach.o: $(hdrdir)/ruby/internal/fl_type.h +foreach.o: $(hdrdir)/ruby/internal/gc.h +foreach.o: $(hdrdir)/ruby/internal/glob.h +foreach.o: $(hdrdir)/ruby/internal/globals.h +foreach.o: $(hdrdir)/ruby/internal/has/attribute.h +foreach.o: $(hdrdir)/ruby/internal/has/builtin.h +foreach.o: $(hdrdir)/ruby/internal/has/c_attribute.h +foreach.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +foreach.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +foreach.o: $(hdrdir)/ruby/internal/has/extension.h +foreach.o: $(hdrdir)/ruby/internal/has/feature.h +foreach.o: $(hdrdir)/ruby/internal/has/warning.h +foreach.o: $(hdrdir)/ruby/internal/intern/array.h +foreach.o: $(hdrdir)/ruby/internal/intern/bignum.h +foreach.o: $(hdrdir)/ruby/internal/intern/class.h +foreach.o: $(hdrdir)/ruby/internal/intern/compar.h +foreach.o: $(hdrdir)/ruby/internal/intern/complex.h +foreach.o: $(hdrdir)/ruby/internal/intern/cont.h +foreach.o: $(hdrdir)/ruby/internal/intern/dir.h +foreach.o: $(hdrdir)/ruby/internal/intern/enum.h +foreach.o: $(hdrdir)/ruby/internal/intern/enumerator.h +foreach.o: $(hdrdir)/ruby/internal/intern/error.h +foreach.o: $(hdrdir)/ruby/internal/intern/eval.h +foreach.o: $(hdrdir)/ruby/internal/intern/file.h +foreach.o: $(hdrdir)/ruby/internal/intern/hash.h +foreach.o: $(hdrdir)/ruby/internal/intern/io.h +foreach.o: $(hdrdir)/ruby/internal/intern/load.h +foreach.o: $(hdrdir)/ruby/internal/intern/marshal.h +foreach.o: $(hdrdir)/ruby/internal/intern/numeric.h +foreach.o: $(hdrdir)/ruby/internal/intern/object.h +foreach.o: $(hdrdir)/ruby/internal/intern/parse.h +foreach.o: $(hdrdir)/ruby/internal/intern/proc.h +foreach.o: $(hdrdir)/ruby/internal/intern/process.h +foreach.o: $(hdrdir)/ruby/internal/intern/random.h +foreach.o: $(hdrdir)/ruby/internal/intern/range.h +foreach.o: $(hdrdir)/ruby/internal/intern/rational.h +foreach.o: $(hdrdir)/ruby/internal/intern/re.h +foreach.o: $(hdrdir)/ruby/internal/intern/ruby.h +foreach.o: $(hdrdir)/ruby/internal/intern/select.h +foreach.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +foreach.o: $(hdrdir)/ruby/internal/intern/set.h +foreach.o: $(hdrdir)/ruby/internal/intern/signal.h +foreach.o: $(hdrdir)/ruby/internal/intern/sprintf.h +foreach.o: $(hdrdir)/ruby/internal/intern/string.h +foreach.o: $(hdrdir)/ruby/internal/intern/struct.h +foreach.o: $(hdrdir)/ruby/internal/intern/thread.h +foreach.o: $(hdrdir)/ruby/internal/intern/time.h +foreach.o: $(hdrdir)/ruby/internal/intern/variable.h +foreach.o: $(hdrdir)/ruby/internal/intern/vm.h +foreach.o: $(hdrdir)/ruby/internal/interpreter.h +foreach.o: $(hdrdir)/ruby/internal/iterator.h +foreach.o: $(hdrdir)/ruby/internal/memory.h +foreach.o: $(hdrdir)/ruby/internal/method.h +foreach.o: $(hdrdir)/ruby/internal/module.h +foreach.o: $(hdrdir)/ruby/internal/newobj.h +foreach.o: $(hdrdir)/ruby/internal/scan_args.h +foreach.o: $(hdrdir)/ruby/internal/special_consts.h +foreach.o: $(hdrdir)/ruby/internal/static_assert.h +foreach.o: $(hdrdir)/ruby/internal/stdalign.h +foreach.o: $(hdrdir)/ruby/internal/stdbool.h +foreach.o: $(hdrdir)/ruby/internal/stdckdint.h +foreach.o: $(hdrdir)/ruby/internal/symbol.h +foreach.o: $(hdrdir)/ruby/internal/value.h +foreach.o: $(hdrdir)/ruby/internal/value_type.h +foreach.o: $(hdrdir)/ruby/internal/variable.h +foreach.o: $(hdrdir)/ruby/internal/warning_push.h +foreach.o: $(hdrdir)/ruby/internal/xmalloc.h +foreach.o: $(hdrdir)/ruby/missing.h +foreach.o: $(hdrdir)/ruby/ruby.h +foreach.o: $(hdrdir)/ruby/st.h +foreach.o: $(hdrdir)/ruby/subst.h +foreach.o: foreach.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/st/foreach/extconf.rb b/ext/-test-/st/foreach/extconf.rb new file mode 100644 index 0000000000..a7346203c4 --- /dev/null +++ b/ext/-test-/st/foreach/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/st/foreach") diff --git a/ext/-test-/st/foreach/foreach.c b/ext/-test-/st/foreach/foreach.c new file mode 100644 index 0000000000..5c1bfd1631 --- /dev/null +++ b/ext/-test-/st/foreach/foreach.c @@ -0,0 +1,163 @@ +#include <ruby.h> +#include <ruby/st.h> + +static st_data_t expect_size = 32; +struct checker { + st_table *tbl; + st_index_t nr; + VALUE test; +}; + +static void +force_unpack_check(struct checker *c, st_data_t key, st_data_t val) +{ + if (c->nr == 0) { + st_data_t i; + + /* force unpacking during iteration: */ + for (i = 1; i < expect_size; i++) + st_add_direct(c->tbl, i, i); + } + + if (key != c->nr) { + rb_bug("unexpected key: %"PRIuVALUE" (expected %"PRIuVALUE")", (VALUE)key, (VALUE)c->nr); + } + if (val != c->nr) { + rb_bug("unexpected val: %"PRIuVALUE" (expected %"PRIuVALUE")", (VALUE)val, (VALUE)c->nr); + } + + c->nr++; +} + +static int +unp_fec_i(st_data_t key, st_data_t val, st_data_t args, int error) +{ + struct checker *c = (struct checker *)args; + + if (error) { + if (c->test == ID2SYM(rb_intern("delete2"))) + return ST_STOP; + + rb_bug("unexpected error"); + } + + force_unpack_check(c, key, val); + + if (c->test == ID2SYM(rb_intern("check"))) { + return ST_CHECK; + } + if (c->test == ID2SYM(rb_intern("delete1"))) { + if (c->nr == 1) return ST_DELETE; + return ST_CHECK; + } + if (c->test == ID2SYM(rb_intern("delete2"))) { + if (c->nr == 1) { + st_data_t k = 0; + st_data_t v; + + if (!st_delete(c->tbl, &k, &v)) { + rb_bug("failed to delete"); + } + if (v != 0) { + rb_bug("unexpected value deleted: %"PRIuVALUE" (expected 0)", (VALUE)v); + } + } + return ST_CHECK; + } + + rb_raise(rb_eArgError, "unexpected arg: %+"PRIsVALUE, c->test); +} + +static VALUE +unp_fec(VALUE self, VALUE test) +{ + st_table *tbl = st_init_numtable(); + struct checker c; + + c.tbl = tbl; + c.nr = 0; + c.test = test; + + st_add_direct(tbl, 0, 0); + + st_foreach_check(tbl, unp_fec_i, (st_data_t)&c, -1); + + if (c.test == ID2SYM(rb_intern("delete2"))) { + if (c.nr != 1) { + rb_bug("mismatched iteration: %"PRIuVALUE" (expected 1)", (VALUE)c.nr); + } + } + else if (c.nr != expect_size) { + rb_bug("mismatched iteration: %"PRIuVALUE" (expected %"PRIuVALUE")", + (VALUE)c.nr, (VALUE)expect_size); + } + + st_free_table(tbl); + + return Qnil; +} + +static int +unp_fe_i(st_data_t key, st_data_t val, st_data_t args) +{ + struct checker *c = (struct checker *)args; + + force_unpack_check(c, key, val); + if (c->test == ID2SYM(rb_intern("unpacked"))) { + return ST_CONTINUE; + } + else if (c->test == ID2SYM(rb_intern("unpack_delete"))) { + if (c->nr == 1) { + st_data_t k = 0; + st_data_t v; + + if (!st_delete(c->tbl, &k, &v)) { + rb_bug("failed to delete"); + } + if (v != 0) { + rb_bug("unexpected value deleted: %"PRIuVALUE" (expected 0)", (VALUE)v); + } + return ST_CONTINUE; + } + rb_bug("should never get here"); + } + + rb_raise(rb_eArgError, "unexpected arg: %+"PRIsVALUE, c->test); +} + +static VALUE +unp_fe(VALUE self, VALUE test) +{ + st_table *tbl = st_init_numtable(); + struct checker c; + + c.tbl = tbl; + c.nr = 0; + c.test = test; + + st_add_direct(tbl, 0, 0); + + st_foreach(tbl, unp_fe_i, (st_data_t)&c); + + if (c.test == ID2SYM(rb_intern("unpack_delete"))) { + if (c.nr != 1) { + rb_bug("mismatched iteration: %"PRIuVALUE" (expected 1)", (VALUE)c.nr); + } + } + else if (c.nr != expect_size) { + rb_bug("mismatched iteration: %"PRIuVALUE" (expected %"PRIuVALUE"o)", + (VALUE)c.nr, (VALUE)expect_size); + } + + st_free_table(tbl); + + return Qnil; +} + +void +Init_foreach(void) +{ + VALUE bug = rb_define_module("Bug"); + rb_define_singleton_method(bug, "unp_st_foreach_check", unp_fec, 1); + rb_define_singleton_method(bug, "unp_st_foreach", unp_fe, 1); +} diff --git a/ext/-test-/st/numhash/depend b/ext/-test-/st/numhash/depend new file mode 100644 index 0000000000..18320d55f5 --- /dev/null +++ b/ext/-test-/st/numhash/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +numhash.o: $(RUBY_EXTCONF_H) +numhash.o: $(arch_hdrdir)/ruby/config.h +numhash.o: $(hdrdir)/ruby.h +numhash.o: $(hdrdir)/ruby/assert.h +numhash.o: $(hdrdir)/ruby/backward.h +numhash.o: $(hdrdir)/ruby/backward/2/assume.h +numhash.o: $(hdrdir)/ruby/backward/2/attributes.h +numhash.o: $(hdrdir)/ruby/backward/2/bool.h +numhash.o: $(hdrdir)/ruby/backward/2/inttypes.h +numhash.o: $(hdrdir)/ruby/backward/2/limits.h +numhash.o: $(hdrdir)/ruby/backward/2/long_long.h +numhash.o: $(hdrdir)/ruby/backward/2/stdalign.h +numhash.o: $(hdrdir)/ruby/backward/2/stdarg.h +numhash.o: $(hdrdir)/ruby/defines.h +numhash.o: $(hdrdir)/ruby/intern.h +numhash.o: $(hdrdir)/ruby/internal/abi.h +numhash.o: $(hdrdir)/ruby/internal/anyargs.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/char.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/double.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/int.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/long.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/short.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +numhash.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +numhash.o: $(hdrdir)/ruby/internal/assume.h +numhash.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +numhash.o: $(hdrdir)/ruby/internal/attr/artificial.h +numhash.o: $(hdrdir)/ruby/internal/attr/cold.h +numhash.o: $(hdrdir)/ruby/internal/attr/const.h +numhash.o: $(hdrdir)/ruby/internal/attr/constexpr.h +numhash.o: $(hdrdir)/ruby/internal/attr/deprecated.h +numhash.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +numhash.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +numhash.o: $(hdrdir)/ruby/internal/attr/error.h +numhash.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +numhash.o: $(hdrdir)/ruby/internal/attr/forceinline.h +numhash.o: $(hdrdir)/ruby/internal/attr/format.h +numhash.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +numhash.o: $(hdrdir)/ruby/internal/attr/noalias.h +numhash.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +numhash.o: $(hdrdir)/ruby/internal/attr/noexcept.h +numhash.o: $(hdrdir)/ruby/internal/attr/noinline.h +numhash.o: $(hdrdir)/ruby/internal/attr/nonnull.h +numhash.o: $(hdrdir)/ruby/internal/attr/noreturn.h +numhash.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +numhash.o: $(hdrdir)/ruby/internal/attr/pure.h +numhash.o: $(hdrdir)/ruby/internal/attr/restrict.h +numhash.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +numhash.o: $(hdrdir)/ruby/internal/attr/warning.h +numhash.o: $(hdrdir)/ruby/internal/attr/weakref.h +numhash.o: $(hdrdir)/ruby/internal/cast.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +numhash.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +numhash.o: $(hdrdir)/ruby/internal/compiler_since.h +numhash.o: $(hdrdir)/ruby/internal/config.h +numhash.o: $(hdrdir)/ruby/internal/constant_p.h +numhash.o: $(hdrdir)/ruby/internal/core.h +numhash.o: $(hdrdir)/ruby/internal/core/rarray.h +numhash.o: $(hdrdir)/ruby/internal/core/rbasic.h +numhash.o: $(hdrdir)/ruby/internal/core/rbignum.h +numhash.o: $(hdrdir)/ruby/internal/core/rclass.h +numhash.o: $(hdrdir)/ruby/internal/core/rdata.h +numhash.o: $(hdrdir)/ruby/internal/core/rfile.h +numhash.o: $(hdrdir)/ruby/internal/core/rhash.h +numhash.o: $(hdrdir)/ruby/internal/core/robject.h +numhash.o: $(hdrdir)/ruby/internal/core/rregexp.h +numhash.o: $(hdrdir)/ruby/internal/core/rstring.h +numhash.o: $(hdrdir)/ruby/internal/core/rstruct.h +numhash.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +numhash.o: $(hdrdir)/ruby/internal/ctype.h +numhash.o: $(hdrdir)/ruby/internal/dllexport.h +numhash.o: $(hdrdir)/ruby/internal/dosish.h +numhash.o: $(hdrdir)/ruby/internal/error.h +numhash.o: $(hdrdir)/ruby/internal/eval.h +numhash.o: $(hdrdir)/ruby/internal/event.h +numhash.o: $(hdrdir)/ruby/internal/fl_type.h +numhash.o: $(hdrdir)/ruby/internal/gc.h +numhash.o: $(hdrdir)/ruby/internal/glob.h +numhash.o: $(hdrdir)/ruby/internal/globals.h +numhash.o: $(hdrdir)/ruby/internal/has/attribute.h +numhash.o: $(hdrdir)/ruby/internal/has/builtin.h +numhash.o: $(hdrdir)/ruby/internal/has/c_attribute.h +numhash.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +numhash.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +numhash.o: $(hdrdir)/ruby/internal/has/extension.h +numhash.o: $(hdrdir)/ruby/internal/has/feature.h +numhash.o: $(hdrdir)/ruby/internal/has/warning.h +numhash.o: $(hdrdir)/ruby/internal/intern/array.h +numhash.o: $(hdrdir)/ruby/internal/intern/bignum.h +numhash.o: $(hdrdir)/ruby/internal/intern/class.h +numhash.o: $(hdrdir)/ruby/internal/intern/compar.h +numhash.o: $(hdrdir)/ruby/internal/intern/complex.h +numhash.o: $(hdrdir)/ruby/internal/intern/cont.h +numhash.o: $(hdrdir)/ruby/internal/intern/dir.h +numhash.o: $(hdrdir)/ruby/internal/intern/enum.h +numhash.o: $(hdrdir)/ruby/internal/intern/enumerator.h +numhash.o: $(hdrdir)/ruby/internal/intern/error.h +numhash.o: $(hdrdir)/ruby/internal/intern/eval.h +numhash.o: $(hdrdir)/ruby/internal/intern/file.h +numhash.o: $(hdrdir)/ruby/internal/intern/hash.h +numhash.o: $(hdrdir)/ruby/internal/intern/io.h +numhash.o: $(hdrdir)/ruby/internal/intern/load.h +numhash.o: $(hdrdir)/ruby/internal/intern/marshal.h +numhash.o: $(hdrdir)/ruby/internal/intern/numeric.h +numhash.o: $(hdrdir)/ruby/internal/intern/object.h +numhash.o: $(hdrdir)/ruby/internal/intern/parse.h +numhash.o: $(hdrdir)/ruby/internal/intern/proc.h +numhash.o: $(hdrdir)/ruby/internal/intern/process.h +numhash.o: $(hdrdir)/ruby/internal/intern/random.h +numhash.o: $(hdrdir)/ruby/internal/intern/range.h +numhash.o: $(hdrdir)/ruby/internal/intern/rational.h +numhash.o: $(hdrdir)/ruby/internal/intern/re.h +numhash.o: $(hdrdir)/ruby/internal/intern/ruby.h +numhash.o: $(hdrdir)/ruby/internal/intern/select.h +numhash.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +numhash.o: $(hdrdir)/ruby/internal/intern/set.h +numhash.o: $(hdrdir)/ruby/internal/intern/signal.h +numhash.o: $(hdrdir)/ruby/internal/intern/sprintf.h +numhash.o: $(hdrdir)/ruby/internal/intern/string.h +numhash.o: $(hdrdir)/ruby/internal/intern/struct.h +numhash.o: $(hdrdir)/ruby/internal/intern/thread.h +numhash.o: $(hdrdir)/ruby/internal/intern/time.h +numhash.o: $(hdrdir)/ruby/internal/intern/variable.h +numhash.o: $(hdrdir)/ruby/internal/intern/vm.h +numhash.o: $(hdrdir)/ruby/internal/interpreter.h +numhash.o: $(hdrdir)/ruby/internal/iterator.h +numhash.o: $(hdrdir)/ruby/internal/memory.h +numhash.o: $(hdrdir)/ruby/internal/method.h +numhash.o: $(hdrdir)/ruby/internal/module.h +numhash.o: $(hdrdir)/ruby/internal/newobj.h +numhash.o: $(hdrdir)/ruby/internal/scan_args.h +numhash.o: $(hdrdir)/ruby/internal/special_consts.h +numhash.o: $(hdrdir)/ruby/internal/static_assert.h +numhash.o: $(hdrdir)/ruby/internal/stdalign.h +numhash.o: $(hdrdir)/ruby/internal/stdbool.h +numhash.o: $(hdrdir)/ruby/internal/stdckdint.h +numhash.o: $(hdrdir)/ruby/internal/symbol.h +numhash.o: $(hdrdir)/ruby/internal/value.h +numhash.o: $(hdrdir)/ruby/internal/value_type.h +numhash.o: $(hdrdir)/ruby/internal/variable.h +numhash.o: $(hdrdir)/ruby/internal/warning_push.h +numhash.o: $(hdrdir)/ruby/internal/xmalloc.h +numhash.o: $(hdrdir)/ruby/missing.h +numhash.o: $(hdrdir)/ruby/ruby.h +numhash.o: $(hdrdir)/ruby/st.h +numhash.o: $(hdrdir)/ruby/subst.h +numhash.o: numhash.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/st/numhash/extconf.rb b/ext/-test-/st/numhash/extconf.rb new file mode 100644 index 0000000000..27d28a0a77 --- /dev/null +++ b/ext/-test-/st/numhash/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/st/numhash") diff --git a/ext/-test-/st/numhash/numhash.c b/ext/-test-/st/numhash/numhash.c new file mode 100644 index 0000000000..7e8d5d9fe2 --- /dev/null +++ b/ext/-test-/st/numhash/numhash.c @@ -0,0 +1,137 @@ +#include <ruby.h> +#include <ruby/st.h> + +static void +numhash_free(void *ptr) +{ + if (ptr) st_free_table(ptr); +} + +static size_t +numhash_memsize(const void *ptr) +{ + return st_memsize(ptr); +} + +static const rb_data_type_t numhash_type = { + "numhash", + {0, numhash_free, numhash_memsize,}, + 0, 0, + RUBY_TYPED_FREE_IMMEDIATELY|RUBY_TYPED_WB_PROTECTED, +}; + +static VALUE +numhash_alloc(VALUE klass) +{ + return TypedData_Wrap_Struct(klass, &numhash_type, 0); +} + +static VALUE +numhash_init(VALUE self) +{ + st_table *tbl = (st_table *)Check_TypedStruct(self, &numhash_type); + if (tbl) st_free_table(tbl); + DATA_PTR(self) = st_init_numtable(); + return self; +} + +static VALUE +numhash_aref(VALUE self, VALUE key) +{ + st_data_t data; + st_table *tbl = (st_table *)Check_TypedStruct(self, &numhash_type); + if (!SPECIAL_CONST_P(key)) rb_raise(rb_eArgError, "not a special const"); + if (st_lookup(tbl, (st_data_t)key, &data)) + return (VALUE)data; + return Qnil; +} + +static VALUE +numhash_aset(VALUE self, VALUE key, VALUE data) +{ + st_table *tbl = (st_table *)Check_TypedStruct(self, &numhash_type); + if (!SPECIAL_CONST_P(key)) rb_raise(rb_eArgError, "not a special const"); + if (!SPECIAL_CONST_P(data)) rb_raise(rb_eArgError, "not a special const"); + st_insert(tbl, (st_data_t)key, (st_data_t)data); + return self; +} + +static int +numhash_i(st_data_t key, st_data_t value, st_data_t arg, int _) +{ + VALUE ret; + ret = rb_yield_values(3, (VALUE)key, (VALUE)value, (VALUE)arg); + if (ret == Qtrue) return ST_CHECK; + return ST_CONTINUE; +} + +static VALUE +numhash_each(VALUE self) +{ + st_table *table = (st_table *)Check_TypedStruct(self, &numhash_type); + st_data_t data = (st_data_t)self; + return st_foreach_check(table, numhash_i, data, data) ? Qtrue : Qfalse; +} + +static int +update_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing) +{ + VALUE ret = rb_yield_values(existing ? 2 : 1, (VALUE)*key, (VALUE)*value); + switch (ret) { + case Qfalse: + return ST_STOP; + case Qnil: + return ST_DELETE; + default: + *value = ret; + return ST_CONTINUE; + } +} + +static VALUE +numhash_update(VALUE self, VALUE key) +{ + st_table *table = (st_table *)Check_TypedStruct(self, &numhash_type); + if (st_update(table, (st_data_t)key, update_func, 0)) + return Qtrue; + else + return Qfalse; +} + +#if SIZEOF_LONG == SIZEOF_VOIDP +# define ST2NUM(x) ULONG2NUM(x) +#elif SIZEOF_LONG_LONG == SIZEOF_VOIDP +# define ST2NUM(x) ULL2NUM(x) +#endif + +static VALUE +numhash_size(VALUE self) +{ + st_table *table = (st_table *)Check_TypedStruct(self, &numhash_type); + return ST2NUM(table->num_entries); +} + +static VALUE +numhash_delete_safe(VALUE self, VALUE key) +{ + st_table *table = (st_table *)Check_TypedStruct(self, &numhash_type); + st_data_t val, k = (st_data_t)key; + if (st_delete_safe(table, &k, &val, (st_data_t)self)) { + return val; + } + return Qnil; +} + +void +Init_numhash(void) +{ + VALUE st = rb_define_class_under(rb_define_module("Bug"), "StNumHash", rb_cObject); + rb_define_alloc_func(st, numhash_alloc); + rb_define_method(st, "initialize", numhash_init, 0); + rb_define_method(st, "[]", numhash_aref, 1); + rb_define_method(st, "[]=", numhash_aset, 2); + rb_define_method(st, "each", numhash_each, 0); + rb_define_method(st, "update", numhash_update, 1); + rb_define_method(st, "size", numhash_size, 0); + rb_define_method(st, "delete_safe", numhash_delete_safe, 1); +} diff --git a/ext/-test-/st/update/depend b/ext/-test-/st/update/depend new file mode 100644 index 0000000000..247f0efd6b --- /dev/null +++ b/ext/-test-/st/update/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +update.o: $(RUBY_EXTCONF_H) +update.o: $(arch_hdrdir)/ruby/config.h +update.o: $(hdrdir)/ruby.h +update.o: $(hdrdir)/ruby/assert.h +update.o: $(hdrdir)/ruby/backward.h +update.o: $(hdrdir)/ruby/backward/2/assume.h +update.o: $(hdrdir)/ruby/backward/2/attributes.h +update.o: $(hdrdir)/ruby/backward/2/bool.h +update.o: $(hdrdir)/ruby/backward/2/inttypes.h +update.o: $(hdrdir)/ruby/backward/2/limits.h +update.o: $(hdrdir)/ruby/backward/2/long_long.h +update.o: $(hdrdir)/ruby/backward/2/stdalign.h +update.o: $(hdrdir)/ruby/backward/2/stdarg.h +update.o: $(hdrdir)/ruby/defines.h +update.o: $(hdrdir)/ruby/intern.h +update.o: $(hdrdir)/ruby/internal/abi.h +update.o: $(hdrdir)/ruby/internal/anyargs.h +update.o: $(hdrdir)/ruby/internal/arithmetic.h +update.o: $(hdrdir)/ruby/internal/arithmetic/char.h +update.o: $(hdrdir)/ruby/internal/arithmetic/double.h +update.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +update.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/int.h +update.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/long.h +update.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +update.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/short.h +update.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +update.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +update.o: $(hdrdir)/ruby/internal/assume.h +update.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +update.o: $(hdrdir)/ruby/internal/attr/artificial.h +update.o: $(hdrdir)/ruby/internal/attr/cold.h +update.o: $(hdrdir)/ruby/internal/attr/const.h +update.o: $(hdrdir)/ruby/internal/attr/constexpr.h +update.o: $(hdrdir)/ruby/internal/attr/deprecated.h +update.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +update.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +update.o: $(hdrdir)/ruby/internal/attr/error.h +update.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +update.o: $(hdrdir)/ruby/internal/attr/forceinline.h +update.o: $(hdrdir)/ruby/internal/attr/format.h +update.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +update.o: $(hdrdir)/ruby/internal/attr/noalias.h +update.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +update.o: $(hdrdir)/ruby/internal/attr/noexcept.h +update.o: $(hdrdir)/ruby/internal/attr/noinline.h +update.o: $(hdrdir)/ruby/internal/attr/nonnull.h +update.o: $(hdrdir)/ruby/internal/attr/noreturn.h +update.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +update.o: $(hdrdir)/ruby/internal/attr/pure.h +update.o: $(hdrdir)/ruby/internal/attr/restrict.h +update.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +update.o: $(hdrdir)/ruby/internal/attr/warning.h +update.o: $(hdrdir)/ruby/internal/attr/weakref.h +update.o: $(hdrdir)/ruby/internal/cast.h +update.o: $(hdrdir)/ruby/internal/compiler_is.h +update.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +update.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +update.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +update.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +update.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +update.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +update.o: $(hdrdir)/ruby/internal/compiler_since.h +update.o: $(hdrdir)/ruby/internal/config.h +update.o: $(hdrdir)/ruby/internal/constant_p.h +update.o: $(hdrdir)/ruby/internal/core.h +update.o: $(hdrdir)/ruby/internal/core/rarray.h +update.o: $(hdrdir)/ruby/internal/core/rbasic.h +update.o: $(hdrdir)/ruby/internal/core/rbignum.h +update.o: $(hdrdir)/ruby/internal/core/rclass.h +update.o: $(hdrdir)/ruby/internal/core/rdata.h +update.o: $(hdrdir)/ruby/internal/core/rfile.h +update.o: $(hdrdir)/ruby/internal/core/rhash.h +update.o: $(hdrdir)/ruby/internal/core/robject.h +update.o: $(hdrdir)/ruby/internal/core/rregexp.h +update.o: $(hdrdir)/ruby/internal/core/rstring.h +update.o: $(hdrdir)/ruby/internal/core/rstruct.h +update.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +update.o: $(hdrdir)/ruby/internal/ctype.h +update.o: $(hdrdir)/ruby/internal/dllexport.h +update.o: $(hdrdir)/ruby/internal/dosish.h +update.o: $(hdrdir)/ruby/internal/error.h +update.o: $(hdrdir)/ruby/internal/eval.h +update.o: $(hdrdir)/ruby/internal/event.h +update.o: $(hdrdir)/ruby/internal/fl_type.h +update.o: $(hdrdir)/ruby/internal/gc.h +update.o: $(hdrdir)/ruby/internal/glob.h +update.o: $(hdrdir)/ruby/internal/globals.h +update.o: $(hdrdir)/ruby/internal/has/attribute.h +update.o: $(hdrdir)/ruby/internal/has/builtin.h +update.o: $(hdrdir)/ruby/internal/has/c_attribute.h +update.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +update.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +update.o: $(hdrdir)/ruby/internal/has/extension.h +update.o: $(hdrdir)/ruby/internal/has/feature.h +update.o: $(hdrdir)/ruby/internal/has/warning.h +update.o: $(hdrdir)/ruby/internal/intern/array.h +update.o: $(hdrdir)/ruby/internal/intern/bignum.h +update.o: $(hdrdir)/ruby/internal/intern/class.h +update.o: $(hdrdir)/ruby/internal/intern/compar.h +update.o: $(hdrdir)/ruby/internal/intern/complex.h +update.o: $(hdrdir)/ruby/internal/intern/cont.h +update.o: $(hdrdir)/ruby/internal/intern/dir.h +update.o: $(hdrdir)/ruby/internal/intern/enum.h +update.o: $(hdrdir)/ruby/internal/intern/enumerator.h +update.o: $(hdrdir)/ruby/internal/intern/error.h +update.o: $(hdrdir)/ruby/internal/intern/eval.h +update.o: $(hdrdir)/ruby/internal/intern/file.h +update.o: $(hdrdir)/ruby/internal/intern/hash.h +update.o: $(hdrdir)/ruby/internal/intern/io.h +update.o: $(hdrdir)/ruby/internal/intern/load.h +update.o: $(hdrdir)/ruby/internal/intern/marshal.h +update.o: $(hdrdir)/ruby/internal/intern/numeric.h +update.o: $(hdrdir)/ruby/internal/intern/object.h +update.o: $(hdrdir)/ruby/internal/intern/parse.h +update.o: $(hdrdir)/ruby/internal/intern/proc.h +update.o: $(hdrdir)/ruby/internal/intern/process.h +update.o: $(hdrdir)/ruby/internal/intern/random.h +update.o: $(hdrdir)/ruby/internal/intern/range.h +update.o: $(hdrdir)/ruby/internal/intern/rational.h +update.o: $(hdrdir)/ruby/internal/intern/re.h +update.o: $(hdrdir)/ruby/internal/intern/ruby.h +update.o: $(hdrdir)/ruby/internal/intern/select.h +update.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +update.o: $(hdrdir)/ruby/internal/intern/set.h +update.o: $(hdrdir)/ruby/internal/intern/signal.h +update.o: $(hdrdir)/ruby/internal/intern/sprintf.h +update.o: $(hdrdir)/ruby/internal/intern/string.h +update.o: $(hdrdir)/ruby/internal/intern/struct.h +update.o: $(hdrdir)/ruby/internal/intern/thread.h +update.o: $(hdrdir)/ruby/internal/intern/time.h +update.o: $(hdrdir)/ruby/internal/intern/variable.h +update.o: $(hdrdir)/ruby/internal/intern/vm.h +update.o: $(hdrdir)/ruby/internal/interpreter.h +update.o: $(hdrdir)/ruby/internal/iterator.h +update.o: $(hdrdir)/ruby/internal/memory.h +update.o: $(hdrdir)/ruby/internal/method.h +update.o: $(hdrdir)/ruby/internal/module.h +update.o: $(hdrdir)/ruby/internal/newobj.h +update.o: $(hdrdir)/ruby/internal/scan_args.h +update.o: $(hdrdir)/ruby/internal/special_consts.h +update.o: $(hdrdir)/ruby/internal/static_assert.h +update.o: $(hdrdir)/ruby/internal/stdalign.h +update.o: $(hdrdir)/ruby/internal/stdbool.h +update.o: $(hdrdir)/ruby/internal/stdckdint.h +update.o: $(hdrdir)/ruby/internal/symbol.h +update.o: $(hdrdir)/ruby/internal/value.h +update.o: $(hdrdir)/ruby/internal/value_type.h +update.o: $(hdrdir)/ruby/internal/variable.h +update.o: $(hdrdir)/ruby/internal/warning_push.h +update.o: $(hdrdir)/ruby/internal/xmalloc.h +update.o: $(hdrdir)/ruby/missing.h +update.o: $(hdrdir)/ruby/ruby.h +update.o: $(hdrdir)/ruby/st.h +update.o: $(hdrdir)/ruby/subst.h +update.o: update.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/st/update/extconf.rb b/ext/-test-/st/update/extconf.rb new file mode 100644 index 0000000000..5152b24229 --- /dev/null +++ b/ext/-test-/st/update/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/st/update") diff --git a/ext/-test-/st/update/update.c b/ext/-test-/st/update/update.c new file mode 100644 index 0000000000..ea7fab12e1 --- /dev/null +++ b/ext/-test-/st/update/update.c @@ -0,0 +1,34 @@ +#include <ruby.h> +#include <ruby/st.h> + +static int +update_func(st_data_t *key, st_data_t *value, st_data_t arg, int existing) +{ + VALUE ret = rb_yield_values(existing ? 2 : 1, (VALUE)*key, (VALUE)*value); + switch (ret) { + case Qfalse: + return ST_STOP; + case Qnil: + return ST_DELETE; + default: + *value = ret; + return ST_CONTINUE; + } +} + +static VALUE +test_st_update(VALUE self, VALUE key) +{ + if (st_update(RHASH_TBL(self), (st_data_t)key, update_func, 0)) + return Qtrue; + else + return Qfalse; +} + +void +Init_update(void) +{ + VALUE st = rb_define_class_under(rb_define_module("Bug"), "StTable", rb_cHash); + rb_define_method(st, "st_update", test_st_update, 1); +} + diff --git a/ext/-test-/stack/depend b/ext/-test-/stack/depend new file mode 100644 index 0000000000..77e93bb201 --- /dev/null +++ b/ext/-test-/stack/depend @@ -0,0 +1,179 @@ +# AUTOGENERATED DEPENDENCIES START +stack.o: $(RUBY_EXTCONF_H) +stack.o: $(arch_hdrdir)/ruby/config.h +stack.o: $(hdrdir)/ruby.h +stack.o: $(hdrdir)/ruby/assert.h +stack.o: $(hdrdir)/ruby/backward.h +stack.o: $(hdrdir)/ruby/backward/2/assume.h +stack.o: $(hdrdir)/ruby/backward/2/attributes.h +stack.o: $(hdrdir)/ruby/backward/2/bool.h +stack.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +stack.o: $(hdrdir)/ruby/backward/2/inttypes.h +stack.o: $(hdrdir)/ruby/backward/2/limits.h +stack.o: $(hdrdir)/ruby/backward/2/long_long.h +stack.o: $(hdrdir)/ruby/backward/2/stdalign.h +stack.o: $(hdrdir)/ruby/backward/2/stdarg.h +stack.o: $(hdrdir)/ruby/defines.h +stack.o: $(hdrdir)/ruby/encoding.h +stack.o: $(hdrdir)/ruby/intern.h +stack.o: $(hdrdir)/ruby/internal/abi.h +stack.o: $(hdrdir)/ruby/internal/anyargs.h +stack.o: $(hdrdir)/ruby/internal/arithmetic.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/char.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/double.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/int.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/long.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/short.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +stack.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +stack.o: $(hdrdir)/ruby/internal/assume.h +stack.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +stack.o: $(hdrdir)/ruby/internal/attr/artificial.h +stack.o: $(hdrdir)/ruby/internal/attr/cold.h +stack.o: $(hdrdir)/ruby/internal/attr/const.h +stack.o: $(hdrdir)/ruby/internal/attr/constexpr.h +stack.o: $(hdrdir)/ruby/internal/attr/deprecated.h +stack.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +stack.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +stack.o: $(hdrdir)/ruby/internal/attr/error.h +stack.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +stack.o: $(hdrdir)/ruby/internal/attr/forceinline.h +stack.o: $(hdrdir)/ruby/internal/attr/format.h +stack.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +stack.o: $(hdrdir)/ruby/internal/attr/noalias.h +stack.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +stack.o: $(hdrdir)/ruby/internal/attr/noexcept.h +stack.o: $(hdrdir)/ruby/internal/attr/noinline.h +stack.o: $(hdrdir)/ruby/internal/attr/nonnull.h +stack.o: $(hdrdir)/ruby/internal/attr/noreturn.h +stack.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +stack.o: $(hdrdir)/ruby/internal/attr/pure.h +stack.o: $(hdrdir)/ruby/internal/attr/restrict.h +stack.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +stack.o: $(hdrdir)/ruby/internal/attr/warning.h +stack.o: $(hdrdir)/ruby/internal/attr/weakref.h +stack.o: $(hdrdir)/ruby/internal/cast.h +stack.o: $(hdrdir)/ruby/internal/compiler_is.h +stack.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +stack.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +stack.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +stack.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +stack.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +stack.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +stack.o: $(hdrdir)/ruby/internal/compiler_since.h +stack.o: $(hdrdir)/ruby/internal/config.h +stack.o: $(hdrdir)/ruby/internal/constant_p.h +stack.o: $(hdrdir)/ruby/internal/core.h +stack.o: $(hdrdir)/ruby/internal/core/rarray.h +stack.o: $(hdrdir)/ruby/internal/core/rbasic.h +stack.o: $(hdrdir)/ruby/internal/core/rbignum.h +stack.o: $(hdrdir)/ruby/internal/core/rclass.h +stack.o: $(hdrdir)/ruby/internal/core/rdata.h +stack.o: $(hdrdir)/ruby/internal/core/rfile.h +stack.o: $(hdrdir)/ruby/internal/core/rhash.h +stack.o: $(hdrdir)/ruby/internal/core/robject.h +stack.o: $(hdrdir)/ruby/internal/core/rregexp.h +stack.o: $(hdrdir)/ruby/internal/core/rstring.h +stack.o: $(hdrdir)/ruby/internal/core/rstruct.h +stack.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +stack.o: $(hdrdir)/ruby/internal/ctype.h +stack.o: $(hdrdir)/ruby/internal/dllexport.h +stack.o: $(hdrdir)/ruby/internal/dosish.h +stack.o: $(hdrdir)/ruby/internal/encoding/coderange.h +stack.o: $(hdrdir)/ruby/internal/encoding/ctype.h +stack.o: $(hdrdir)/ruby/internal/encoding/encoding.h +stack.o: $(hdrdir)/ruby/internal/encoding/pathname.h +stack.o: $(hdrdir)/ruby/internal/encoding/re.h +stack.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +stack.o: $(hdrdir)/ruby/internal/encoding/string.h +stack.o: $(hdrdir)/ruby/internal/encoding/symbol.h +stack.o: $(hdrdir)/ruby/internal/encoding/transcode.h +stack.o: $(hdrdir)/ruby/internal/error.h +stack.o: $(hdrdir)/ruby/internal/eval.h +stack.o: $(hdrdir)/ruby/internal/event.h +stack.o: $(hdrdir)/ruby/internal/fl_type.h +stack.o: $(hdrdir)/ruby/internal/gc.h +stack.o: $(hdrdir)/ruby/internal/glob.h +stack.o: $(hdrdir)/ruby/internal/globals.h +stack.o: $(hdrdir)/ruby/internal/has/attribute.h +stack.o: $(hdrdir)/ruby/internal/has/builtin.h +stack.o: $(hdrdir)/ruby/internal/has/c_attribute.h +stack.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +stack.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +stack.o: $(hdrdir)/ruby/internal/has/extension.h +stack.o: $(hdrdir)/ruby/internal/has/feature.h +stack.o: $(hdrdir)/ruby/internal/has/warning.h +stack.o: $(hdrdir)/ruby/internal/intern/array.h +stack.o: $(hdrdir)/ruby/internal/intern/bignum.h +stack.o: $(hdrdir)/ruby/internal/intern/class.h +stack.o: $(hdrdir)/ruby/internal/intern/compar.h +stack.o: $(hdrdir)/ruby/internal/intern/complex.h +stack.o: $(hdrdir)/ruby/internal/intern/cont.h +stack.o: $(hdrdir)/ruby/internal/intern/dir.h +stack.o: $(hdrdir)/ruby/internal/intern/enum.h +stack.o: $(hdrdir)/ruby/internal/intern/enumerator.h +stack.o: $(hdrdir)/ruby/internal/intern/error.h +stack.o: $(hdrdir)/ruby/internal/intern/eval.h +stack.o: $(hdrdir)/ruby/internal/intern/file.h +stack.o: $(hdrdir)/ruby/internal/intern/hash.h +stack.o: $(hdrdir)/ruby/internal/intern/io.h +stack.o: $(hdrdir)/ruby/internal/intern/load.h +stack.o: $(hdrdir)/ruby/internal/intern/marshal.h +stack.o: $(hdrdir)/ruby/internal/intern/numeric.h +stack.o: $(hdrdir)/ruby/internal/intern/object.h +stack.o: $(hdrdir)/ruby/internal/intern/parse.h +stack.o: $(hdrdir)/ruby/internal/intern/proc.h +stack.o: $(hdrdir)/ruby/internal/intern/process.h +stack.o: $(hdrdir)/ruby/internal/intern/random.h +stack.o: $(hdrdir)/ruby/internal/intern/range.h +stack.o: $(hdrdir)/ruby/internal/intern/rational.h +stack.o: $(hdrdir)/ruby/internal/intern/re.h +stack.o: $(hdrdir)/ruby/internal/intern/ruby.h +stack.o: $(hdrdir)/ruby/internal/intern/select.h +stack.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +stack.o: $(hdrdir)/ruby/internal/intern/set.h +stack.o: $(hdrdir)/ruby/internal/intern/signal.h +stack.o: $(hdrdir)/ruby/internal/intern/sprintf.h +stack.o: $(hdrdir)/ruby/internal/intern/string.h +stack.o: $(hdrdir)/ruby/internal/intern/struct.h +stack.o: $(hdrdir)/ruby/internal/intern/thread.h +stack.o: $(hdrdir)/ruby/internal/intern/time.h +stack.o: $(hdrdir)/ruby/internal/intern/variable.h +stack.o: $(hdrdir)/ruby/internal/intern/vm.h +stack.o: $(hdrdir)/ruby/internal/interpreter.h +stack.o: $(hdrdir)/ruby/internal/iterator.h +stack.o: $(hdrdir)/ruby/internal/memory.h +stack.o: $(hdrdir)/ruby/internal/method.h +stack.o: $(hdrdir)/ruby/internal/module.h +stack.o: $(hdrdir)/ruby/internal/newobj.h +stack.o: $(hdrdir)/ruby/internal/scan_args.h +stack.o: $(hdrdir)/ruby/internal/special_consts.h +stack.o: $(hdrdir)/ruby/internal/static_assert.h +stack.o: $(hdrdir)/ruby/internal/stdalign.h +stack.o: $(hdrdir)/ruby/internal/stdbool.h +stack.o: $(hdrdir)/ruby/internal/stdckdint.h +stack.o: $(hdrdir)/ruby/internal/symbol.h +stack.o: $(hdrdir)/ruby/internal/value.h +stack.o: $(hdrdir)/ruby/internal/value_type.h +stack.o: $(hdrdir)/ruby/internal/variable.h +stack.o: $(hdrdir)/ruby/internal/warning_push.h +stack.o: $(hdrdir)/ruby/internal/xmalloc.h +stack.o: $(hdrdir)/ruby/missing.h +stack.o: $(hdrdir)/ruby/onigmo.h +stack.o: $(hdrdir)/ruby/oniguruma.h +stack.o: $(hdrdir)/ruby/ruby.h +stack.o: $(hdrdir)/ruby/st.h +stack.o: $(hdrdir)/ruby/subst.h +stack.o: $(top_srcdir)/encindex.h +stack.o: $(top_srcdir)/internal/compilers.h +stack.o: $(top_srcdir)/internal/string.h +stack.o: stack.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/stack/extconf.rb b/ext/-test-/stack/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/stack/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/stack/stack.c b/ext/-test-/stack/stack.c new file mode 100644 index 0000000000..f0e65e74b2 --- /dev/null +++ b/ext/-test-/stack/stack.c @@ -0,0 +1,35 @@ +#include "ruby.h" +#include "internal/string.h" + +static VALUE +stack_overflow(VALUE self) +{ + size_t i = 0; + + while (1) { + // Allocate and touch memory to force actual stack usage: + volatile char *stack = alloca(1024); + stack[0] = (char)i; + stack[1023] = (char)i; + i++; + } + + return Qnil; +} + +static VALUE +asan_p(VALUE klass) +{ +#if defined(__SANITIZE_ADDRESS__) || __has_feature(address_sanitizer) + return Qtrue; +#else + return Qfalse; +#endif +} + +void +Init_stack(VALUE klass) +{ + rb_define_singleton_method(rb_cThread, "stack_overflow", stack_overflow, 0); + rb_define_singleton_method(rb_cThread, "asan?", asan_p, 0); +} diff --git a/ext/-test-/string/capacity.c b/ext/-test-/string/capacity.c new file mode 100644 index 0000000000..33b2023fd3 --- /dev/null +++ b/ext/-test-/string/capacity.c @@ -0,0 +1,18 @@ +#include "ruby.h" +#include "internal/string.h" + +static VALUE +bug_str_capacity(VALUE klass, VALUE str) +{ + if (!STR_EMBED_P(str) && STR_SHARED_P(str)) { + return INT2FIX(0); + } + + return LONG2FIX(rb_str_capacity(str)); +} + +void +Init_string_capacity(VALUE klass) +{ + rb_define_singleton_method(klass, "capacity", bug_str_capacity, 1); +} diff --git a/ext/-test-/string/coderange.c b/ext/-test-/string/coderange.c new file mode 100644 index 0000000000..4197ecca9f --- /dev/null +++ b/ext/-test-/string/coderange.c @@ -0,0 +1,47 @@ +#include "ruby/ruby.h" +#include "ruby/encoding.h" + +static VALUE sym_7bit, sym_valid, sym_unknown, sym_broken; + +static VALUE +coderange_int2sym(int coderange) +{ + switch (coderange) { + case ENC_CODERANGE_7BIT: + return sym_7bit; + case ENC_CODERANGE_VALID: + return sym_valid; + case ENC_CODERANGE_UNKNOWN: + return sym_unknown; + case ENC_CODERANGE_BROKEN: + return sym_broken; + } + rb_bug("wrong condition of coderange"); + UNREACHABLE_RETURN(Qnil); +} + +/* return coderange without scan */ +static VALUE +str_coderange(VALUE str) +{ + return coderange_int2sym(ENC_CODERANGE(str)); +} + +/* scan coderange and return the result */ +static VALUE +str_coderange_scan(VALUE str) +{ + ENC_CODERANGE_SET(str, ENC_CODERANGE_UNKNOWN); + return coderange_int2sym(rb_enc_str_coderange(str)); +} + +void +Init_string_coderange(VALUE klass) +{ + sym_7bit = ID2SYM(rb_intern_const("7bit")); + sym_valid = ID2SYM(rb_intern_const("valid")); + sym_unknown = ID2SYM(rb_intern_const("unknown")); + sym_broken = ID2SYM(rb_intern_const("broken")); + rb_define_method(klass, "coderange", str_coderange, 0); + rb_define_method(klass, "coderange_scan", str_coderange_scan, 0); +} diff --git a/ext/-test-/string/cstr.c b/ext/-test-/string/cstr.c new file mode 100644 index 0000000000..931220b46b --- /dev/null +++ b/ext/-test-/string/cstr.c @@ -0,0 +1,147 @@ +#include "internal.h" +#include "internal/string.h" +#include "ruby/encoding.h" + +static VALUE +bug_str_cstr_term(VALUE str) +{ + long len; + char *s; + int c; + rb_encoding *enc; + + len = RSTRING_LEN(str); + s = StringValueCStr(str); + rb_gc(); + enc = rb_enc_get(str); + c = rb_enc_codepoint(&s[len], &s[len+rb_enc_mbminlen(enc)], enc); + return INT2NUM(c); +} + +static VALUE +bug_str_cstr_unterm(VALUE str, VALUE c) +{ + long len; + + rb_str_modify(str); + len = RSTRING_LEN(str); + RSTRING_PTR(str)[len] = NUM2CHR(c); + return str; +} + +static VALUE +bug_str_cstr_term_char(VALUE str) +{ + long len; + char *s; + int c; + rb_encoding *enc = rb_enc_get(str); + + RSTRING_GETMEM(str, s, len); + s += len; + len = rb_enc_mbminlen(enc); + c = rb_enc_precise_mbclen(s, s + len, enc); + if (!MBCLEN_CHARFOUND_P(c)) { + c = (unsigned char)*s; + } + else { + c = rb_enc_mbc_to_codepoint(s, s + len, enc); + if (!c) return Qnil; + } + return rb_enc_uint_chr((unsigned int)c, enc); +} + +static VALUE +bug_str_unterminated_substring(VALUE str, VALUE vbeg, VALUE vlen) +{ + long beg = NUM2LONG(vbeg); + long len = NUM2LONG(vlen); + rb_str_modify(str); + if (len < 0) rb_raise(rb_eArgError, "negative length: %ld", len); + if (RSTRING_LEN(str) < beg) rb_raise(rb_eIndexError, "beg: %ld", beg); + if (RSTRING_LEN(str) < beg + len) rb_raise(rb_eIndexError, "end: %ld", beg + len); + str = rb_str_new_shared(str); + RSTRING(str)->len = len; + if (STR_EMBED_P(str)) { + memmove(RSTRING(str)->as.embed.ary, RSTRING(str)->as.embed.ary + beg, len); + } + else { + RSTRING(str)->as.heap.ptr += beg; + } + return str; +} + +static VALUE +bug_str_s_cstr_term(VALUE self, VALUE str) +{ + Check_Type(str, T_STRING); + return bug_str_cstr_term(str); +} + +static VALUE +bug_str_s_cstr_unterm(VALUE self, VALUE str, VALUE c) +{ + Check_Type(str, T_STRING); + return bug_str_cstr_unterm(str, c); +} + +static VALUE +bug_str_s_cstr_term_char(VALUE self, VALUE str) +{ + Check_Type(str, T_STRING); + return bug_str_cstr_term_char(str); +} + +#define TERM_LEN(str) rb_enc_mbminlen(rb_enc_get(str)) +#define TERM_FILL(ptr, termlen) do {\ + char *const term_fill_ptr = (ptr);\ + const int term_fill_len = (termlen);\ + *term_fill_ptr = '\0';\ + if (UNLIKELY(term_fill_len > 1))\ + memset(term_fill_ptr, 0, term_fill_len);\ +} while (0) + +static VALUE +bug_str_s_cstr_noembed(VALUE self, VALUE str) +{ + VALUE str2 = rb_str_new(NULL, 0); + long capacity = RSTRING_LEN(str) + TERM_LEN(str); + char *buf = ALLOC_N(char, capacity); + Check_Type(str, T_STRING); + FL_SET((str2), STR_NOEMBED); + memcpy(buf, RSTRING_PTR(str), capacity); + RBASIC(str2)->flags &= ~(STR_SHARED | FL_USER5 | FL_USER6); + RSTRING(str2)->as.heap.aux.capa = RSTRING_LEN(str); + RSTRING(str2)->as.heap.ptr = buf; + RSTRING(str2)->len = RSTRING_LEN(str); + + TERM_FILL(RSTRING_END(str2), TERM_LEN(str)); + return str2; +} + +static VALUE +bug_str_s_cstr_embedded_p(VALUE self, VALUE str) +{ + return STR_EMBED_P(str) ? Qtrue : Qfalse; +} + +static VALUE +bug_str_s_rb_str_new_frozen(VALUE self, VALUE str) +{ + return rb_str_new_frozen(str); +} + +void +Init_string_cstr(VALUE klass) +{ + rb_define_method(klass, "cstr_term", bug_str_cstr_term, 0); + rb_define_method(klass, "cstr_unterm", bug_str_cstr_unterm, 1); + rb_define_method(klass, "cstr_term_char", bug_str_cstr_term_char, 0); + rb_define_method(klass, "unterminated_substring", bug_str_unterminated_substring, 2); + rb_define_singleton_method(klass, "cstr_term", bug_str_s_cstr_term, 1); + rb_define_singleton_method(klass, "cstr_unterm", bug_str_s_cstr_unterm, 2); + rb_define_singleton_method(klass, "cstr_term_char", bug_str_s_cstr_term_char, 1); + rb_define_singleton_method(klass, "cstr_noembed", bug_str_s_cstr_noembed, 1); + rb_define_singleton_method(klass, "cstr_embedded?", bug_str_s_cstr_embedded_p, 1); + rb_define_singleton_method(klass, "rb_str_new_frozen", bug_str_s_rb_str_new_frozen, 1); +} diff --git a/ext/-test-/string/depend b/ext/-test-/string/depend new file mode 100644 index 0000000000..478ae3b82b --- /dev/null +++ b/ext/-test-/string/depend @@ -0,0 +1,3030 @@ +# AUTOGENERATED DEPENDENCIES START +capacity.o: $(RUBY_EXTCONF_H) +capacity.o: $(arch_hdrdir)/ruby/config.h +capacity.o: $(hdrdir)/ruby.h +capacity.o: $(hdrdir)/ruby/assert.h +capacity.o: $(hdrdir)/ruby/backward.h +capacity.o: $(hdrdir)/ruby/backward/2/assume.h +capacity.o: $(hdrdir)/ruby/backward/2/attributes.h +capacity.o: $(hdrdir)/ruby/backward/2/bool.h +capacity.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +capacity.o: $(hdrdir)/ruby/backward/2/inttypes.h +capacity.o: $(hdrdir)/ruby/backward/2/limits.h +capacity.o: $(hdrdir)/ruby/backward/2/long_long.h +capacity.o: $(hdrdir)/ruby/backward/2/stdalign.h +capacity.o: $(hdrdir)/ruby/backward/2/stdarg.h +capacity.o: $(hdrdir)/ruby/defines.h +capacity.o: $(hdrdir)/ruby/encoding.h +capacity.o: $(hdrdir)/ruby/intern.h +capacity.o: $(hdrdir)/ruby/internal/abi.h +capacity.o: $(hdrdir)/ruby/internal/anyargs.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/char.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/double.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/int.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/long.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/short.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +capacity.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +capacity.o: $(hdrdir)/ruby/internal/assume.h +capacity.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +capacity.o: $(hdrdir)/ruby/internal/attr/artificial.h +capacity.o: $(hdrdir)/ruby/internal/attr/cold.h +capacity.o: $(hdrdir)/ruby/internal/attr/const.h +capacity.o: $(hdrdir)/ruby/internal/attr/constexpr.h +capacity.o: $(hdrdir)/ruby/internal/attr/deprecated.h +capacity.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +capacity.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +capacity.o: $(hdrdir)/ruby/internal/attr/error.h +capacity.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +capacity.o: $(hdrdir)/ruby/internal/attr/forceinline.h +capacity.o: $(hdrdir)/ruby/internal/attr/format.h +capacity.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +capacity.o: $(hdrdir)/ruby/internal/attr/noalias.h +capacity.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +capacity.o: $(hdrdir)/ruby/internal/attr/noexcept.h +capacity.o: $(hdrdir)/ruby/internal/attr/noinline.h +capacity.o: $(hdrdir)/ruby/internal/attr/nonnull.h +capacity.o: $(hdrdir)/ruby/internal/attr/noreturn.h +capacity.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +capacity.o: $(hdrdir)/ruby/internal/attr/pure.h +capacity.o: $(hdrdir)/ruby/internal/attr/restrict.h +capacity.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +capacity.o: $(hdrdir)/ruby/internal/attr/warning.h +capacity.o: $(hdrdir)/ruby/internal/attr/weakref.h +capacity.o: $(hdrdir)/ruby/internal/cast.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +capacity.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +capacity.o: $(hdrdir)/ruby/internal/compiler_since.h +capacity.o: $(hdrdir)/ruby/internal/config.h +capacity.o: $(hdrdir)/ruby/internal/constant_p.h +capacity.o: $(hdrdir)/ruby/internal/core.h +capacity.o: $(hdrdir)/ruby/internal/core/rarray.h +capacity.o: $(hdrdir)/ruby/internal/core/rbasic.h +capacity.o: $(hdrdir)/ruby/internal/core/rbignum.h +capacity.o: $(hdrdir)/ruby/internal/core/rclass.h +capacity.o: $(hdrdir)/ruby/internal/core/rdata.h +capacity.o: $(hdrdir)/ruby/internal/core/rfile.h +capacity.o: $(hdrdir)/ruby/internal/core/rhash.h +capacity.o: $(hdrdir)/ruby/internal/core/robject.h +capacity.o: $(hdrdir)/ruby/internal/core/rregexp.h +capacity.o: $(hdrdir)/ruby/internal/core/rstring.h +capacity.o: $(hdrdir)/ruby/internal/core/rstruct.h +capacity.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +capacity.o: $(hdrdir)/ruby/internal/ctype.h +capacity.o: $(hdrdir)/ruby/internal/dllexport.h +capacity.o: $(hdrdir)/ruby/internal/dosish.h +capacity.o: $(hdrdir)/ruby/internal/encoding/coderange.h +capacity.o: $(hdrdir)/ruby/internal/encoding/ctype.h +capacity.o: $(hdrdir)/ruby/internal/encoding/encoding.h +capacity.o: $(hdrdir)/ruby/internal/encoding/pathname.h +capacity.o: $(hdrdir)/ruby/internal/encoding/re.h +capacity.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +capacity.o: $(hdrdir)/ruby/internal/encoding/string.h +capacity.o: $(hdrdir)/ruby/internal/encoding/symbol.h +capacity.o: $(hdrdir)/ruby/internal/encoding/transcode.h +capacity.o: $(hdrdir)/ruby/internal/error.h +capacity.o: $(hdrdir)/ruby/internal/eval.h +capacity.o: $(hdrdir)/ruby/internal/event.h +capacity.o: $(hdrdir)/ruby/internal/fl_type.h +capacity.o: $(hdrdir)/ruby/internal/gc.h +capacity.o: $(hdrdir)/ruby/internal/glob.h +capacity.o: $(hdrdir)/ruby/internal/globals.h +capacity.o: $(hdrdir)/ruby/internal/has/attribute.h +capacity.o: $(hdrdir)/ruby/internal/has/builtin.h +capacity.o: $(hdrdir)/ruby/internal/has/c_attribute.h +capacity.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +capacity.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +capacity.o: $(hdrdir)/ruby/internal/has/extension.h +capacity.o: $(hdrdir)/ruby/internal/has/feature.h +capacity.o: $(hdrdir)/ruby/internal/has/warning.h +capacity.o: $(hdrdir)/ruby/internal/intern/array.h +capacity.o: $(hdrdir)/ruby/internal/intern/bignum.h +capacity.o: $(hdrdir)/ruby/internal/intern/class.h +capacity.o: $(hdrdir)/ruby/internal/intern/compar.h +capacity.o: $(hdrdir)/ruby/internal/intern/complex.h +capacity.o: $(hdrdir)/ruby/internal/intern/cont.h +capacity.o: $(hdrdir)/ruby/internal/intern/dir.h +capacity.o: $(hdrdir)/ruby/internal/intern/enum.h +capacity.o: $(hdrdir)/ruby/internal/intern/enumerator.h +capacity.o: $(hdrdir)/ruby/internal/intern/error.h +capacity.o: $(hdrdir)/ruby/internal/intern/eval.h +capacity.o: $(hdrdir)/ruby/internal/intern/file.h +capacity.o: $(hdrdir)/ruby/internal/intern/hash.h +capacity.o: $(hdrdir)/ruby/internal/intern/io.h +capacity.o: $(hdrdir)/ruby/internal/intern/load.h +capacity.o: $(hdrdir)/ruby/internal/intern/marshal.h +capacity.o: $(hdrdir)/ruby/internal/intern/numeric.h +capacity.o: $(hdrdir)/ruby/internal/intern/object.h +capacity.o: $(hdrdir)/ruby/internal/intern/parse.h +capacity.o: $(hdrdir)/ruby/internal/intern/proc.h +capacity.o: $(hdrdir)/ruby/internal/intern/process.h +capacity.o: $(hdrdir)/ruby/internal/intern/random.h +capacity.o: $(hdrdir)/ruby/internal/intern/range.h +capacity.o: $(hdrdir)/ruby/internal/intern/rational.h +capacity.o: $(hdrdir)/ruby/internal/intern/re.h +capacity.o: $(hdrdir)/ruby/internal/intern/ruby.h +capacity.o: $(hdrdir)/ruby/internal/intern/select.h +capacity.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +capacity.o: $(hdrdir)/ruby/internal/intern/set.h +capacity.o: $(hdrdir)/ruby/internal/intern/signal.h +capacity.o: $(hdrdir)/ruby/internal/intern/sprintf.h +capacity.o: $(hdrdir)/ruby/internal/intern/string.h +capacity.o: $(hdrdir)/ruby/internal/intern/struct.h +capacity.o: $(hdrdir)/ruby/internal/intern/thread.h +capacity.o: $(hdrdir)/ruby/internal/intern/time.h +capacity.o: $(hdrdir)/ruby/internal/intern/variable.h +capacity.o: $(hdrdir)/ruby/internal/intern/vm.h +capacity.o: $(hdrdir)/ruby/internal/interpreter.h +capacity.o: $(hdrdir)/ruby/internal/iterator.h +capacity.o: $(hdrdir)/ruby/internal/memory.h +capacity.o: $(hdrdir)/ruby/internal/method.h +capacity.o: $(hdrdir)/ruby/internal/module.h +capacity.o: $(hdrdir)/ruby/internal/newobj.h +capacity.o: $(hdrdir)/ruby/internal/scan_args.h +capacity.o: $(hdrdir)/ruby/internal/special_consts.h +capacity.o: $(hdrdir)/ruby/internal/static_assert.h +capacity.o: $(hdrdir)/ruby/internal/stdalign.h +capacity.o: $(hdrdir)/ruby/internal/stdbool.h +capacity.o: $(hdrdir)/ruby/internal/stdckdint.h +capacity.o: $(hdrdir)/ruby/internal/symbol.h +capacity.o: $(hdrdir)/ruby/internal/value.h +capacity.o: $(hdrdir)/ruby/internal/value_type.h +capacity.o: $(hdrdir)/ruby/internal/variable.h +capacity.o: $(hdrdir)/ruby/internal/warning_push.h +capacity.o: $(hdrdir)/ruby/internal/xmalloc.h +capacity.o: $(hdrdir)/ruby/missing.h +capacity.o: $(hdrdir)/ruby/onigmo.h +capacity.o: $(hdrdir)/ruby/oniguruma.h +capacity.o: $(hdrdir)/ruby/ruby.h +capacity.o: $(hdrdir)/ruby/st.h +capacity.o: $(hdrdir)/ruby/subst.h +capacity.o: $(top_srcdir)/encindex.h +capacity.o: $(top_srcdir)/internal/compilers.h +capacity.o: $(top_srcdir)/internal/string.h +capacity.o: capacity.c +chilled.o: $(RUBY_EXTCONF_H) +chilled.o: $(arch_hdrdir)/ruby/config.h +chilled.o: $(hdrdir)/ruby.h +chilled.o: $(hdrdir)/ruby/assert.h +chilled.o: $(hdrdir)/ruby/backward.h +chilled.o: $(hdrdir)/ruby/backward/2/assume.h +chilled.o: $(hdrdir)/ruby/backward/2/attributes.h +chilled.o: $(hdrdir)/ruby/backward/2/bool.h +chilled.o: $(hdrdir)/ruby/backward/2/inttypes.h +chilled.o: $(hdrdir)/ruby/backward/2/limits.h +chilled.o: $(hdrdir)/ruby/backward/2/long_long.h +chilled.o: $(hdrdir)/ruby/backward/2/stdalign.h +chilled.o: $(hdrdir)/ruby/backward/2/stdarg.h +chilled.o: $(hdrdir)/ruby/defines.h +chilled.o: $(hdrdir)/ruby/intern.h +chilled.o: $(hdrdir)/ruby/internal/abi.h +chilled.o: $(hdrdir)/ruby/internal/anyargs.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/char.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/double.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/int.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/long.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/short.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +chilled.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +chilled.o: $(hdrdir)/ruby/internal/assume.h +chilled.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +chilled.o: $(hdrdir)/ruby/internal/attr/artificial.h +chilled.o: $(hdrdir)/ruby/internal/attr/cold.h +chilled.o: $(hdrdir)/ruby/internal/attr/const.h +chilled.o: $(hdrdir)/ruby/internal/attr/constexpr.h +chilled.o: $(hdrdir)/ruby/internal/attr/deprecated.h +chilled.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +chilled.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +chilled.o: $(hdrdir)/ruby/internal/attr/error.h +chilled.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +chilled.o: $(hdrdir)/ruby/internal/attr/forceinline.h +chilled.o: $(hdrdir)/ruby/internal/attr/format.h +chilled.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +chilled.o: $(hdrdir)/ruby/internal/attr/noalias.h +chilled.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +chilled.o: $(hdrdir)/ruby/internal/attr/noexcept.h +chilled.o: $(hdrdir)/ruby/internal/attr/noinline.h +chilled.o: $(hdrdir)/ruby/internal/attr/nonnull.h +chilled.o: $(hdrdir)/ruby/internal/attr/noreturn.h +chilled.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +chilled.o: $(hdrdir)/ruby/internal/attr/pure.h +chilled.o: $(hdrdir)/ruby/internal/attr/restrict.h +chilled.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +chilled.o: $(hdrdir)/ruby/internal/attr/warning.h +chilled.o: $(hdrdir)/ruby/internal/attr/weakref.h +chilled.o: $(hdrdir)/ruby/internal/cast.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +chilled.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +chilled.o: $(hdrdir)/ruby/internal/compiler_since.h +chilled.o: $(hdrdir)/ruby/internal/config.h +chilled.o: $(hdrdir)/ruby/internal/constant_p.h +chilled.o: $(hdrdir)/ruby/internal/core.h +chilled.o: $(hdrdir)/ruby/internal/core/rarray.h +chilled.o: $(hdrdir)/ruby/internal/core/rbasic.h +chilled.o: $(hdrdir)/ruby/internal/core/rbignum.h +chilled.o: $(hdrdir)/ruby/internal/core/rclass.h +chilled.o: $(hdrdir)/ruby/internal/core/rdata.h +chilled.o: $(hdrdir)/ruby/internal/core/rfile.h +chilled.o: $(hdrdir)/ruby/internal/core/rhash.h +chilled.o: $(hdrdir)/ruby/internal/core/robject.h +chilled.o: $(hdrdir)/ruby/internal/core/rregexp.h +chilled.o: $(hdrdir)/ruby/internal/core/rstring.h +chilled.o: $(hdrdir)/ruby/internal/core/rstruct.h +chilled.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +chilled.o: $(hdrdir)/ruby/internal/ctype.h +chilled.o: $(hdrdir)/ruby/internal/dllexport.h +chilled.o: $(hdrdir)/ruby/internal/dosish.h +chilled.o: $(hdrdir)/ruby/internal/error.h +chilled.o: $(hdrdir)/ruby/internal/eval.h +chilled.o: $(hdrdir)/ruby/internal/event.h +chilled.o: $(hdrdir)/ruby/internal/fl_type.h +chilled.o: $(hdrdir)/ruby/internal/gc.h +chilled.o: $(hdrdir)/ruby/internal/glob.h +chilled.o: $(hdrdir)/ruby/internal/globals.h +chilled.o: $(hdrdir)/ruby/internal/has/attribute.h +chilled.o: $(hdrdir)/ruby/internal/has/builtin.h +chilled.o: $(hdrdir)/ruby/internal/has/c_attribute.h +chilled.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +chilled.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +chilled.o: $(hdrdir)/ruby/internal/has/extension.h +chilled.o: $(hdrdir)/ruby/internal/has/feature.h +chilled.o: $(hdrdir)/ruby/internal/has/warning.h +chilled.o: $(hdrdir)/ruby/internal/intern/array.h +chilled.o: $(hdrdir)/ruby/internal/intern/bignum.h +chilled.o: $(hdrdir)/ruby/internal/intern/class.h +chilled.o: $(hdrdir)/ruby/internal/intern/compar.h +chilled.o: $(hdrdir)/ruby/internal/intern/complex.h +chilled.o: $(hdrdir)/ruby/internal/intern/cont.h +chilled.o: $(hdrdir)/ruby/internal/intern/dir.h +chilled.o: $(hdrdir)/ruby/internal/intern/enum.h +chilled.o: $(hdrdir)/ruby/internal/intern/enumerator.h +chilled.o: $(hdrdir)/ruby/internal/intern/error.h +chilled.o: $(hdrdir)/ruby/internal/intern/eval.h +chilled.o: $(hdrdir)/ruby/internal/intern/file.h +chilled.o: $(hdrdir)/ruby/internal/intern/hash.h +chilled.o: $(hdrdir)/ruby/internal/intern/io.h +chilled.o: $(hdrdir)/ruby/internal/intern/load.h +chilled.o: $(hdrdir)/ruby/internal/intern/marshal.h +chilled.o: $(hdrdir)/ruby/internal/intern/numeric.h +chilled.o: $(hdrdir)/ruby/internal/intern/object.h +chilled.o: $(hdrdir)/ruby/internal/intern/parse.h +chilled.o: $(hdrdir)/ruby/internal/intern/proc.h +chilled.o: $(hdrdir)/ruby/internal/intern/process.h +chilled.o: $(hdrdir)/ruby/internal/intern/random.h +chilled.o: $(hdrdir)/ruby/internal/intern/range.h +chilled.o: $(hdrdir)/ruby/internal/intern/rational.h +chilled.o: $(hdrdir)/ruby/internal/intern/re.h +chilled.o: $(hdrdir)/ruby/internal/intern/ruby.h +chilled.o: $(hdrdir)/ruby/internal/intern/select.h +chilled.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +chilled.o: $(hdrdir)/ruby/internal/intern/signal.h +chilled.o: $(hdrdir)/ruby/internal/intern/sprintf.h +chilled.o: $(hdrdir)/ruby/internal/intern/string.h +chilled.o: $(hdrdir)/ruby/internal/intern/struct.h +chilled.o: $(hdrdir)/ruby/internal/intern/thread.h +chilled.o: $(hdrdir)/ruby/internal/intern/time.h +chilled.o: $(hdrdir)/ruby/internal/intern/variable.h +chilled.o: $(hdrdir)/ruby/internal/intern/vm.h +chilled.o: $(hdrdir)/ruby/internal/interpreter.h +chilled.o: $(hdrdir)/ruby/internal/iterator.h +chilled.o: $(hdrdir)/ruby/internal/memory.h +chilled.o: $(hdrdir)/ruby/internal/method.h +chilled.o: $(hdrdir)/ruby/internal/module.h +chilled.o: $(hdrdir)/ruby/internal/newobj.h +chilled.o: $(hdrdir)/ruby/internal/scan_args.h +chilled.o: $(hdrdir)/ruby/internal/special_consts.h +chilled.o: $(hdrdir)/ruby/internal/static_assert.h +chilled.o: $(hdrdir)/ruby/internal/stdalign.h +chilled.o: $(hdrdir)/ruby/internal/stdbool.h +chilled.o: $(hdrdir)/ruby/internal/stdckdint.h +chilled.o: $(hdrdir)/ruby/internal/symbol.h +chilled.o: $(hdrdir)/ruby/internal/value.h +chilled.o: $(hdrdir)/ruby/internal/value_type.h +chilled.o: $(hdrdir)/ruby/internal/variable.h +chilled.o: $(hdrdir)/ruby/internal/warning_push.h +chilled.o: $(hdrdir)/ruby/internal/xmalloc.h +chilled.o: $(hdrdir)/ruby/missing.h +chilled.o: $(hdrdir)/ruby/ruby.h +chilled.o: $(hdrdir)/ruby/st.h +chilled.o: $(hdrdir)/ruby/subst.h +chilled.o: chilled.c +coderange.o: $(RUBY_EXTCONF_H) +coderange.o: $(arch_hdrdir)/ruby/config.h +coderange.o: $(hdrdir)/ruby/assert.h +coderange.o: $(hdrdir)/ruby/backward.h +coderange.o: $(hdrdir)/ruby/backward/2/assume.h +coderange.o: $(hdrdir)/ruby/backward/2/attributes.h +coderange.o: $(hdrdir)/ruby/backward/2/bool.h +coderange.o: $(hdrdir)/ruby/backward/2/inttypes.h +coderange.o: $(hdrdir)/ruby/backward/2/limits.h +coderange.o: $(hdrdir)/ruby/backward/2/long_long.h +coderange.o: $(hdrdir)/ruby/backward/2/stdalign.h +coderange.o: $(hdrdir)/ruby/backward/2/stdarg.h +coderange.o: $(hdrdir)/ruby/defines.h +coderange.o: $(hdrdir)/ruby/encoding.h +coderange.o: $(hdrdir)/ruby/intern.h +coderange.o: $(hdrdir)/ruby/internal/abi.h +coderange.o: $(hdrdir)/ruby/internal/anyargs.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/char.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/double.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/int.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/long.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/short.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +coderange.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +coderange.o: $(hdrdir)/ruby/internal/assume.h +coderange.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +coderange.o: $(hdrdir)/ruby/internal/attr/artificial.h +coderange.o: $(hdrdir)/ruby/internal/attr/cold.h +coderange.o: $(hdrdir)/ruby/internal/attr/const.h +coderange.o: $(hdrdir)/ruby/internal/attr/constexpr.h +coderange.o: $(hdrdir)/ruby/internal/attr/deprecated.h +coderange.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +coderange.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +coderange.o: $(hdrdir)/ruby/internal/attr/error.h +coderange.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +coderange.o: $(hdrdir)/ruby/internal/attr/forceinline.h +coderange.o: $(hdrdir)/ruby/internal/attr/format.h +coderange.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +coderange.o: $(hdrdir)/ruby/internal/attr/noalias.h +coderange.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +coderange.o: $(hdrdir)/ruby/internal/attr/noexcept.h +coderange.o: $(hdrdir)/ruby/internal/attr/noinline.h +coderange.o: $(hdrdir)/ruby/internal/attr/nonnull.h +coderange.o: $(hdrdir)/ruby/internal/attr/noreturn.h +coderange.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +coderange.o: $(hdrdir)/ruby/internal/attr/pure.h +coderange.o: $(hdrdir)/ruby/internal/attr/restrict.h +coderange.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +coderange.o: $(hdrdir)/ruby/internal/attr/warning.h +coderange.o: $(hdrdir)/ruby/internal/attr/weakref.h +coderange.o: $(hdrdir)/ruby/internal/cast.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +coderange.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +coderange.o: $(hdrdir)/ruby/internal/compiler_since.h +coderange.o: $(hdrdir)/ruby/internal/config.h +coderange.o: $(hdrdir)/ruby/internal/constant_p.h +coderange.o: $(hdrdir)/ruby/internal/core.h +coderange.o: $(hdrdir)/ruby/internal/core/rarray.h +coderange.o: $(hdrdir)/ruby/internal/core/rbasic.h +coderange.o: $(hdrdir)/ruby/internal/core/rbignum.h +coderange.o: $(hdrdir)/ruby/internal/core/rclass.h +coderange.o: $(hdrdir)/ruby/internal/core/rdata.h +coderange.o: $(hdrdir)/ruby/internal/core/rfile.h +coderange.o: $(hdrdir)/ruby/internal/core/rhash.h +coderange.o: $(hdrdir)/ruby/internal/core/robject.h +coderange.o: $(hdrdir)/ruby/internal/core/rregexp.h +coderange.o: $(hdrdir)/ruby/internal/core/rstring.h +coderange.o: $(hdrdir)/ruby/internal/core/rstruct.h +coderange.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +coderange.o: $(hdrdir)/ruby/internal/ctype.h +coderange.o: $(hdrdir)/ruby/internal/dllexport.h +coderange.o: $(hdrdir)/ruby/internal/dosish.h +coderange.o: $(hdrdir)/ruby/internal/encoding/coderange.h +coderange.o: $(hdrdir)/ruby/internal/encoding/ctype.h +coderange.o: $(hdrdir)/ruby/internal/encoding/encoding.h +coderange.o: $(hdrdir)/ruby/internal/encoding/pathname.h +coderange.o: $(hdrdir)/ruby/internal/encoding/re.h +coderange.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +coderange.o: $(hdrdir)/ruby/internal/encoding/string.h +coderange.o: $(hdrdir)/ruby/internal/encoding/symbol.h +coderange.o: $(hdrdir)/ruby/internal/encoding/transcode.h +coderange.o: $(hdrdir)/ruby/internal/error.h +coderange.o: $(hdrdir)/ruby/internal/eval.h +coderange.o: $(hdrdir)/ruby/internal/event.h +coderange.o: $(hdrdir)/ruby/internal/fl_type.h +coderange.o: $(hdrdir)/ruby/internal/gc.h +coderange.o: $(hdrdir)/ruby/internal/glob.h +coderange.o: $(hdrdir)/ruby/internal/globals.h +coderange.o: $(hdrdir)/ruby/internal/has/attribute.h +coderange.o: $(hdrdir)/ruby/internal/has/builtin.h +coderange.o: $(hdrdir)/ruby/internal/has/c_attribute.h +coderange.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +coderange.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +coderange.o: $(hdrdir)/ruby/internal/has/extension.h +coderange.o: $(hdrdir)/ruby/internal/has/feature.h +coderange.o: $(hdrdir)/ruby/internal/has/warning.h +coderange.o: $(hdrdir)/ruby/internal/intern/array.h +coderange.o: $(hdrdir)/ruby/internal/intern/bignum.h +coderange.o: $(hdrdir)/ruby/internal/intern/class.h +coderange.o: $(hdrdir)/ruby/internal/intern/compar.h +coderange.o: $(hdrdir)/ruby/internal/intern/complex.h +coderange.o: $(hdrdir)/ruby/internal/intern/cont.h +coderange.o: $(hdrdir)/ruby/internal/intern/dir.h +coderange.o: $(hdrdir)/ruby/internal/intern/enum.h +coderange.o: $(hdrdir)/ruby/internal/intern/enumerator.h +coderange.o: $(hdrdir)/ruby/internal/intern/error.h +coderange.o: $(hdrdir)/ruby/internal/intern/eval.h +coderange.o: $(hdrdir)/ruby/internal/intern/file.h +coderange.o: $(hdrdir)/ruby/internal/intern/hash.h +coderange.o: $(hdrdir)/ruby/internal/intern/io.h +coderange.o: $(hdrdir)/ruby/internal/intern/load.h +coderange.o: $(hdrdir)/ruby/internal/intern/marshal.h +coderange.o: $(hdrdir)/ruby/internal/intern/numeric.h +coderange.o: $(hdrdir)/ruby/internal/intern/object.h +coderange.o: $(hdrdir)/ruby/internal/intern/parse.h +coderange.o: $(hdrdir)/ruby/internal/intern/proc.h +coderange.o: $(hdrdir)/ruby/internal/intern/process.h +coderange.o: $(hdrdir)/ruby/internal/intern/random.h +coderange.o: $(hdrdir)/ruby/internal/intern/range.h +coderange.o: $(hdrdir)/ruby/internal/intern/rational.h +coderange.o: $(hdrdir)/ruby/internal/intern/re.h +coderange.o: $(hdrdir)/ruby/internal/intern/ruby.h +coderange.o: $(hdrdir)/ruby/internal/intern/select.h +coderange.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +coderange.o: $(hdrdir)/ruby/internal/intern/set.h +coderange.o: $(hdrdir)/ruby/internal/intern/signal.h +coderange.o: $(hdrdir)/ruby/internal/intern/sprintf.h +coderange.o: $(hdrdir)/ruby/internal/intern/string.h +coderange.o: $(hdrdir)/ruby/internal/intern/struct.h +coderange.o: $(hdrdir)/ruby/internal/intern/thread.h +coderange.o: $(hdrdir)/ruby/internal/intern/time.h +coderange.o: $(hdrdir)/ruby/internal/intern/variable.h +coderange.o: $(hdrdir)/ruby/internal/intern/vm.h +coderange.o: $(hdrdir)/ruby/internal/interpreter.h +coderange.o: $(hdrdir)/ruby/internal/iterator.h +coderange.o: $(hdrdir)/ruby/internal/memory.h +coderange.o: $(hdrdir)/ruby/internal/method.h +coderange.o: $(hdrdir)/ruby/internal/module.h +coderange.o: $(hdrdir)/ruby/internal/newobj.h +coderange.o: $(hdrdir)/ruby/internal/scan_args.h +coderange.o: $(hdrdir)/ruby/internal/special_consts.h +coderange.o: $(hdrdir)/ruby/internal/static_assert.h +coderange.o: $(hdrdir)/ruby/internal/stdalign.h +coderange.o: $(hdrdir)/ruby/internal/stdbool.h +coderange.o: $(hdrdir)/ruby/internal/stdckdint.h +coderange.o: $(hdrdir)/ruby/internal/symbol.h +coderange.o: $(hdrdir)/ruby/internal/value.h +coderange.o: $(hdrdir)/ruby/internal/value_type.h +coderange.o: $(hdrdir)/ruby/internal/variable.h +coderange.o: $(hdrdir)/ruby/internal/warning_push.h +coderange.o: $(hdrdir)/ruby/internal/xmalloc.h +coderange.o: $(hdrdir)/ruby/missing.h +coderange.o: $(hdrdir)/ruby/onigmo.h +coderange.o: $(hdrdir)/ruby/oniguruma.h +coderange.o: $(hdrdir)/ruby/ruby.h +coderange.o: $(hdrdir)/ruby/st.h +coderange.o: $(hdrdir)/ruby/subst.h +coderange.o: coderange.c +cstr.o: $(RUBY_EXTCONF_H) +cstr.o: $(arch_hdrdir)/ruby/config.h +cstr.o: $(hdrdir)/ruby/assert.h +cstr.o: $(hdrdir)/ruby/backward.h +cstr.o: $(hdrdir)/ruby/backward/2/assume.h +cstr.o: $(hdrdir)/ruby/backward/2/attributes.h +cstr.o: $(hdrdir)/ruby/backward/2/bool.h +cstr.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +cstr.o: $(hdrdir)/ruby/backward/2/inttypes.h +cstr.o: $(hdrdir)/ruby/backward/2/limits.h +cstr.o: $(hdrdir)/ruby/backward/2/long_long.h +cstr.o: $(hdrdir)/ruby/backward/2/stdalign.h +cstr.o: $(hdrdir)/ruby/backward/2/stdarg.h +cstr.o: $(hdrdir)/ruby/defines.h +cstr.o: $(hdrdir)/ruby/encoding.h +cstr.o: $(hdrdir)/ruby/intern.h +cstr.o: $(hdrdir)/ruby/internal/abi.h +cstr.o: $(hdrdir)/ruby/internal/anyargs.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/char.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/double.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/int.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/long.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/short.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +cstr.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +cstr.o: $(hdrdir)/ruby/internal/assume.h +cstr.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +cstr.o: $(hdrdir)/ruby/internal/attr/artificial.h +cstr.o: $(hdrdir)/ruby/internal/attr/cold.h +cstr.o: $(hdrdir)/ruby/internal/attr/const.h +cstr.o: $(hdrdir)/ruby/internal/attr/constexpr.h +cstr.o: $(hdrdir)/ruby/internal/attr/deprecated.h +cstr.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +cstr.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +cstr.o: $(hdrdir)/ruby/internal/attr/error.h +cstr.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +cstr.o: $(hdrdir)/ruby/internal/attr/forceinline.h +cstr.o: $(hdrdir)/ruby/internal/attr/format.h +cstr.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +cstr.o: $(hdrdir)/ruby/internal/attr/noalias.h +cstr.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +cstr.o: $(hdrdir)/ruby/internal/attr/noexcept.h +cstr.o: $(hdrdir)/ruby/internal/attr/noinline.h +cstr.o: $(hdrdir)/ruby/internal/attr/nonnull.h +cstr.o: $(hdrdir)/ruby/internal/attr/noreturn.h +cstr.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +cstr.o: $(hdrdir)/ruby/internal/attr/pure.h +cstr.o: $(hdrdir)/ruby/internal/attr/restrict.h +cstr.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +cstr.o: $(hdrdir)/ruby/internal/attr/warning.h +cstr.o: $(hdrdir)/ruby/internal/attr/weakref.h +cstr.o: $(hdrdir)/ruby/internal/cast.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +cstr.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +cstr.o: $(hdrdir)/ruby/internal/compiler_since.h +cstr.o: $(hdrdir)/ruby/internal/config.h +cstr.o: $(hdrdir)/ruby/internal/constant_p.h +cstr.o: $(hdrdir)/ruby/internal/core.h +cstr.o: $(hdrdir)/ruby/internal/core/rarray.h +cstr.o: $(hdrdir)/ruby/internal/core/rbasic.h +cstr.o: $(hdrdir)/ruby/internal/core/rbignum.h +cstr.o: $(hdrdir)/ruby/internal/core/rclass.h +cstr.o: $(hdrdir)/ruby/internal/core/rdata.h +cstr.o: $(hdrdir)/ruby/internal/core/rfile.h +cstr.o: $(hdrdir)/ruby/internal/core/rhash.h +cstr.o: $(hdrdir)/ruby/internal/core/robject.h +cstr.o: $(hdrdir)/ruby/internal/core/rregexp.h +cstr.o: $(hdrdir)/ruby/internal/core/rstring.h +cstr.o: $(hdrdir)/ruby/internal/core/rstruct.h +cstr.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +cstr.o: $(hdrdir)/ruby/internal/ctype.h +cstr.o: $(hdrdir)/ruby/internal/dllexport.h +cstr.o: $(hdrdir)/ruby/internal/dosish.h +cstr.o: $(hdrdir)/ruby/internal/encoding/coderange.h +cstr.o: $(hdrdir)/ruby/internal/encoding/ctype.h +cstr.o: $(hdrdir)/ruby/internal/encoding/encoding.h +cstr.o: $(hdrdir)/ruby/internal/encoding/pathname.h +cstr.o: $(hdrdir)/ruby/internal/encoding/re.h +cstr.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +cstr.o: $(hdrdir)/ruby/internal/encoding/string.h +cstr.o: $(hdrdir)/ruby/internal/encoding/symbol.h +cstr.o: $(hdrdir)/ruby/internal/encoding/transcode.h +cstr.o: $(hdrdir)/ruby/internal/error.h +cstr.o: $(hdrdir)/ruby/internal/eval.h +cstr.o: $(hdrdir)/ruby/internal/event.h +cstr.o: $(hdrdir)/ruby/internal/fl_type.h +cstr.o: $(hdrdir)/ruby/internal/gc.h +cstr.o: $(hdrdir)/ruby/internal/glob.h +cstr.o: $(hdrdir)/ruby/internal/globals.h +cstr.o: $(hdrdir)/ruby/internal/has/attribute.h +cstr.o: $(hdrdir)/ruby/internal/has/builtin.h +cstr.o: $(hdrdir)/ruby/internal/has/c_attribute.h +cstr.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +cstr.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +cstr.o: $(hdrdir)/ruby/internal/has/extension.h +cstr.o: $(hdrdir)/ruby/internal/has/feature.h +cstr.o: $(hdrdir)/ruby/internal/has/warning.h +cstr.o: $(hdrdir)/ruby/internal/intern/array.h +cstr.o: $(hdrdir)/ruby/internal/intern/bignum.h +cstr.o: $(hdrdir)/ruby/internal/intern/class.h +cstr.o: $(hdrdir)/ruby/internal/intern/compar.h +cstr.o: $(hdrdir)/ruby/internal/intern/complex.h +cstr.o: $(hdrdir)/ruby/internal/intern/cont.h +cstr.o: $(hdrdir)/ruby/internal/intern/dir.h +cstr.o: $(hdrdir)/ruby/internal/intern/enum.h +cstr.o: $(hdrdir)/ruby/internal/intern/enumerator.h +cstr.o: $(hdrdir)/ruby/internal/intern/error.h +cstr.o: $(hdrdir)/ruby/internal/intern/eval.h +cstr.o: $(hdrdir)/ruby/internal/intern/file.h +cstr.o: $(hdrdir)/ruby/internal/intern/hash.h +cstr.o: $(hdrdir)/ruby/internal/intern/io.h +cstr.o: $(hdrdir)/ruby/internal/intern/load.h +cstr.o: $(hdrdir)/ruby/internal/intern/marshal.h +cstr.o: $(hdrdir)/ruby/internal/intern/numeric.h +cstr.o: $(hdrdir)/ruby/internal/intern/object.h +cstr.o: $(hdrdir)/ruby/internal/intern/parse.h +cstr.o: $(hdrdir)/ruby/internal/intern/proc.h +cstr.o: $(hdrdir)/ruby/internal/intern/process.h +cstr.o: $(hdrdir)/ruby/internal/intern/random.h +cstr.o: $(hdrdir)/ruby/internal/intern/range.h +cstr.o: $(hdrdir)/ruby/internal/intern/rational.h +cstr.o: $(hdrdir)/ruby/internal/intern/re.h +cstr.o: $(hdrdir)/ruby/internal/intern/ruby.h +cstr.o: $(hdrdir)/ruby/internal/intern/select.h +cstr.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +cstr.o: $(hdrdir)/ruby/internal/intern/set.h +cstr.o: $(hdrdir)/ruby/internal/intern/signal.h +cstr.o: $(hdrdir)/ruby/internal/intern/sprintf.h +cstr.o: $(hdrdir)/ruby/internal/intern/string.h +cstr.o: $(hdrdir)/ruby/internal/intern/struct.h +cstr.o: $(hdrdir)/ruby/internal/intern/thread.h +cstr.o: $(hdrdir)/ruby/internal/intern/time.h +cstr.o: $(hdrdir)/ruby/internal/intern/variable.h +cstr.o: $(hdrdir)/ruby/internal/intern/vm.h +cstr.o: $(hdrdir)/ruby/internal/interpreter.h +cstr.o: $(hdrdir)/ruby/internal/iterator.h +cstr.o: $(hdrdir)/ruby/internal/memory.h +cstr.o: $(hdrdir)/ruby/internal/method.h +cstr.o: $(hdrdir)/ruby/internal/module.h +cstr.o: $(hdrdir)/ruby/internal/newobj.h +cstr.o: $(hdrdir)/ruby/internal/scan_args.h +cstr.o: $(hdrdir)/ruby/internal/special_consts.h +cstr.o: $(hdrdir)/ruby/internal/static_assert.h +cstr.o: $(hdrdir)/ruby/internal/stdalign.h +cstr.o: $(hdrdir)/ruby/internal/stdbool.h +cstr.o: $(hdrdir)/ruby/internal/stdckdint.h +cstr.o: $(hdrdir)/ruby/internal/symbol.h +cstr.o: $(hdrdir)/ruby/internal/value.h +cstr.o: $(hdrdir)/ruby/internal/value_type.h +cstr.o: $(hdrdir)/ruby/internal/variable.h +cstr.o: $(hdrdir)/ruby/internal/warning_push.h +cstr.o: $(hdrdir)/ruby/internal/xmalloc.h +cstr.o: $(hdrdir)/ruby/missing.h +cstr.o: $(hdrdir)/ruby/onigmo.h +cstr.o: $(hdrdir)/ruby/oniguruma.h +cstr.o: $(hdrdir)/ruby/ruby.h +cstr.o: $(hdrdir)/ruby/st.h +cstr.o: $(hdrdir)/ruby/subst.h +cstr.o: $(top_srcdir)/encindex.h +cstr.o: $(top_srcdir)/internal.h +cstr.o: $(top_srcdir)/internal/compilers.h +cstr.o: $(top_srcdir)/internal/string.h +cstr.o: cstr.c +ellipsize.o: $(RUBY_EXTCONF_H) +ellipsize.o: $(arch_hdrdir)/ruby/config.h +ellipsize.o: $(hdrdir)/ruby.h +ellipsize.o: $(hdrdir)/ruby/assert.h +ellipsize.o: $(hdrdir)/ruby/backward.h +ellipsize.o: $(hdrdir)/ruby/backward/2/assume.h +ellipsize.o: $(hdrdir)/ruby/backward/2/attributes.h +ellipsize.o: $(hdrdir)/ruby/backward/2/bool.h +ellipsize.o: $(hdrdir)/ruby/backward/2/inttypes.h +ellipsize.o: $(hdrdir)/ruby/backward/2/limits.h +ellipsize.o: $(hdrdir)/ruby/backward/2/long_long.h +ellipsize.o: $(hdrdir)/ruby/backward/2/stdalign.h +ellipsize.o: $(hdrdir)/ruby/backward/2/stdarg.h +ellipsize.o: $(hdrdir)/ruby/defines.h +ellipsize.o: $(hdrdir)/ruby/intern.h +ellipsize.o: $(hdrdir)/ruby/internal/abi.h +ellipsize.o: $(hdrdir)/ruby/internal/anyargs.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/char.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/double.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/int.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/long.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/short.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +ellipsize.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +ellipsize.o: $(hdrdir)/ruby/internal/assume.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/artificial.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/cold.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/const.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/constexpr.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/deprecated.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/error.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/forceinline.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/format.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/noalias.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/noexcept.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/noinline.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/nonnull.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/noreturn.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/pure.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/restrict.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/warning.h +ellipsize.o: $(hdrdir)/ruby/internal/attr/weakref.h +ellipsize.o: $(hdrdir)/ruby/internal/cast.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +ellipsize.o: $(hdrdir)/ruby/internal/compiler_since.h +ellipsize.o: $(hdrdir)/ruby/internal/config.h +ellipsize.o: $(hdrdir)/ruby/internal/constant_p.h +ellipsize.o: $(hdrdir)/ruby/internal/core.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rarray.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rbasic.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rbignum.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rclass.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rdata.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rfile.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rhash.h +ellipsize.o: $(hdrdir)/ruby/internal/core/robject.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rregexp.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rstring.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rstruct.h +ellipsize.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +ellipsize.o: $(hdrdir)/ruby/internal/ctype.h +ellipsize.o: $(hdrdir)/ruby/internal/dllexport.h +ellipsize.o: $(hdrdir)/ruby/internal/dosish.h +ellipsize.o: $(hdrdir)/ruby/internal/error.h +ellipsize.o: $(hdrdir)/ruby/internal/eval.h +ellipsize.o: $(hdrdir)/ruby/internal/event.h +ellipsize.o: $(hdrdir)/ruby/internal/fl_type.h +ellipsize.o: $(hdrdir)/ruby/internal/gc.h +ellipsize.o: $(hdrdir)/ruby/internal/glob.h +ellipsize.o: $(hdrdir)/ruby/internal/globals.h +ellipsize.o: $(hdrdir)/ruby/internal/has/attribute.h +ellipsize.o: $(hdrdir)/ruby/internal/has/builtin.h +ellipsize.o: $(hdrdir)/ruby/internal/has/c_attribute.h +ellipsize.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +ellipsize.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +ellipsize.o: $(hdrdir)/ruby/internal/has/extension.h +ellipsize.o: $(hdrdir)/ruby/internal/has/feature.h +ellipsize.o: $(hdrdir)/ruby/internal/has/warning.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/array.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/bignum.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/class.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/compar.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/complex.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/cont.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/dir.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/enum.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/enumerator.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/error.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/eval.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/file.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/hash.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/io.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/load.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/marshal.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/numeric.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/object.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/parse.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/proc.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/process.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/random.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/range.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/rational.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/re.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/ruby.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/select.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/set.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/signal.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/sprintf.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/string.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/struct.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/thread.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/time.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/variable.h +ellipsize.o: $(hdrdir)/ruby/internal/intern/vm.h +ellipsize.o: $(hdrdir)/ruby/internal/interpreter.h +ellipsize.o: $(hdrdir)/ruby/internal/iterator.h +ellipsize.o: $(hdrdir)/ruby/internal/memory.h +ellipsize.o: $(hdrdir)/ruby/internal/method.h +ellipsize.o: $(hdrdir)/ruby/internal/module.h +ellipsize.o: $(hdrdir)/ruby/internal/newobj.h +ellipsize.o: $(hdrdir)/ruby/internal/scan_args.h +ellipsize.o: $(hdrdir)/ruby/internal/special_consts.h +ellipsize.o: $(hdrdir)/ruby/internal/static_assert.h +ellipsize.o: $(hdrdir)/ruby/internal/stdalign.h +ellipsize.o: $(hdrdir)/ruby/internal/stdbool.h +ellipsize.o: $(hdrdir)/ruby/internal/stdckdint.h +ellipsize.o: $(hdrdir)/ruby/internal/symbol.h +ellipsize.o: $(hdrdir)/ruby/internal/value.h +ellipsize.o: $(hdrdir)/ruby/internal/value_type.h +ellipsize.o: $(hdrdir)/ruby/internal/variable.h +ellipsize.o: $(hdrdir)/ruby/internal/warning_push.h +ellipsize.o: $(hdrdir)/ruby/internal/xmalloc.h +ellipsize.o: $(hdrdir)/ruby/missing.h +ellipsize.o: $(hdrdir)/ruby/ruby.h +ellipsize.o: $(hdrdir)/ruby/st.h +ellipsize.o: $(hdrdir)/ruby/subst.h +ellipsize.o: ellipsize.c +enc_associate.o: $(RUBY_EXTCONF_H) +enc_associate.o: $(arch_hdrdir)/ruby/config.h +enc_associate.o: $(hdrdir)/ruby.h +enc_associate.o: $(hdrdir)/ruby/assert.h +enc_associate.o: $(hdrdir)/ruby/backward.h +enc_associate.o: $(hdrdir)/ruby/backward/2/assume.h +enc_associate.o: $(hdrdir)/ruby/backward/2/attributes.h +enc_associate.o: $(hdrdir)/ruby/backward/2/bool.h +enc_associate.o: $(hdrdir)/ruby/backward/2/inttypes.h +enc_associate.o: $(hdrdir)/ruby/backward/2/limits.h +enc_associate.o: $(hdrdir)/ruby/backward/2/long_long.h +enc_associate.o: $(hdrdir)/ruby/backward/2/stdalign.h +enc_associate.o: $(hdrdir)/ruby/backward/2/stdarg.h +enc_associate.o: $(hdrdir)/ruby/defines.h +enc_associate.o: $(hdrdir)/ruby/encoding.h +enc_associate.o: $(hdrdir)/ruby/intern.h +enc_associate.o: $(hdrdir)/ruby/internal/abi.h +enc_associate.o: $(hdrdir)/ruby/internal/anyargs.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/char.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/double.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/int.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/long.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/short.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +enc_associate.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +enc_associate.o: $(hdrdir)/ruby/internal/assume.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/artificial.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/cold.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/const.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/constexpr.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/deprecated.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/error.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/forceinline.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/format.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/noalias.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/noexcept.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/noinline.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/nonnull.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/noreturn.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/pure.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/restrict.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/warning.h +enc_associate.o: $(hdrdir)/ruby/internal/attr/weakref.h +enc_associate.o: $(hdrdir)/ruby/internal/cast.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +enc_associate.o: $(hdrdir)/ruby/internal/compiler_since.h +enc_associate.o: $(hdrdir)/ruby/internal/config.h +enc_associate.o: $(hdrdir)/ruby/internal/constant_p.h +enc_associate.o: $(hdrdir)/ruby/internal/core.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rarray.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rbasic.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rbignum.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rclass.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rdata.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rfile.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rhash.h +enc_associate.o: $(hdrdir)/ruby/internal/core/robject.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rregexp.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rstring.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rstruct.h +enc_associate.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +enc_associate.o: $(hdrdir)/ruby/internal/ctype.h +enc_associate.o: $(hdrdir)/ruby/internal/dllexport.h +enc_associate.o: $(hdrdir)/ruby/internal/dosish.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/coderange.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/ctype.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/encoding.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/pathname.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/re.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/string.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/symbol.h +enc_associate.o: $(hdrdir)/ruby/internal/encoding/transcode.h +enc_associate.o: $(hdrdir)/ruby/internal/error.h +enc_associate.o: $(hdrdir)/ruby/internal/eval.h +enc_associate.o: $(hdrdir)/ruby/internal/event.h +enc_associate.o: $(hdrdir)/ruby/internal/fl_type.h +enc_associate.o: $(hdrdir)/ruby/internal/gc.h +enc_associate.o: $(hdrdir)/ruby/internal/glob.h +enc_associate.o: $(hdrdir)/ruby/internal/globals.h +enc_associate.o: $(hdrdir)/ruby/internal/has/attribute.h +enc_associate.o: $(hdrdir)/ruby/internal/has/builtin.h +enc_associate.o: $(hdrdir)/ruby/internal/has/c_attribute.h +enc_associate.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +enc_associate.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +enc_associate.o: $(hdrdir)/ruby/internal/has/extension.h +enc_associate.o: $(hdrdir)/ruby/internal/has/feature.h +enc_associate.o: $(hdrdir)/ruby/internal/has/warning.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/array.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/bignum.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/class.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/compar.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/complex.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/cont.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/dir.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/enum.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/enumerator.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/error.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/eval.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/file.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/hash.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/io.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/load.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/marshal.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/numeric.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/object.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/parse.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/proc.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/process.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/random.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/range.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/rational.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/re.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/ruby.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/select.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/set.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/signal.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/sprintf.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/string.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/struct.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/thread.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/time.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/variable.h +enc_associate.o: $(hdrdir)/ruby/internal/intern/vm.h +enc_associate.o: $(hdrdir)/ruby/internal/interpreter.h +enc_associate.o: $(hdrdir)/ruby/internal/iterator.h +enc_associate.o: $(hdrdir)/ruby/internal/memory.h +enc_associate.o: $(hdrdir)/ruby/internal/method.h +enc_associate.o: $(hdrdir)/ruby/internal/module.h +enc_associate.o: $(hdrdir)/ruby/internal/newobj.h +enc_associate.o: $(hdrdir)/ruby/internal/scan_args.h +enc_associate.o: $(hdrdir)/ruby/internal/special_consts.h +enc_associate.o: $(hdrdir)/ruby/internal/static_assert.h +enc_associate.o: $(hdrdir)/ruby/internal/stdalign.h +enc_associate.o: $(hdrdir)/ruby/internal/stdbool.h +enc_associate.o: $(hdrdir)/ruby/internal/stdckdint.h +enc_associate.o: $(hdrdir)/ruby/internal/symbol.h +enc_associate.o: $(hdrdir)/ruby/internal/value.h +enc_associate.o: $(hdrdir)/ruby/internal/value_type.h +enc_associate.o: $(hdrdir)/ruby/internal/variable.h +enc_associate.o: $(hdrdir)/ruby/internal/warning_push.h +enc_associate.o: $(hdrdir)/ruby/internal/xmalloc.h +enc_associate.o: $(hdrdir)/ruby/missing.h +enc_associate.o: $(hdrdir)/ruby/onigmo.h +enc_associate.o: $(hdrdir)/ruby/oniguruma.h +enc_associate.o: $(hdrdir)/ruby/ruby.h +enc_associate.o: $(hdrdir)/ruby/st.h +enc_associate.o: $(hdrdir)/ruby/subst.h +enc_associate.o: enc_associate.c +enc_dummy.o: $(RUBY_EXTCONF_H) +enc_dummy.o: $(arch_hdrdir)/ruby/config.h +enc_dummy.o: $(hdrdir)/ruby.h +enc_dummy.o: $(hdrdir)/ruby/assert.h +enc_dummy.o: $(hdrdir)/ruby/backward.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/assume.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/attributes.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/bool.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/inttypes.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/limits.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/long_long.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/stdalign.h +enc_dummy.o: $(hdrdir)/ruby/backward/2/stdarg.h +enc_dummy.o: $(hdrdir)/ruby/defines.h +enc_dummy.o: $(hdrdir)/ruby/encoding.h +enc_dummy.o: $(hdrdir)/ruby/intern.h +enc_dummy.o: $(hdrdir)/ruby/internal/abi.h +enc_dummy.o: $(hdrdir)/ruby/internal/anyargs.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/char.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/double.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/int.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/long.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/short.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +enc_dummy.o: $(hdrdir)/ruby/internal/assume.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/artificial.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/cold.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/const.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/constexpr.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/deprecated.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/error.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/forceinline.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/format.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/noalias.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/noexcept.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/noinline.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/nonnull.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/noreturn.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/pure.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/restrict.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/warning.h +enc_dummy.o: $(hdrdir)/ruby/internal/attr/weakref.h +enc_dummy.o: $(hdrdir)/ruby/internal/cast.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +enc_dummy.o: $(hdrdir)/ruby/internal/compiler_since.h +enc_dummy.o: $(hdrdir)/ruby/internal/config.h +enc_dummy.o: $(hdrdir)/ruby/internal/constant_p.h +enc_dummy.o: $(hdrdir)/ruby/internal/core.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rarray.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rbasic.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rbignum.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rclass.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rdata.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rfile.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rhash.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/robject.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rregexp.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rstring.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rstruct.h +enc_dummy.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +enc_dummy.o: $(hdrdir)/ruby/internal/ctype.h +enc_dummy.o: $(hdrdir)/ruby/internal/dllexport.h +enc_dummy.o: $(hdrdir)/ruby/internal/dosish.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/coderange.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/ctype.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/encoding.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/pathname.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/re.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/string.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/symbol.h +enc_dummy.o: $(hdrdir)/ruby/internal/encoding/transcode.h +enc_dummy.o: $(hdrdir)/ruby/internal/error.h +enc_dummy.o: $(hdrdir)/ruby/internal/eval.h +enc_dummy.o: $(hdrdir)/ruby/internal/event.h +enc_dummy.o: $(hdrdir)/ruby/internal/fl_type.h +enc_dummy.o: $(hdrdir)/ruby/internal/gc.h +enc_dummy.o: $(hdrdir)/ruby/internal/glob.h +enc_dummy.o: $(hdrdir)/ruby/internal/globals.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/attribute.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/builtin.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/c_attribute.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/extension.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/feature.h +enc_dummy.o: $(hdrdir)/ruby/internal/has/warning.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/array.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/bignum.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/class.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/compar.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/complex.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/cont.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/dir.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/enum.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/enumerator.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/error.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/eval.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/file.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/hash.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/io.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/load.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/marshal.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/numeric.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/object.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/parse.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/proc.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/process.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/random.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/range.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/rational.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/re.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/ruby.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/select.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/set.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/signal.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/sprintf.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/string.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/struct.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/thread.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/time.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/variable.h +enc_dummy.o: $(hdrdir)/ruby/internal/intern/vm.h +enc_dummy.o: $(hdrdir)/ruby/internal/interpreter.h +enc_dummy.o: $(hdrdir)/ruby/internal/iterator.h +enc_dummy.o: $(hdrdir)/ruby/internal/memory.h +enc_dummy.o: $(hdrdir)/ruby/internal/method.h +enc_dummy.o: $(hdrdir)/ruby/internal/module.h +enc_dummy.o: $(hdrdir)/ruby/internal/newobj.h +enc_dummy.o: $(hdrdir)/ruby/internal/scan_args.h +enc_dummy.o: $(hdrdir)/ruby/internal/special_consts.h +enc_dummy.o: $(hdrdir)/ruby/internal/static_assert.h +enc_dummy.o: $(hdrdir)/ruby/internal/stdalign.h +enc_dummy.o: $(hdrdir)/ruby/internal/stdbool.h +enc_dummy.o: $(hdrdir)/ruby/internal/stdckdint.h +enc_dummy.o: $(hdrdir)/ruby/internal/symbol.h +enc_dummy.o: $(hdrdir)/ruby/internal/value.h +enc_dummy.o: $(hdrdir)/ruby/internal/value_type.h +enc_dummy.o: $(hdrdir)/ruby/internal/variable.h +enc_dummy.o: $(hdrdir)/ruby/internal/warning_push.h +enc_dummy.o: $(hdrdir)/ruby/internal/xmalloc.h +enc_dummy.o: $(hdrdir)/ruby/missing.h +enc_dummy.o: $(hdrdir)/ruby/onigmo.h +enc_dummy.o: $(hdrdir)/ruby/oniguruma.h +enc_dummy.o: $(hdrdir)/ruby/ruby.h +enc_dummy.o: $(hdrdir)/ruby/st.h +enc_dummy.o: $(hdrdir)/ruby/subst.h +enc_dummy.o: enc_dummy.c +enc_str_buf_cat.o: $(RUBY_EXTCONF_H) +enc_str_buf_cat.o: $(arch_hdrdir)/ruby/config.h +enc_str_buf_cat.o: $(hdrdir)/ruby/assert.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/assume.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/attributes.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/bool.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/inttypes.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/limits.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/long_long.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/stdalign.h +enc_str_buf_cat.o: $(hdrdir)/ruby/backward/2/stdarg.h +enc_str_buf_cat.o: $(hdrdir)/ruby/defines.h +enc_str_buf_cat.o: $(hdrdir)/ruby/encoding.h +enc_str_buf_cat.o: $(hdrdir)/ruby/intern.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/abi.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/anyargs.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/char.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/double.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/int.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/long.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/short.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/assume.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/artificial.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/cold.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/const.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/constexpr.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/deprecated.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/error.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/forceinline.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/format.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/noalias.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/noexcept.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/noinline.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/nonnull.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/noreturn.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/pure.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/restrict.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/warning.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/attr/weakref.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/cast.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/compiler_since.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/config.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/constant_p.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rarray.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rbasic.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rbignum.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rclass.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rdata.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rfile.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rhash.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/robject.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rregexp.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rstring.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rstruct.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/ctype.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/dllexport.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/dosish.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/coderange.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/ctype.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/encoding.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/pathname.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/re.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/string.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/symbol.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/encoding/transcode.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/error.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/eval.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/event.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/fl_type.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/gc.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/glob.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/globals.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/attribute.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/builtin.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/c_attribute.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/extension.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/feature.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/has/warning.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/array.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/bignum.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/class.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/compar.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/complex.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/cont.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/dir.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/enum.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/enumerator.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/error.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/eval.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/file.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/hash.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/io.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/load.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/marshal.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/numeric.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/object.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/parse.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/proc.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/process.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/random.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/range.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/rational.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/re.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/ruby.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/select.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/set.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/signal.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/sprintf.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/string.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/struct.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/thread.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/time.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/variable.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/intern/vm.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/interpreter.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/iterator.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/memory.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/method.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/module.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/newobj.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/scan_args.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/special_consts.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/static_assert.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/stdalign.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/stdbool.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/stdckdint.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/symbol.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/value.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/value_type.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/variable.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/warning_push.h +enc_str_buf_cat.o: $(hdrdir)/ruby/internal/xmalloc.h +enc_str_buf_cat.o: $(hdrdir)/ruby/missing.h +enc_str_buf_cat.o: $(hdrdir)/ruby/onigmo.h +enc_str_buf_cat.o: $(hdrdir)/ruby/oniguruma.h +enc_str_buf_cat.o: $(hdrdir)/ruby/ruby.h +enc_str_buf_cat.o: $(hdrdir)/ruby/st.h +enc_str_buf_cat.o: $(hdrdir)/ruby/subst.h +enc_str_buf_cat.o: enc_str_buf_cat.c +fstring.o: $(RUBY_EXTCONF_H) +fstring.o: $(arch_hdrdir)/ruby/config.h +fstring.o: $(hdrdir)/ruby.h +fstring.o: $(hdrdir)/ruby/assert.h +fstring.o: $(hdrdir)/ruby/backward.h +fstring.o: $(hdrdir)/ruby/backward/2/assume.h +fstring.o: $(hdrdir)/ruby/backward/2/attributes.h +fstring.o: $(hdrdir)/ruby/backward/2/bool.h +fstring.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +fstring.o: $(hdrdir)/ruby/backward/2/inttypes.h +fstring.o: $(hdrdir)/ruby/backward/2/limits.h +fstring.o: $(hdrdir)/ruby/backward/2/long_long.h +fstring.o: $(hdrdir)/ruby/backward/2/stdalign.h +fstring.o: $(hdrdir)/ruby/backward/2/stdarg.h +fstring.o: $(hdrdir)/ruby/defines.h +fstring.o: $(hdrdir)/ruby/encoding.h +fstring.o: $(hdrdir)/ruby/intern.h +fstring.o: $(hdrdir)/ruby/internal/abi.h +fstring.o: $(hdrdir)/ruby/internal/anyargs.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/char.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/double.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/int.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/long.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/short.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +fstring.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +fstring.o: $(hdrdir)/ruby/internal/assume.h +fstring.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +fstring.o: $(hdrdir)/ruby/internal/attr/artificial.h +fstring.o: $(hdrdir)/ruby/internal/attr/cold.h +fstring.o: $(hdrdir)/ruby/internal/attr/const.h +fstring.o: $(hdrdir)/ruby/internal/attr/constexpr.h +fstring.o: $(hdrdir)/ruby/internal/attr/deprecated.h +fstring.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +fstring.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +fstring.o: $(hdrdir)/ruby/internal/attr/error.h +fstring.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +fstring.o: $(hdrdir)/ruby/internal/attr/forceinline.h +fstring.o: $(hdrdir)/ruby/internal/attr/format.h +fstring.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +fstring.o: $(hdrdir)/ruby/internal/attr/noalias.h +fstring.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +fstring.o: $(hdrdir)/ruby/internal/attr/noexcept.h +fstring.o: $(hdrdir)/ruby/internal/attr/noinline.h +fstring.o: $(hdrdir)/ruby/internal/attr/nonnull.h +fstring.o: $(hdrdir)/ruby/internal/attr/noreturn.h +fstring.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +fstring.o: $(hdrdir)/ruby/internal/attr/pure.h +fstring.o: $(hdrdir)/ruby/internal/attr/restrict.h +fstring.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +fstring.o: $(hdrdir)/ruby/internal/attr/warning.h +fstring.o: $(hdrdir)/ruby/internal/attr/weakref.h +fstring.o: $(hdrdir)/ruby/internal/cast.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +fstring.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +fstring.o: $(hdrdir)/ruby/internal/compiler_since.h +fstring.o: $(hdrdir)/ruby/internal/config.h +fstring.o: $(hdrdir)/ruby/internal/constant_p.h +fstring.o: $(hdrdir)/ruby/internal/core.h +fstring.o: $(hdrdir)/ruby/internal/core/rarray.h +fstring.o: $(hdrdir)/ruby/internal/core/rbasic.h +fstring.o: $(hdrdir)/ruby/internal/core/rbignum.h +fstring.o: $(hdrdir)/ruby/internal/core/rclass.h +fstring.o: $(hdrdir)/ruby/internal/core/rdata.h +fstring.o: $(hdrdir)/ruby/internal/core/rfile.h +fstring.o: $(hdrdir)/ruby/internal/core/rhash.h +fstring.o: $(hdrdir)/ruby/internal/core/robject.h +fstring.o: $(hdrdir)/ruby/internal/core/rregexp.h +fstring.o: $(hdrdir)/ruby/internal/core/rstring.h +fstring.o: $(hdrdir)/ruby/internal/core/rstruct.h +fstring.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +fstring.o: $(hdrdir)/ruby/internal/ctype.h +fstring.o: $(hdrdir)/ruby/internal/dllexport.h +fstring.o: $(hdrdir)/ruby/internal/dosish.h +fstring.o: $(hdrdir)/ruby/internal/encoding/coderange.h +fstring.o: $(hdrdir)/ruby/internal/encoding/ctype.h +fstring.o: $(hdrdir)/ruby/internal/encoding/encoding.h +fstring.o: $(hdrdir)/ruby/internal/encoding/pathname.h +fstring.o: $(hdrdir)/ruby/internal/encoding/re.h +fstring.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +fstring.o: $(hdrdir)/ruby/internal/encoding/string.h +fstring.o: $(hdrdir)/ruby/internal/encoding/symbol.h +fstring.o: $(hdrdir)/ruby/internal/encoding/transcode.h +fstring.o: $(hdrdir)/ruby/internal/error.h +fstring.o: $(hdrdir)/ruby/internal/eval.h +fstring.o: $(hdrdir)/ruby/internal/event.h +fstring.o: $(hdrdir)/ruby/internal/fl_type.h +fstring.o: $(hdrdir)/ruby/internal/gc.h +fstring.o: $(hdrdir)/ruby/internal/glob.h +fstring.o: $(hdrdir)/ruby/internal/globals.h +fstring.o: $(hdrdir)/ruby/internal/has/attribute.h +fstring.o: $(hdrdir)/ruby/internal/has/builtin.h +fstring.o: $(hdrdir)/ruby/internal/has/c_attribute.h +fstring.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +fstring.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +fstring.o: $(hdrdir)/ruby/internal/has/extension.h +fstring.o: $(hdrdir)/ruby/internal/has/feature.h +fstring.o: $(hdrdir)/ruby/internal/has/warning.h +fstring.o: $(hdrdir)/ruby/internal/intern/array.h +fstring.o: $(hdrdir)/ruby/internal/intern/bignum.h +fstring.o: $(hdrdir)/ruby/internal/intern/class.h +fstring.o: $(hdrdir)/ruby/internal/intern/compar.h +fstring.o: $(hdrdir)/ruby/internal/intern/complex.h +fstring.o: $(hdrdir)/ruby/internal/intern/cont.h +fstring.o: $(hdrdir)/ruby/internal/intern/dir.h +fstring.o: $(hdrdir)/ruby/internal/intern/enum.h +fstring.o: $(hdrdir)/ruby/internal/intern/enumerator.h +fstring.o: $(hdrdir)/ruby/internal/intern/error.h +fstring.o: $(hdrdir)/ruby/internal/intern/eval.h +fstring.o: $(hdrdir)/ruby/internal/intern/file.h +fstring.o: $(hdrdir)/ruby/internal/intern/hash.h +fstring.o: $(hdrdir)/ruby/internal/intern/io.h +fstring.o: $(hdrdir)/ruby/internal/intern/load.h +fstring.o: $(hdrdir)/ruby/internal/intern/marshal.h +fstring.o: $(hdrdir)/ruby/internal/intern/numeric.h +fstring.o: $(hdrdir)/ruby/internal/intern/object.h +fstring.o: $(hdrdir)/ruby/internal/intern/parse.h +fstring.o: $(hdrdir)/ruby/internal/intern/proc.h +fstring.o: $(hdrdir)/ruby/internal/intern/process.h +fstring.o: $(hdrdir)/ruby/internal/intern/random.h +fstring.o: $(hdrdir)/ruby/internal/intern/range.h +fstring.o: $(hdrdir)/ruby/internal/intern/rational.h +fstring.o: $(hdrdir)/ruby/internal/intern/re.h +fstring.o: $(hdrdir)/ruby/internal/intern/ruby.h +fstring.o: $(hdrdir)/ruby/internal/intern/select.h +fstring.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +fstring.o: $(hdrdir)/ruby/internal/intern/set.h +fstring.o: $(hdrdir)/ruby/internal/intern/signal.h +fstring.o: $(hdrdir)/ruby/internal/intern/sprintf.h +fstring.o: $(hdrdir)/ruby/internal/intern/string.h +fstring.o: $(hdrdir)/ruby/internal/intern/struct.h +fstring.o: $(hdrdir)/ruby/internal/intern/thread.h +fstring.o: $(hdrdir)/ruby/internal/intern/time.h +fstring.o: $(hdrdir)/ruby/internal/intern/variable.h +fstring.o: $(hdrdir)/ruby/internal/intern/vm.h +fstring.o: $(hdrdir)/ruby/internal/interpreter.h +fstring.o: $(hdrdir)/ruby/internal/iterator.h +fstring.o: $(hdrdir)/ruby/internal/memory.h +fstring.o: $(hdrdir)/ruby/internal/method.h +fstring.o: $(hdrdir)/ruby/internal/module.h +fstring.o: $(hdrdir)/ruby/internal/newobj.h +fstring.o: $(hdrdir)/ruby/internal/scan_args.h +fstring.o: $(hdrdir)/ruby/internal/special_consts.h +fstring.o: $(hdrdir)/ruby/internal/static_assert.h +fstring.o: $(hdrdir)/ruby/internal/stdalign.h +fstring.o: $(hdrdir)/ruby/internal/stdbool.h +fstring.o: $(hdrdir)/ruby/internal/stdckdint.h +fstring.o: $(hdrdir)/ruby/internal/symbol.h +fstring.o: $(hdrdir)/ruby/internal/value.h +fstring.o: $(hdrdir)/ruby/internal/value_type.h +fstring.o: $(hdrdir)/ruby/internal/variable.h +fstring.o: $(hdrdir)/ruby/internal/warning_push.h +fstring.o: $(hdrdir)/ruby/internal/xmalloc.h +fstring.o: $(hdrdir)/ruby/missing.h +fstring.o: $(hdrdir)/ruby/onigmo.h +fstring.o: $(hdrdir)/ruby/oniguruma.h +fstring.o: $(hdrdir)/ruby/ruby.h +fstring.o: $(hdrdir)/ruby/st.h +fstring.o: $(hdrdir)/ruby/subst.h +fstring.o: $(top_srcdir)/encindex.h +fstring.o: $(top_srcdir)/internal/compilers.h +fstring.o: $(top_srcdir)/internal/string.h +fstring.o: fstring.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +modify.o: $(RUBY_EXTCONF_H) +modify.o: $(arch_hdrdir)/ruby/config.h +modify.o: $(hdrdir)/ruby.h +modify.o: $(hdrdir)/ruby/assert.h +modify.o: $(hdrdir)/ruby/backward.h +modify.o: $(hdrdir)/ruby/backward/2/assume.h +modify.o: $(hdrdir)/ruby/backward/2/attributes.h +modify.o: $(hdrdir)/ruby/backward/2/bool.h +modify.o: $(hdrdir)/ruby/backward/2/inttypes.h +modify.o: $(hdrdir)/ruby/backward/2/limits.h +modify.o: $(hdrdir)/ruby/backward/2/long_long.h +modify.o: $(hdrdir)/ruby/backward/2/stdalign.h +modify.o: $(hdrdir)/ruby/backward/2/stdarg.h +modify.o: $(hdrdir)/ruby/defines.h +modify.o: $(hdrdir)/ruby/intern.h +modify.o: $(hdrdir)/ruby/internal/abi.h +modify.o: $(hdrdir)/ruby/internal/anyargs.h +modify.o: $(hdrdir)/ruby/internal/arithmetic.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/char.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/double.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/int.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/long.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/short.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +modify.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +modify.o: $(hdrdir)/ruby/internal/assume.h +modify.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +modify.o: $(hdrdir)/ruby/internal/attr/artificial.h +modify.o: $(hdrdir)/ruby/internal/attr/cold.h +modify.o: $(hdrdir)/ruby/internal/attr/const.h +modify.o: $(hdrdir)/ruby/internal/attr/constexpr.h +modify.o: $(hdrdir)/ruby/internal/attr/deprecated.h +modify.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +modify.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +modify.o: $(hdrdir)/ruby/internal/attr/error.h +modify.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +modify.o: $(hdrdir)/ruby/internal/attr/forceinline.h +modify.o: $(hdrdir)/ruby/internal/attr/format.h +modify.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +modify.o: $(hdrdir)/ruby/internal/attr/noalias.h +modify.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +modify.o: $(hdrdir)/ruby/internal/attr/noexcept.h +modify.o: $(hdrdir)/ruby/internal/attr/noinline.h +modify.o: $(hdrdir)/ruby/internal/attr/nonnull.h +modify.o: $(hdrdir)/ruby/internal/attr/noreturn.h +modify.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +modify.o: $(hdrdir)/ruby/internal/attr/pure.h +modify.o: $(hdrdir)/ruby/internal/attr/restrict.h +modify.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +modify.o: $(hdrdir)/ruby/internal/attr/warning.h +modify.o: $(hdrdir)/ruby/internal/attr/weakref.h +modify.o: $(hdrdir)/ruby/internal/cast.h +modify.o: $(hdrdir)/ruby/internal/compiler_is.h +modify.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +modify.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +modify.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +modify.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +modify.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +modify.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +modify.o: $(hdrdir)/ruby/internal/compiler_since.h +modify.o: $(hdrdir)/ruby/internal/config.h +modify.o: $(hdrdir)/ruby/internal/constant_p.h +modify.o: $(hdrdir)/ruby/internal/core.h +modify.o: $(hdrdir)/ruby/internal/core/rarray.h +modify.o: $(hdrdir)/ruby/internal/core/rbasic.h +modify.o: $(hdrdir)/ruby/internal/core/rbignum.h +modify.o: $(hdrdir)/ruby/internal/core/rclass.h +modify.o: $(hdrdir)/ruby/internal/core/rdata.h +modify.o: $(hdrdir)/ruby/internal/core/rfile.h +modify.o: $(hdrdir)/ruby/internal/core/rhash.h +modify.o: $(hdrdir)/ruby/internal/core/robject.h +modify.o: $(hdrdir)/ruby/internal/core/rregexp.h +modify.o: $(hdrdir)/ruby/internal/core/rstring.h +modify.o: $(hdrdir)/ruby/internal/core/rstruct.h +modify.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +modify.o: $(hdrdir)/ruby/internal/ctype.h +modify.o: $(hdrdir)/ruby/internal/dllexport.h +modify.o: $(hdrdir)/ruby/internal/dosish.h +modify.o: $(hdrdir)/ruby/internal/error.h +modify.o: $(hdrdir)/ruby/internal/eval.h +modify.o: $(hdrdir)/ruby/internal/event.h +modify.o: $(hdrdir)/ruby/internal/fl_type.h +modify.o: $(hdrdir)/ruby/internal/gc.h +modify.o: $(hdrdir)/ruby/internal/glob.h +modify.o: $(hdrdir)/ruby/internal/globals.h +modify.o: $(hdrdir)/ruby/internal/has/attribute.h +modify.o: $(hdrdir)/ruby/internal/has/builtin.h +modify.o: $(hdrdir)/ruby/internal/has/c_attribute.h +modify.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +modify.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +modify.o: $(hdrdir)/ruby/internal/has/extension.h +modify.o: $(hdrdir)/ruby/internal/has/feature.h +modify.o: $(hdrdir)/ruby/internal/has/warning.h +modify.o: $(hdrdir)/ruby/internal/intern/array.h +modify.o: $(hdrdir)/ruby/internal/intern/bignum.h +modify.o: $(hdrdir)/ruby/internal/intern/class.h +modify.o: $(hdrdir)/ruby/internal/intern/compar.h +modify.o: $(hdrdir)/ruby/internal/intern/complex.h +modify.o: $(hdrdir)/ruby/internal/intern/cont.h +modify.o: $(hdrdir)/ruby/internal/intern/dir.h +modify.o: $(hdrdir)/ruby/internal/intern/enum.h +modify.o: $(hdrdir)/ruby/internal/intern/enumerator.h +modify.o: $(hdrdir)/ruby/internal/intern/error.h +modify.o: $(hdrdir)/ruby/internal/intern/eval.h +modify.o: $(hdrdir)/ruby/internal/intern/file.h +modify.o: $(hdrdir)/ruby/internal/intern/hash.h +modify.o: $(hdrdir)/ruby/internal/intern/io.h +modify.o: $(hdrdir)/ruby/internal/intern/load.h +modify.o: $(hdrdir)/ruby/internal/intern/marshal.h +modify.o: $(hdrdir)/ruby/internal/intern/numeric.h +modify.o: $(hdrdir)/ruby/internal/intern/object.h +modify.o: $(hdrdir)/ruby/internal/intern/parse.h +modify.o: $(hdrdir)/ruby/internal/intern/proc.h +modify.o: $(hdrdir)/ruby/internal/intern/process.h +modify.o: $(hdrdir)/ruby/internal/intern/random.h +modify.o: $(hdrdir)/ruby/internal/intern/range.h +modify.o: $(hdrdir)/ruby/internal/intern/rational.h +modify.o: $(hdrdir)/ruby/internal/intern/re.h +modify.o: $(hdrdir)/ruby/internal/intern/ruby.h +modify.o: $(hdrdir)/ruby/internal/intern/select.h +modify.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +modify.o: $(hdrdir)/ruby/internal/intern/set.h +modify.o: $(hdrdir)/ruby/internal/intern/signal.h +modify.o: $(hdrdir)/ruby/internal/intern/sprintf.h +modify.o: $(hdrdir)/ruby/internal/intern/string.h +modify.o: $(hdrdir)/ruby/internal/intern/struct.h +modify.o: $(hdrdir)/ruby/internal/intern/thread.h +modify.o: $(hdrdir)/ruby/internal/intern/time.h +modify.o: $(hdrdir)/ruby/internal/intern/variable.h +modify.o: $(hdrdir)/ruby/internal/intern/vm.h +modify.o: $(hdrdir)/ruby/internal/interpreter.h +modify.o: $(hdrdir)/ruby/internal/iterator.h +modify.o: $(hdrdir)/ruby/internal/memory.h +modify.o: $(hdrdir)/ruby/internal/method.h +modify.o: $(hdrdir)/ruby/internal/module.h +modify.o: $(hdrdir)/ruby/internal/newobj.h +modify.o: $(hdrdir)/ruby/internal/scan_args.h +modify.o: $(hdrdir)/ruby/internal/special_consts.h +modify.o: $(hdrdir)/ruby/internal/static_assert.h +modify.o: $(hdrdir)/ruby/internal/stdalign.h +modify.o: $(hdrdir)/ruby/internal/stdbool.h +modify.o: $(hdrdir)/ruby/internal/stdckdint.h +modify.o: $(hdrdir)/ruby/internal/symbol.h +modify.o: $(hdrdir)/ruby/internal/value.h +modify.o: $(hdrdir)/ruby/internal/value_type.h +modify.o: $(hdrdir)/ruby/internal/variable.h +modify.o: $(hdrdir)/ruby/internal/warning_push.h +modify.o: $(hdrdir)/ruby/internal/xmalloc.h +modify.o: $(hdrdir)/ruby/missing.h +modify.o: $(hdrdir)/ruby/ruby.h +modify.o: $(hdrdir)/ruby/st.h +modify.o: $(hdrdir)/ruby/subst.h +modify.o: modify.c +new.o: $(RUBY_EXTCONF_H) +new.o: $(arch_hdrdir)/ruby/config.h +new.o: $(hdrdir)/ruby.h +new.o: $(hdrdir)/ruby/assert.h +new.o: $(hdrdir)/ruby/backward.h +new.o: $(hdrdir)/ruby/backward/2/assume.h +new.o: $(hdrdir)/ruby/backward/2/attributes.h +new.o: $(hdrdir)/ruby/backward/2/bool.h +new.o: $(hdrdir)/ruby/backward/2/inttypes.h +new.o: $(hdrdir)/ruby/backward/2/limits.h +new.o: $(hdrdir)/ruby/backward/2/long_long.h +new.o: $(hdrdir)/ruby/backward/2/stdalign.h +new.o: $(hdrdir)/ruby/backward/2/stdarg.h +new.o: $(hdrdir)/ruby/defines.h +new.o: $(hdrdir)/ruby/encoding.h +new.o: $(hdrdir)/ruby/intern.h +new.o: $(hdrdir)/ruby/internal/abi.h +new.o: $(hdrdir)/ruby/internal/anyargs.h +new.o: $(hdrdir)/ruby/internal/arithmetic.h +new.o: $(hdrdir)/ruby/internal/arithmetic/char.h +new.o: $(hdrdir)/ruby/internal/arithmetic/double.h +new.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +new.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/int.h +new.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/long.h +new.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +new.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/short.h +new.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +new.o: $(hdrdir)/ruby/internal/assume.h +new.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +new.o: $(hdrdir)/ruby/internal/attr/artificial.h +new.o: $(hdrdir)/ruby/internal/attr/cold.h +new.o: $(hdrdir)/ruby/internal/attr/const.h +new.o: $(hdrdir)/ruby/internal/attr/constexpr.h +new.o: $(hdrdir)/ruby/internal/attr/deprecated.h +new.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +new.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +new.o: $(hdrdir)/ruby/internal/attr/error.h +new.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +new.o: $(hdrdir)/ruby/internal/attr/forceinline.h +new.o: $(hdrdir)/ruby/internal/attr/format.h +new.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +new.o: $(hdrdir)/ruby/internal/attr/noalias.h +new.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +new.o: $(hdrdir)/ruby/internal/attr/noexcept.h +new.o: $(hdrdir)/ruby/internal/attr/noinline.h +new.o: $(hdrdir)/ruby/internal/attr/nonnull.h +new.o: $(hdrdir)/ruby/internal/attr/noreturn.h +new.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +new.o: $(hdrdir)/ruby/internal/attr/pure.h +new.o: $(hdrdir)/ruby/internal/attr/restrict.h +new.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +new.o: $(hdrdir)/ruby/internal/attr/warning.h +new.o: $(hdrdir)/ruby/internal/attr/weakref.h +new.o: $(hdrdir)/ruby/internal/cast.h +new.o: $(hdrdir)/ruby/internal/compiler_is.h +new.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +new.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +new.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +new.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +new.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +new.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +new.o: $(hdrdir)/ruby/internal/compiler_since.h +new.o: $(hdrdir)/ruby/internal/config.h +new.o: $(hdrdir)/ruby/internal/constant_p.h +new.o: $(hdrdir)/ruby/internal/core.h +new.o: $(hdrdir)/ruby/internal/core/rarray.h +new.o: $(hdrdir)/ruby/internal/core/rbasic.h +new.o: $(hdrdir)/ruby/internal/core/rbignum.h +new.o: $(hdrdir)/ruby/internal/core/rclass.h +new.o: $(hdrdir)/ruby/internal/core/rdata.h +new.o: $(hdrdir)/ruby/internal/core/rfile.h +new.o: $(hdrdir)/ruby/internal/core/rhash.h +new.o: $(hdrdir)/ruby/internal/core/robject.h +new.o: $(hdrdir)/ruby/internal/core/rregexp.h +new.o: $(hdrdir)/ruby/internal/core/rstring.h +new.o: $(hdrdir)/ruby/internal/core/rstruct.h +new.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +new.o: $(hdrdir)/ruby/internal/ctype.h +new.o: $(hdrdir)/ruby/internal/dllexport.h +new.o: $(hdrdir)/ruby/internal/dosish.h +new.o: $(hdrdir)/ruby/internal/encoding/coderange.h +new.o: $(hdrdir)/ruby/internal/encoding/ctype.h +new.o: $(hdrdir)/ruby/internal/encoding/encoding.h +new.o: $(hdrdir)/ruby/internal/encoding/pathname.h +new.o: $(hdrdir)/ruby/internal/encoding/re.h +new.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +new.o: $(hdrdir)/ruby/internal/encoding/string.h +new.o: $(hdrdir)/ruby/internal/encoding/symbol.h +new.o: $(hdrdir)/ruby/internal/encoding/transcode.h +new.o: $(hdrdir)/ruby/internal/error.h +new.o: $(hdrdir)/ruby/internal/eval.h +new.o: $(hdrdir)/ruby/internal/event.h +new.o: $(hdrdir)/ruby/internal/fl_type.h +new.o: $(hdrdir)/ruby/internal/gc.h +new.o: $(hdrdir)/ruby/internal/glob.h +new.o: $(hdrdir)/ruby/internal/globals.h +new.o: $(hdrdir)/ruby/internal/has/attribute.h +new.o: $(hdrdir)/ruby/internal/has/builtin.h +new.o: $(hdrdir)/ruby/internal/has/c_attribute.h +new.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +new.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +new.o: $(hdrdir)/ruby/internal/has/extension.h +new.o: $(hdrdir)/ruby/internal/has/feature.h +new.o: $(hdrdir)/ruby/internal/has/warning.h +new.o: $(hdrdir)/ruby/internal/intern/array.h +new.o: $(hdrdir)/ruby/internal/intern/bignum.h +new.o: $(hdrdir)/ruby/internal/intern/class.h +new.o: $(hdrdir)/ruby/internal/intern/compar.h +new.o: $(hdrdir)/ruby/internal/intern/complex.h +new.o: $(hdrdir)/ruby/internal/intern/cont.h +new.o: $(hdrdir)/ruby/internal/intern/dir.h +new.o: $(hdrdir)/ruby/internal/intern/enum.h +new.o: $(hdrdir)/ruby/internal/intern/enumerator.h +new.o: $(hdrdir)/ruby/internal/intern/error.h +new.o: $(hdrdir)/ruby/internal/intern/eval.h +new.o: $(hdrdir)/ruby/internal/intern/file.h +new.o: $(hdrdir)/ruby/internal/intern/hash.h +new.o: $(hdrdir)/ruby/internal/intern/io.h +new.o: $(hdrdir)/ruby/internal/intern/load.h +new.o: $(hdrdir)/ruby/internal/intern/marshal.h +new.o: $(hdrdir)/ruby/internal/intern/numeric.h +new.o: $(hdrdir)/ruby/internal/intern/object.h +new.o: $(hdrdir)/ruby/internal/intern/parse.h +new.o: $(hdrdir)/ruby/internal/intern/proc.h +new.o: $(hdrdir)/ruby/internal/intern/process.h +new.o: $(hdrdir)/ruby/internal/intern/random.h +new.o: $(hdrdir)/ruby/internal/intern/range.h +new.o: $(hdrdir)/ruby/internal/intern/rational.h +new.o: $(hdrdir)/ruby/internal/intern/re.h +new.o: $(hdrdir)/ruby/internal/intern/ruby.h +new.o: $(hdrdir)/ruby/internal/intern/select.h +new.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +new.o: $(hdrdir)/ruby/internal/intern/set.h +new.o: $(hdrdir)/ruby/internal/intern/signal.h +new.o: $(hdrdir)/ruby/internal/intern/sprintf.h +new.o: $(hdrdir)/ruby/internal/intern/string.h +new.o: $(hdrdir)/ruby/internal/intern/struct.h +new.o: $(hdrdir)/ruby/internal/intern/thread.h +new.o: $(hdrdir)/ruby/internal/intern/time.h +new.o: $(hdrdir)/ruby/internal/intern/variable.h +new.o: $(hdrdir)/ruby/internal/intern/vm.h +new.o: $(hdrdir)/ruby/internal/interpreter.h +new.o: $(hdrdir)/ruby/internal/iterator.h +new.o: $(hdrdir)/ruby/internal/memory.h +new.o: $(hdrdir)/ruby/internal/method.h +new.o: $(hdrdir)/ruby/internal/module.h +new.o: $(hdrdir)/ruby/internal/newobj.h +new.o: $(hdrdir)/ruby/internal/scan_args.h +new.o: $(hdrdir)/ruby/internal/special_consts.h +new.o: $(hdrdir)/ruby/internal/static_assert.h +new.o: $(hdrdir)/ruby/internal/stdalign.h +new.o: $(hdrdir)/ruby/internal/stdbool.h +new.o: $(hdrdir)/ruby/internal/stdckdint.h +new.o: $(hdrdir)/ruby/internal/symbol.h +new.o: $(hdrdir)/ruby/internal/value.h +new.o: $(hdrdir)/ruby/internal/value_type.h +new.o: $(hdrdir)/ruby/internal/variable.h +new.o: $(hdrdir)/ruby/internal/warning_push.h +new.o: $(hdrdir)/ruby/internal/xmalloc.h +new.o: $(hdrdir)/ruby/missing.h +new.o: $(hdrdir)/ruby/onigmo.h +new.o: $(hdrdir)/ruby/oniguruma.h +new.o: $(hdrdir)/ruby/ruby.h +new.o: $(hdrdir)/ruby/st.h +new.o: $(hdrdir)/ruby/subst.h +new.o: new.c +nofree.o: $(RUBY_EXTCONF_H) +nofree.o: $(arch_hdrdir)/ruby/config.h +nofree.o: $(hdrdir)/ruby.h +nofree.o: $(hdrdir)/ruby/assert.h +nofree.o: $(hdrdir)/ruby/backward.h +nofree.o: $(hdrdir)/ruby/backward/2/assume.h +nofree.o: $(hdrdir)/ruby/backward/2/attributes.h +nofree.o: $(hdrdir)/ruby/backward/2/bool.h +nofree.o: $(hdrdir)/ruby/backward/2/inttypes.h +nofree.o: $(hdrdir)/ruby/backward/2/limits.h +nofree.o: $(hdrdir)/ruby/backward/2/long_long.h +nofree.o: $(hdrdir)/ruby/backward/2/stdalign.h +nofree.o: $(hdrdir)/ruby/backward/2/stdarg.h +nofree.o: $(hdrdir)/ruby/defines.h +nofree.o: $(hdrdir)/ruby/intern.h +nofree.o: $(hdrdir)/ruby/internal/abi.h +nofree.o: $(hdrdir)/ruby/internal/anyargs.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/char.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/double.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/int.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/long.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/short.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +nofree.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +nofree.o: $(hdrdir)/ruby/internal/assume.h +nofree.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +nofree.o: $(hdrdir)/ruby/internal/attr/artificial.h +nofree.o: $(hdrdir)/ruby/internal/attr/cold.h +nofree.o: $(hdrdir)/ruby/internal/attr/const.h +nofree.o: $(hdrdir)/ruby/internal/attr/constexpr.h +nofree.o: $(hdrdir)/ruby/internal/attr/deprecated.h +nofree.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +nofree.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +nofree.o: $(hdrdir)/ruby/internal/attr/error.h +nofree.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +nofree.o: $(hdrdir)/ruby/internal/attr/forceinline.h +nofree.o: $(hdrdir)/ruby/internal/attr/format.h +nofree.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +nofree.o: $(hdrdir)/ruby/internal/attr/noalias.h +nofree.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +nofree.o: $(hdrdir)/ruby/internal/attr/noexcept.h +nofree.o: $(hdrdir)/ruby/internal/attr/noinline.h +nofree.o: $(hdrdir)/ruby/internal/attr/nonnull.h +nofree.o: $(hdrdir)/ruby/internal/attr/noreturn.h +nofree.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +nofree.o: $(hdrdir)/ruby/internal/attr/pure.h +nofree.o: $(hdrdir)/ruby/internal/attr/restrict.h +nofree.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +nofree.o: $(hdrdir)/ruby/internal/attr/warning.h +nofree.o: $(hdrdir)/ruby/internal/attr/weakref.h +nofree.o: $(hdrdir)/ruby/internal/cast.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +nofree.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +nofree.o: $(hdrdir)/ruby/internal/compiler_since.h +nofree.o: $(hdrdir)/ruby/internal/config.h +nofree.o: $(hdrdir)/ruby/internal/constant_p.h +nofree.o: $(hdrdir)/ruby/internal/core.h +nofree.o: $(hdrdir)/ruby/internal/core/rarray.h +nofree.o: $(hdrdir)/ruby/internal/core/rbasic.h +nofree.o: $(hdrdir)/ruby/internal/core/rbignum.h +nofree.o: $(hdrdir)/ruby/internal/core/rclass.h +nofree.o: $(hdrdir)/ruby/internal/core/rdata.h +nofree.o: $(hdrdir)/ruby/internal/core/rfile.h +nofree.o: $(hdrdir)/ruby/internal/core/rhash.h +nofree.o: $(hdrdir)/ruby/internal/core/robject.h +nofree.o: $(hdrdir)/ruby/internal/core/rregexp.h +nofree.o: $(hdrdir)/ruby/internal/core/rstring.h +nofree.o: $(hdrdir)/ruby/internal/core/rstruct.h +nofree.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +nofree.o: $(hdrdir)/ruby/internal/ctype.h +nofree.o: $(hdrdir)/ruby/internal/dllexport.h +nofree.o: $(hdrdir)/ruby/internal/dosish.h +nofree.o: $(hdrdir)/ruby/internal/error.h +nofree.o: $(hdrdir)/ruby/internal/eval.h +nofree.o: $(hdrdir)/ruby/internal/event.h +nofree.o: $(hdrdir)/ruby/internal/fl_type.h +nofree.o: $(hdrdir)/ruby/internal/gc.h +nofree.o: $(hdrdir)/ruby/internal/glob.h +nofree.o: $(hdrdir)/ruby/internal/globals.h +nofree.o: $(hdrdir)/ruby/internal/has/attribute.h +nofree.o: $(hdrdir)/ruby/internal/has/builtin.h +nofree.o: $(hdrdir)/ruby/internal/has/c_attribute.h +nofree.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +nofree.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +nofree.o: $(hdrdir)/ruby/internal/has/extension.h +nofree.o: $(hdrdir)/ruby/internal/has/feature.h +nofree.o: $(hdrdir)/ruby/internal/has/warning.h +nofree.o: $(hdrdir)/ruby/internal/intern/array.h +nofree.o: $(hdrdir)/ruby/internal/intern/bignum.h +nofree.o: $(hdrdir)/ruby/internal/intern/class.h +nofree.o: $(hdrdir)/ruby/internal/intern/compar.h +nofree.o: $(hdrdir)/ruby/internal/intern/complex.h +nofree.o: $(hdrdir)/ruby/internal/intern/cont.h +nofree.o: $(hdrdir)/ruby/internal/intern/dir.h +nofree.o: $(hdrdir)/ruby/internal/intern/enum.h +nofree.o: $(hdrdir)/ruby/internal/intern/enumerator.h +nofree.o: $(hdrdir)/ruby/internal/intern/error.h +nofree.o: $(hdrdir)/ruby/internal/intern/eval.h +nofree.o: $(hdrdir)/ruby/internal/intern/file.h +nofree.o: $(hdrdir)/ruby/internal/intern/hash.h +nofree.o: $(hdrdir)/ruby/internal/intern/io.h +nofree.o: $(hdrdir)/ruby/internal/intern/load.h +nofree.o: $(hdrdir)/ruby/internal/intern/marshal.h +nofree.o: $(hdrdir)/ruby/internal/intern/numeric.h +nofree.o: $(hdrdir)/ruby/internal/intern/object.h +nofree.o: $(hdrdir)/ruby/internal/intern/parse.h +nofree.o: $(hdrdir)/ruby/internal/intern/proc.h +nofree.o: $(hdrdir)/ruby/internal/intern/process.h +nofree.o: $(hdrdir)/ruby/internal/intern/random.h +nofree.o: $(hdrdir)/ruby/internal/intern/range.h +nofree.o: $(hdrdir)/ruby/internal/intern/rational.h +nofree.o: $(hdrdir)/ruby/internal/intern/re.h +nofree.o: $(hdrdir)/ruby/internal/intern/ruby.h +nofree.o: $(hdrdir)/ruby/internal/intern/select.h +nofree.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +nofree.o: $(hdrdir)/ruby/internal/intern/set.h +nofree.o: $(hdrdir)/ruby/internal/intern/signal.h +nofree.o: $(hdrdir)/ruby/internal/intern/sprintf.h +nofree.o: $(hdrdir)/ruby/internal/intern/string.h +nofree.o: $(hdrdir)/ruby/internal/intern/struct.h +nofree.o: $(hdrdir)/ruby/internal/intern/thread.h +nofree.o: $(hdrdir)/ruby/internal/intern/time.h +nofree.o: $(hdrdir)/ruby/internal/intern/variable.h +nofree.o: $(hdrdir)/ruby/internal/intern/vm.h +nofree.o: $(hdrdir)/ruby/internal/interpreter.h +nofree.o: $(hdrdir)/ruby/internal/iterator.h +nofree.o: $(hdrdir)/ruby/internal/memory.h +nofree.o: $(hdrdir)/ruby/internal/method.h +nofree.o: $(hdrdir)/ruby/internal/module.h +nofree.o: $(hdrdir)/ruby/internal/newobj.h +nofree.o: $(hdrdir)/ruby/internal/scan_args.h +nofree.o: $(hdrdir)/ruby/internal/special_consts.h +nofree.o: $(hdrdir)/ruby/internal/static_assert.h +nofree.o: $(hdrdir)/ruby/internal/stdalign.h +nofree.o: $(hdrdir)/ruby/internal/stdbool.h +nofree.o: $(hdrdir)/ruby/internal/stdckdint.h +nofree.o: $(hdrdir)/ruby/internal/symbol.h +nofree.o: $(hdrdir)/ruby/internal/value.h +nofree.o: $(hdrdir)/ruby/internal/value_type.h +nofree.o: $(hdrdir)/ruby/internal/variable.h +nofree.o: $(hdrdir)/ruby/internal/warning_push.h +nofree.o: $(hdrdir)/ruby/internal/xmalloc.h +nofree.o: $(hdrdir)/ruby/missing.h +nofree.o: $(hdrdir)/ruby/ruby.h +nofree.o: $(hdrdir)/ruby/st.h +nofree.o: $(hdrdir)/ruby/subst.h +nofree.o: nofree.c +normalize.o: $(RUBY_EXTCONF_H) +normalize.o: $(arch_hdrdir)/ruby/config.h +normalize.o: $(hdrdir)/ruby/assert.h +normalize.o: $(hdrdir)/ruby/backward.h +normalize.o: $(hdrdir)/ruby/backward/2/assume.h +normalize.o: $(hdrdir)/ruby/backward/2/attributes.h +normalize.o: $(hdrdir)/ruby/backward/2/bool.h +normalize.o: $(hdrdir)/ruby/backward/2/inttypes.h +normalize.o: $(hdrdir)/ruby/backward/2/limits.h +normalize.o: $(hdrdir)/ruby/backward/2/long_long.h +normalize.o: $(hdrdir)/ruby/backward/2/stdalign.h +normalize.o: $(hdrdir)/ruby/backward/2/stdarg.h +normalize.o: $(hdrdir)/ruby/defines.h +normalize.o: $(hdrdir)/ruby/encoding.h +normalize.o: $(hdrdir)/ruby/intern.h +normalize.o: $(hdrdir)/ruby/internal/abi.h +normalize.o: $(hdrdir)/ruby/internal/anyargs.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/char.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/double.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/int.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/long.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/short.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +normalize.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +normalize.o: $(hdrdir)/ruby/internal/assume.h +normalize.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +normalize.o: $(hdrdir)/ruby/internal/attr/artificial.h +normalize.o: $(hdrdir)/ruby/internal/attr/cold.h +normalize.o: $(hdrdir)/ruby/internal/attr/const.h +normalize.o: $(hdrdir)/ruby/internal/attr/constexpr.h +normalize.o: $(hdrdir)/ruby/internal/attr/deprecated.h +normalize.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +normalize.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +normalize.o: $(hdrdir)/ruby/internal/attr/error.h +normalize.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +normalize.o: $(hdrdir)/ruby/internal/attr/forceinline.h +normalize.o: $(hdrdir)/ruby/internal/attr/format.h +normalize.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +normalize.o: $(hdrdir)/ruby/internal/attr/noalias.h +normalize.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +normalize.o: $(hdrdir)/ruby/internal/attr/noexcept.h +normalize.o: $(hdrdir)/ruby/internal/attr/noinline.h +normalize.o: $(hdrdir)/ruby/internal/attr/nonnull.h +normalize.o: $(hdrdir)/ruby/internal/attr/noreturn.h +normalize.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +normalize.o: $(hdrdir)/ruby/internal/attr/pure.h +normalize.o: $(hdrdir)/ruby/internal/attr/restrict.h +normalize.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +normalize.o: $(hdrdir)/ruby/internal/attr/warning.h +normalize.o: $(hdrdir)/ruby/internal/attr/weakref.h +normalize.o: $(hdrdir)/ruby/internal/cast.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +normalize.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +normalize.o: $(hdrdir)/ruby/internal/compiler_since.h +normalize.o: $(hdrdir)/ruby/internal/config.h +normalize.o: $(hdrdir)/ruby/internal/constant_p.h +normalize.o: $(hdrdir)/ruby/internal/core.h +normalize.o: $(hdrdir)/ruby/internal/core/rarray.h +normalize.o: $(hdrdir)/ruby/internal/core/rbasic.h +normalize.o: $(hdrdir)/ruby/internal/core/rbignum.h +normalize.o: $(hdrdir)/ruby/internal/core/rclass.h +normalize.o: $(hdrdir)/ruby/internal/core/rdata.h +normalize.o: $(hdrdir)/ruby/internal/core/rfile.h +normalize.o: $(hdrdir)/ruby/internal/core/rhash.h +normalize.o: $(hdrdir)/ruby/internal/core/robject.h +normalize.o: $(hdrdir)/ruby/internal/core/rregexp.h +normalize.o: $(hdrdir)/ruby/internal/core/rstring.h +normalize.o: $(hdrdir)/ruby/internal/core/rstruct.h +normalize.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +normalize.o: $(hdrdir)/ruby/internal/ctype.h +normalize.o: $(hdrdir)/ruby/internal/dllexport.h +normalize.o: $(hdrdir)/ruby/internal/dosish.h +normalize.o: $(hdrdir)/ruby/internal/encoding/coderange.h +normalize.o: $(hdrdir)/ruby/internal/encoding/ctype.h +normalize.o: $(hdrdir)/ruby/internal/encoding/encoding.h +normalize.o: $(hdrdir)/ruby/internal/encoding/pathname.h +normalize.o: $(hdrdir)/ruby/internal/encoding/re.h +normalize.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +normalize.o: $(hdrdir)/ruby/internal/encoding/string.h +normalize.o: $(hdrdir)/ruby/internal/encoding/symbol.h +normalize.o: $(hdrdir)/ruby/internal/encoding/transcode.h +normalize.o: $(hdrdir)/ruby/internal/error.h +normalize.o: $(hdrdir)/ruby/internal/eval.h +normalize.o: $(hdrdir)/ruby/internal/event.h +normalize.o: $(hdrdir)/ruby/internal/fl_type.h +normalize.o: $(hdrdir)/ruby/internal/gc.h +normalize.o: $(hdrdir)/ruby/internal/glob.h +normalize.o: $(hdrdir)/ruby/internal/globals.h +normalize.o: $(hdrdir)/ruby/internal/has/attribute.h +normalize.o: $(hdrdir)/ruby/internal/has/builtin.h +normalize.o: $(hdrdir)/ruby/internal/has/c_attribute.h +normalize.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +normalize.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +normalize.o: $(hdrdir)/ruby/internal/has/extension.h +normalize.o: $(hdrdir)/ruby/internal/has/feature.h +normalize.o: $(hdrdir)/ruby/internal/has/warning.h +normalize.o: $(hdrdir)/ruby/internal/intern/array.h +normalize.o: $(hdrdir)/ruby/internal/intern/bignum.h +normalize.o: $(hdrdir)/ruby/internal/intern/class.h +normalize.o: $(hdrdir)/ruby/internal/intern/compar.h +normalize.o: $(hdrdir)/ruby/internal/intern/complex.h +normalize.o: $(hdrdir)/ruby/internal/intern/cont.h +normalize.o: $(hdrdir)/ruby/internal/intern/dir.h +normalize.o: $(hdrdir)/ruby/internal/intern/enum.h +normalize.o: $(hdrdir)/ruby/internal/intern/enumerator.h +normalize.o: $(hdrdir)/ruby/internal/intern/error.h +normalize.o: $(hdrdir)/ruby/internal/intern/eval.h +normalize.o: $(hdrdir)/ruby/internal/intern/file.h +normalize.o: $(hdrdir)/ruby/internal/intern/hash.h +normalize.o: $(hdrdir)/ruby/internal/intern/io.h +normalize.o: $(hdrdir)/ruby/internal/intern/load.h +normalize.o: $(hdrdir)/ruby/internal/intern/marshal.h +normalize.o: $(hdrdir)/ruby/internal/intern/numeric.h +normalize.o: $(hdrdir)/ruby/internal/intern/object.h +normalize.o: $(hdrdir)/ruby/internal/intern/parse.h +normalize.o: $(hdrdir)/ruby/internal/intern/proc.h +normalize.o: $(hdrdir)/ruby/internal/intern/process.h +normalize.o: $(hdrdir)/ruby/internal/intern/random.h +normalize.o: $(hdrdir)/ruby/internal/intern/range.h +normalize.o: $(hdrdir)/ruby/internal/intern/rational.h +normalize.o: $(hdrdir)/ruby/internal/intern/re.h +normalize.o: $(hdrdir)/ruby/internal/intern/ruby.h +normalize.o: $(hdrdir)/ruby/internal/intern/select.h +normalize.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +normalize.o: $(hdrdir)/ruby/internal/intern/set.h +normalize.o: $(hdrdir)/ruby/internal/intern/signal.h +normalize.o: $(hdrdir)/ruby/internal/intern/sprintf.h +normalize.o: $(hdrdir)/ruby/internal/intern/string.h +normalize.o: $(hdrdir)/ruby/internal/intern/struct.h +normalize.o: $(hdrdir)/ruby/internal/intern/thread.h +normalize.o: $(hdrdir)/ruby/internal/intern/time.h +normalize.o: $(hdrdir)/ruby/internal/intern/variable.h +normalize.o: $(hdrdir)/ruby/internal/intern/vm.h +normalize.o: $(hdrdir)/ruby/internal/interpreter.h +normalize.o: $(hdrdir)/ruby/internal/iterator.h +normalize.o: $(hdrdir)/ruby/internal/memory.h +normalize.o: $(hdrdir)/ruby/internal/method.h +normalize.o: $(hdrdir)/ruby/internal/module.h +normalize.o: $(hdrdir)/ruby/internal/newobj.h +normalize.o: $(hdrdir)/ruby/internal/scan_args.h +normalize.o: $(hdrdir)/ruby/internal/special_consts.h +normalize.o: $(hdrdir)/ruby/internal/static_assert.h +normalize.o: $(hdrdir)/ruby/internal/stdalign.h +normalize.o: $(hdrdir)/ruby/internal/stdbool.h +normalize.o: $(hdrdir)/ruby/internal/stdckdint.h +normalize.o: $(hdrdir)/ruby/internal/symbol.h +normalize.o: $(hdrdir)/ruby/internal/value.h +normalize.o: $(hdrdir)/ruby/internal/value_type.h +normalize.o: $(hdrdir)/ruby/internal/variable.h +normalize.o: $(hdrdir)/ruby/internal/warning_push.h +normalize.o: $(hdrdir)/ruby/internal/xmalloc.h +normalize.o: $(hdrdir)/ruby/missing.h +normalize.o: $(hdrdir)/ruby/onigmo.h +normalize.o: $(hdrdir)/ruby/oniguruma.h +normalize.o: $(hdrdir)/ruby/ruby.h +normalize.o: $(hdrdir)/ruby/st.h +normalize.o: $(hdrdir)/ruby/subst.h +normalize.o: $(top_srcdir)/internal/file.h +normalize.o: normalize.c +qsort.o: $(RUBY_EXTCONF_H) +qsort.o: $(arch_hdrdir)/ruby/config.h +qsort.o: $(hdrdir)/ruby.h +qsort.o: $(hdrdir)/ruby/assert.h +qsort.o: $(hdrdir)/ruby/backward.h +qsort.o: $(hdrdir)/ruby/backward/2/assume.h +qsort.o: $(hdrdir)/ruby/backward/2/attributes.h +qsort.o: $(hdrdir)/ruby/backward/2/bool.h +qsort.o: $(hdrdir)/ruby/backward/2/inttypes.h +qsort.o: $(hdrdir)/ruby/backward/2/limits.h +qsort.o: $(hdrdir)/ruby/backward/2/long_long.h +qsort.o: $(hdrdir)/ruby/backward/2/stdalign.h +qsort.o: $(hdrdir)/ruby/backward/2/stdarg.h +qsort.o: $(hdrdir)/ruby/defines.h +qsort.o: $(hdrdir)/ruby/encoding.h +qsort.o: $(hdrdir)/ruby/intern.h +qsort.o: $(hdrdir)/ruby/internal/abi.h +qsort.o: $(hdrdir)/ruby/internal/anyargs.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/char.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/double.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/int.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/long.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/short.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +qsort.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +qsort.o: $(hdrdir)/ruby/internal/assume.h +qsort.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +qsort.o: $(hdrdir)/ruby/internal/attr/artificial.h +qsort.o: $(hdrdir)/ruby/internal/attr/cold.h +qsort.o: $(hdrdir)/ruby/internal/attr/const.h +qsort.o: $(hdrdir)/ruby/internal/attr/constexpr.h +qsort.o: $(hdrdir)/ruby/internal/attr/deprecated.h +qsort.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +qsort.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +qsort.o: $(hdrdir)/ruby/internal/attr/error.h +qsort.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +qsort.o: $(hdrdir)/ruby/internal/attr/forceinline.h +qsort.o: $(hdrdir)/ruby/internal/attr/format.h +qsort.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +qsort.o: $(hdrdir)/ruby/internal/attr/noalias.h +qsort.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +qsort.o: $(hdrdir)/ruby/internal/attr/noexcept.h +qsort.o: $(hdrdir)/ruby/internal/attr/noinline.h +qsort.o: $(hdrdir)/ruby/internal/attr/nonnull.h +qsort.o: $(hdrdir)/ruby/internal/attr/noreturn.h +qsort.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +qsort.o: $(hdrdir)/ruby/internal/attr/pure.h +qsort.o: $(hdrdir)/ruby/internal/attr/restrict.h +qsort.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +qsort.o: $(hdrdir)/ruby/internal/attr/warning.h +qsort.o: $(hdrdir)/ruby/internal/attr/weakref.h +qsort.o: $(hdrdir)/ruby/internal/cast.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +qsort.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +qsort.o: $(hdrdir)/ruby/internal/compiler_since.h +qsort.o: $(hdrdir)/ruby/internal/config.h +qsort.o: $(hdrdir)/ruby/internal/constant_p.h +qsort.o: $(hdrdir)/ruby/internal/core.h +qsort.o: $(hdrdir)/ruby/internal/core/rarray.h +qsort.o: $(hdrdir)/ruby/internal/core/rbasic.h +qsort.o: $(hdrdir)/ruby/internal/core/rbignum.h +qsort.o: $(hdrdir)/ruby/internal/core/rclass.h +qsort.o: $(hdrdir)/ruby/internal/core/rdata.h +qsort.o: $(hdrdir)/ruby/internal/core/rfile.h +qsort.o: $(hdrdir)/ruby/internal/core/rhash.h +qsort.o: $(hdrdir)/ruby/internal/core/robject.h +qsort.o: $(hdrdir)/ruby/internal/core/rregexp.h +qsort.o: $(hdrdir)/ruby/internal/core/rstring.h +qsort.o: $(hdrdir)/ruby/internal/core/rstruct.h +qsort.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +qsort.o: $(hdrdir)/ruby/internal/ctype.h +qsort.o: $(hdrdir)/ruby/internal/dllexport.h +qsort.o: $(hdrdir)/ruby/internal/dosish.h +qsort.o: $(hdrdir)/ruby/internal/encoding/coderange.h +qsort.o: $(hdrdir)/ruby/internal/encoding/ctype.h +qsort.o: $(hdrdir)/ruby/internal/encoding/encoding.h +qsort.o: $(hdrdir)/ruby/internal/encoding/pathname.h +qsort.o: $(hdrdir)/ruby/internal/encoding/re.h +qsort.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +qsort.o: $(hdrdir)/ruby/internal/encoding/string.h +qsort.o: $(hdrdir)/ruby/internal/encoding/symbol.h +qsort.o: $(hdrdir)/ruby/internal/encoding/transcode.h +qsort.o: $(hdrdir)/ruby/internal/error.h +qsort.o: $(hdrdir)/ruby/internal/eval.h +qsort.o: $(hdrdir)/ruby/internal/event.h +qsort.o: $(hdrdir)/ruby/internal/fl_type.h +qsort.o: $(hdrdir)/ruby/internal/gc.h +qsort.o: $(hdrdir)/ruby/internal/glob.h +qsort.o: $(hdrdir)/ruby/internal/globals.h +qsort.o: $(hdrdir)/ruby/internal/has/attribute.h +qsort.o: $(hdrdir)/ruby/internal/has/builtin.h +qsort.o: $(hdrdir)/ruby/internal/has/c_attribute.h +qsort.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +qsort.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +qsort.o: $(hdrdir)/ruby/internal/has/extension.h +qsort.o: $(hdrdir)/ruby/internal/has/feature.h +qsort.o: $(hdrdir)/ruby/internal/has/warning.h +qsort.o: $(hdrdir)/ruby/internal/intern/array.h +qsort.o: $(hdrdir)/ruby/internal/intern/bignum.h +qsort.o: $(hdrdir)/ruby/internal/intern/class.h +qsort.o: $(hdrdir)/ruby/internal/intern/compar.h +qsort.o: $(hdrdir)/ruby/internal/intern/complex.h +qsort.o: $(hdrdir)/ruby/internal/intern/cont.h +qsort.o: $(hdrdir)/ruby/internal/intern/dir.h +qsort.o: $(hdrdir)/ruby/internal/intern/enum.h +qsort.o: $(hdrdir)/ruby/internal/intern/enumerator.h +qsort.o: $(hdrdir)/ruby/internal/intern/error.h +qsort.o: $(hdrdir)/ruby/internal/intern/eval.h +qsort.o: $(hdrdir)/ruby/internal/intern/file.h +qsort.o: $(hdrdir)/ruby/internal/intern/hash.h +qsort.o: $(hdrdir)/ruby/internal/intern/io.h +qsort.o: $(hdrdir)/ruby/internal/intern/load.h +qsort.o: $(hdrdir)/ruby/internal/intern/marshal.h +qsort.o: $(hdrdir)/ruby/internal/intern/numeric.h +qsort.o: $(hdrdir)/ruby/internal/intern/object.h +qsort.o: $(hdrdir)/ruby/internal/intern/parse.h +qsort.o: $(hdrdir)/ruby/internal/intern/proc.h +qsort.o: $(hdrdir)/ruby/internal/intern/process.h +qsort.o: $(hdrdir)/ruby/internal/intern/random.h +qsort.o: $(hdrdir)/ruby/internal/intern/range.h +qsort.o: $(hdrdir)/ruby/internal/intern/rational.h +qsort.o: $(hdrdir)/ruby/internal/intern/re.h +qsort.o: $(hdrdir)/ruby/internal/intern/ruby.h +qsort.o: $(hdrdir)/ruby/internal/intern/select.h +qsort.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +qsort.o: $(hdrdir)/ruby/internal/intern/set.h +qsort.o: $(hdrdir)/ruby/internal/intern/signal.h +qsort.o: $(hdrdir)/ruby/internal/intern/sprintf.h +qsort.o: $(hdrdir)/ruby/internal/intern/string.h +qsort.o: $(hdrdir)/ruby/internal/intern/struct.h +qsort.o: $(hdrdir)/ruby/internal/intern/thread.h +qsort.o: $(hdrdir)/ruby/internal/intern/time.h +qsort.o: $(hdrdir)/ruby/internal/intern/variable.h +qsort.o: $(hdrdir)/ruby/internal/intern/vm.h +qsort.o: $(hdrdir)/ruby/internal/interpreter.h +qsort.o: $(hdrdir)/ruby/internal/iterator.h +qsort.o: $(hdrdir)/ruby/internal/memory.h +qsort.o: $(hdrdir)/ruby/internal/method.h +qsort.o: $(hdrdir)/ruby/internal/module.h +qsort.o: $(hdrdir)/ruby/internal/newobj.h +qsort.o: $(hdrdir)/ruby/internal/scan_args.h +qsort.o: $(hdrdir)/ruby/internal/special_consts.h +qsort.o: $(hdrdir)/ruby/internal/static_assert.h +qsort.o: $(hdrdir)/ruby/internal/stdalign.h +qsort.o: $(hdrdir)/ruby/internal/stdbool.h +qsort.o: $(hdrdir)/ruby/internal/stdckdint.h +qsort.o: $(hdrdir)/ruby/internal/symbol.h +qsort.o: $(hdrdir)/ruby/internal/value.h +qsort.o: $(hdrdir)/ruby/internal/value_type.h +qsort.o: $(hdrdir)/ruby/internal/variable.h +qsort.o: $(hdrdir)/ruby/internal/warning_push.h +qsort.o: $(hdrdir)/ruby/internal/xmalloc.h +qsort.o: $(hdrdir)/ruby/missing.h +qsort.o: $(hdrdir)/ruby/onigmo.h +qsort.o: $(hdrdir)/ruby/oniguruma.h +qsort.o: $(hdrdir)/ruby/ruby.h +qsort.o: $(hdrdir)/ruby/st.h +qsort.o: $(hdrdir)/ruby/subst.h +qsort.o: $(hdrdir)/ruby/util.h +qsort.o: qsort.c +rb_interned_str.o: $(RUBY_EXTCONF_H) +rb_interned_str.o: $(arch_hdrdir)/ruby/config.h +rb_interned_str.o: $(hdrdir)/ruby.h +rb_interned_str.o: $(hdrdir)/ruby/assert.h +rb_interned_str.o: $(hdrdir)/ruby/backward.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/assume.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/attributes.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/bool.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/inttypes.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/limits.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/long_long.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/stdalign.h +rb_interned_str.o: $(hdrdir)/ruby/backward/2/stdarg.h +rb_interned_str.o: $(hdrdir)/ruby/defines.h +rb_interned_str.o: $(hdrdir)/ruby/intern.h +rb_interned_str.o: $(hdrdir)/ruby/internal/abi.h +rb_interned_str.o: $(hdrdir)/ruby/internal/anyargs.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/char.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/double.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/int.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/long.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/short.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +rb_interned_str.o: $(hdrdir)/ruby/internal/assume.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/artificial.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/cold.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/const.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/constexpr.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/deprecated.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/error.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/forceinline.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/format.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/noalias.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/noexcept.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/noinline.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/nonnull.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/pure.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/restrict.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/warning.h +rb_interned_str.o: $(hdrdir)/ruby/internal/attr/weakref.h +rb_interned_str.o: $(hdrdir)/ruby/internal/cast.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +rb_interned_str.o: $(hdrdir)/ruby/internal/compiler_since.h +rb_interned_str.o: $(hdrdir)/ruby/internal/config.h +rb_interned_str.o: $(hdrdir)/ruby/internal/constant_p.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rarray.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rbasic.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rbignum.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rclass.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rdata.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rfile.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rhash.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/robject.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rregexp.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rstring.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rstruct.h +rb_interned_str.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +rb_interned_str.o: $(hdrdir)/ruby/internal/ctype.h +rb_interned_str.o: $(hdrdir)/ruby/internal/dllexport.h +rb_interned_str.o: $(hdrdir)/ruby/internal/dosish.h +rb_interned_str.o: $(hdrdir)/ruby/internal/error.h +rb_interned_str.o: $(hdrdir)/ruby/internal/eval.h +rb_interned_str.o: $(hdrdir)/ruby/internal/event.h +rb_interned_str.o: $(hdrdir)/ruby/internal/fl_type.h +rb_interned_str.o: $(hdrdir)/ruby/internal/gc.h +rb_interned_str.o: $(hdrdir)/ruby/internal/glob.h +rb_interned_str.o: $(hdrdir)/ruby/internal/globals.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/attribute.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/builtin.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/c_attribute.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/extension.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/feature.h +rb_interned_str.o: $(hdrdir)/ruby/internal/has/warning.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/array.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/bignum.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/class.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/compar.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/complex.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/cont.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/dir.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/enum.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/enumerator.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/error.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/eval.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/file.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/hash.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/io.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/load.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/marshal.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/numeric.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/object.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/parse.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/proc.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/process.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/random.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/range.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/rational.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/re.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/ruby.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/select.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/set.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/signal.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/sprintf.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/string.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/struct.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/thread.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/time.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/variable.h +rb_interned_str.o: $(hdrdir)/ruby/internal/intern/vm.h +rb_interned_str.o: $(hdrdir)/ruby/internal/interpreter.h +rb_interned_str.o: $(hdrdir)/ruby/internal/iterator.h +rb_interned_str.o: $(hdrdir)/ruby/internal/memory.h +rb_interned_str.o: $(hdrdir)/ruby/internal/method.h +rb_interned_str.o: $(hdrdir)/ruby/internal/module.h +rb_interned_str.o: $(hdrdir)/ruby/internal/newobj.h +rb_interned_str.o: $(hdrdir)/ruby/internal/scan_args.h +rb_interned_str.o: $(hdrdir)/ruby/internal/special_consts.h +rb_interned_str.o: $(hdrdir)/ruby/internal/static_assert.h +rb_interned_str.o: $(hdrdir)/ruby/internal/stdalign.h +rb_interned_str.o: $(hdrdir)/ruby/internal/stdbool.h +rb_interned_str.o: $(hdrdir)/ruby/internal/stdckdint.h +rb_interned_str.o: $(hdrdir)/ruby/internal/symbol.h +rb_interned_str.o: $(hdrdir)/ruby/internal/value.h +rb_interned_str.o: $(hdrdir)/ruby/internal/value_type.h +rb_interned_str.o: $(hdrdir)/ruby/internal/variable.h +rb_interned_str.o: $(hdrdir)/ruby/internal/warning_push.h +rb_interned_str.o: $(hdrdir)/ruby/internal/xmalloc.h +rb_interned_str.o: $(hdrdir)/ruby/missing.h +rb_interned_str.o: $(hdrdir)/ruby/ruby.h +rb_interned_str.o: $(hdrdir)/ruby/st.h +rb_interned_str.o: $(hdrdir)/ruby/subst.h +rb_interned_str.o: rb_interned_str.c +rb_str_dup.o: $(RUBY_EXTCONF_H) +rb_str_dup.o: $(arch_hdrdir)/ruby/config.h +rb_str_dup.o: $(hdrdir)/ruby.h +rb_str_dup.o: $(hdrdir)/ruby/assert.h +rb_str_dup.o: $(hdrdir)/ruby/backward.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/assume.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/attributes.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/bool.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/inttypes.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/limits.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/long_long.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/stdalign.h +rb_str_dup.o: $(hdrdir)/ruby/backward/2/stdarg.h +rb_str_dup.o: $(hdrdir)/ruby/defines.h +rb_str_dup.o: $(hdrdir)/ruby/intern.h +rb_str_dup.o: $(hdrdir)/ruby/internal/abi.h +rb_str_dup.o: $(hdrdir)/ruby/internal/anyargs.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/char.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/double.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/int.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/long.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/short.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +rb_str_dup.o: $(hdrdir)/ruby/internal/assume.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/artificial.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/cold.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/const.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/constexpr.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/deprecated.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/error.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/forceinline.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/format.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/noalias.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/noexcept.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/noinline.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/nonnull.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/noreturn.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/pure.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/restrict.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/warning.h +rb_str_dup.o: $(hdrdir)/ruby/internal/attr/weakref.h +rb_str_dup.o: $(hdrdir)/ruby/internal/cast.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +rb_str_dup.o: $(hdrdir)/ruby/internal/compiler_since.h +rb_str_dup.o: $(hdrdir)/ruby/internal/config.h +rb_str_dup.o: $(hdrdir)/ruby/internal/constant_p.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rarray.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rbasic.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rbignum.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rclass.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rdata.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rfile.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rhash.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/robject.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rregexp.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rstring.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rstruct.h +rb_str_dup.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +rb_str_dup.o: $(hdrdir)/ruby/internal/ctype.h +rb_str_dup.o: $(hdrdir)/ruby/internal/dllexport.h +rb_str_dup.o: $(hdrdir)/ruby/internal/dosish.h +rb_str_dup.o: $(hdrdir)/ruby/internal/error.h +rb_str_dup.o: $(hdrdir)/ruby/internal/eval.h +rb_str_dup.o: $(hdrdir)/ruby/internal/event.h +rb_str_dup.o: $(hdrdir)/ruby/internal/fl_type.h +rb_str_dup.o: $(hdrdir)/ruby/internal/gc.h +rb_str_dup.o: $(hdrdir)/ruby/internal/glob.h +rb_str_dup.o: $(hdrdir)/ruby/internal/globals.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/attribute.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/builtin.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/c_attribute.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/extension.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/feature.h +rb_str_dup.o: $(hdrdir)/ruby/internal/has/warning.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/array.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/bignum.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/class.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/compar.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/complex.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/cont.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/dir.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/enum.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/enumerator.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/error.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/eval.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/file.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/hash.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/io.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/load.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/marshal.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/numeric.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/object.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/parse.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/proc.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/process.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/random.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/range.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/rational.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/re.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/ruby.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/select.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/set.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/signal.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/sprintf.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/string.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/struct.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/thread.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/time.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/variable.h +rb_str_dup.o: $(hdrdir)/ruby/internal/intern/vm.h +rb_str_dup.o: $(hdrdir)/ruby/internal/interpreter.h +rb_str_dup.o: $(hdrdir)/ruby/internal/iterator.h +rb_str_dup.o: $(hdrdir)/ruby/internal/memory.h +rb_str_dup.o: $(hdrdir)/ruby/internal/method.h +rb_str_dup.o: $(hdrdir)/ruby/internal/module.h +rb_str_dup.o: $(hdrdir)/ruby/internal/newobj.h +rb_str_dup.o: $(hdrdir)/ruby/internal/scan_args.h +rb_str_dup.o: $(hdrdir)/ruby/internal/special_consts.h +rb_str_dup.o: $(hdrdir)/ruby/internal/static_assert.h +rb_str_dup.o: $(hdrdir)/ruby/internal/stdalign.h +rb_str_dup.o: $(hdrdir)/ruby/internal/stdbool.h +rb_str_dup.o: $(hdrdir)/ruby/internal/stdckdint.h +rb_str_dup.o: $(hdrdir)/ruby/internal/symbol.h +rb_str_dup.o: $(hdrdir)/ruby/internal/value.h +rb_str_dup.o: $(hdrdir)/ruby/internal/value_type.h +rb_str_dup.o: $(hdrdir)/ruby/internal/variable.h +rb_str_dup.o: $(hdrdir)/ruby/internal/warning_push.h +rb_str_dup.o: $(hdrdir)/ruby/internal/xmalloc.h +rb_str_dup.o: $(hdrdir)/ruby/missing.h +rb_str_dup.o: $(hdrdir)/ruby/ruby.h +rb_str_dup.o: $(hdrdir)/ruby/st.h +rb_str_dup.o: $(hdrdir)/ruby/subst.h +rb_str_dup.o: rb_str_dup.c +set_len.o: $(RUBY_EXTCONF_H) +set_len.o: $(arch_hdrdir)/ruby/config.h +set_len.o: $(hdrdir)/ruby.h +set_len.o: $(hdrdir)/ruby/assert.h +set_len.o: $(hdrdir)/ruby/backward.h +set_len.o: $(hdrdir)/ruby/backward/2/assume.h +set_len.o: $(hdrdir)/ruby/backward/2/attributes.h +set_len.o: $(hdrdir)/ruby/backward/2/bool.h +set_len.o: $(hdrdir)/ruby/backward/2/inttypes.h +set_len.o: $(hdrdir)/ruby/backward/2/limits.h +set_len.o: $(hdrdir)/ruby/backward/2/long_long.h +set_len.o: $(hdrdir)/ruby/backward/2/stdalign.h +set_len.o: $(hdrdir)/ruby/backward/2/stdarg.h +set_len.o: $(hdrdir)/ruby/defines.h +set_len.o: $(hdrdir)/ruby/intern.h +set_len.o: $(hdrdir)/ruby/internal/abi.h +set_len.o: $(hdrdir)/ruby/internal/anyargs.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/char.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/double.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/int.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/long.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/short.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +set_len.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +set_len.o: $(hdrdir)/ruby/internal/assume.h +set_len.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +set_len.o: $(hdrdir)/ruby/internal/attr/artificial.h +set_len.o: $(hdrdir)/ruby/internal/attr/cold.h +set_len.o: $(hdrdir)/ruby/internal/attr/const.h +set_len.o: $(hdrdir)/ruby/internal/attr/constexpr.h +set_len.o: $(hdrdir)/ruby/internal/attr/deprecated.h +set_len.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +set_len.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +set_len.o: $(hdrdir)/ruby/internal/attr/error.h +set_len.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +set_len.o: $(hdrdir)/ruby/internal/attr/forceinline.h +set_len.o: $(hdrdir)/ruby/internal/attr/format.h +set_len.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +set_len.o: $(hdrdir)/ruby/internal/attr/noalias.h +set_len.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +set_len.o: $(hdrdir)/ruby/internal/attr/noexcept.h +set_len.o: $(hdrdir)/ruby/internal/attr/noinline.h +set_len.o: $(hdrdir)/ruby/internal/attr/nonnull.h +set_len.o: $(hdrdir)/ruby/internal/attr/noreturn.h +set_len.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +set_len.o: $(hdrdir)/ruby/internal/attr/pure.h +set_len.o: $(hdrdir)/ruby/internal/attr/restrict.h +set_len.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +set_len.o: $(hdrdir)/ruby/internal/attr/warning.h +set_len.o: $(hdrdir)/ruby/internal/attr/weakref.h +set_len.o: $(hdrdir)/ruby/internal/cast.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +set_len.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +set_len.o: $(hdrdir)/ruby/internal/compiler_since.h +set_len.o: $(hdrdir)/ruby/internal/config.h +set_len.o: $(hdrdir)/ruby/internal/constant_p.h +set_len.o: $(hdrdir)/ruby/internal/core.h +set_len.o: $(hdrdir)/ruby/internal/core/rarray.h +set_len.o: $(hdrdir)/ruby/internal/core/rbasic.h +set_len.o: $(hdrdir)/ruby/internal/core/rbignum.h +set_len.o: $(hdrdir)/ruby/internal/core/rclass.h +set_len.o: $(hdrdir)/ruby/internal/core/rdata.h +set_len.o: $(hdrdir)/ruby/internal/core/rfile.h +set_len.o: $(hdrdir)/ruby/internal/core/rhash.h +set_len.o: $(hdrdir)/ruby/internal/core/robject.h +set_len.o: $(hdrdir)/ruby/internal/core/rregexp.h +set_len.o: $(hdrdir)/ruby/internal/core/rstring.h +set_len.o: $(hdrdir)/ruby/internal/core/rstruct.h +set_len.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +set_len.o: $(hdrdir)/ruby/internal/ctype.h +set_len.o: $(hdrdir)/ruby/internal/dllexport.h +set_len.o: $(hdrdir)/ruby/internal/dosish.h +set_len.o: $(hdrdir)/ruby/internal/error.h +set_len.o: $(hdrdir)/ruby/internal/eval.h +set_len.o: $(hdrdir)/ruby/internal/event.h +set_len.o: $(hdrdir)/ruby/internal/fl_type.h +set_len.o: $(hdrdir)/ruby/internal/gc.h +set_len.o: $(hdrdir)/ruby/internal/glob.h +set_len.o: $(hdrdir)/ruby/internal/globals.h +set_len.o: $(hdrdir)/ruby/internal/has/attribute.h +set_len.o: $(hdrdir)/ruby/internal/has/builtin.h +set_len.o: $(hdrdir)/ruby/internal/has/c_attribute.h +set_len.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +set_len.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +set_len.o: $(hdrdir)/ruby/internal/has/extension.h +set_len.o: $(hdrdir)/ruby/internal/has/feature.h +set_len.o: $(hdrdir)/ruby/internal/has/warning.h +set_len.o: $(hdrdir)/ruby/internal/intern/array.h +set_len.o: $(hdrdir)/ruby/internal/intern/bignum.h +set_len.o: $(hdrdir)/ruby/internal/intern/class.h +set_len.o: $(hdrdir)/ruby/internal/intern/compar.h +set_len.o: $(hdrdir)/ruby/internal/intern/complex.h +set_len.o: $(hdrdir)/ruby/internal/intern/cont.h +set_len.o: $(hdrdir)/ruby/internal/intern/dir.h +set_len.o: $(hdrdir)/ruby/internal/intern/enum.h +set_len.o: $(hdrdir)/ruby/internal/intern/enumerator.h +set_len.o: $(hdrdir)/ruby/internal/intern/error.h +set_len.o: $(hdrdir)/ruby/internal/intern/eval.h +set_len.o: $(hdrdir)/ruby/internal/intern/file.h +set_len.o: $(hdrdir)/ruby/internal/intern/hash.h +set_len.o: $(hdrdir)/ruby/internal/intern/io.h +set_len.o: $(hdrdir)/ruby/internal/intern/load.h +set_len.o: $(hdrdir)/ruby/internal/intern/marshal.h +set_len.o: $(hdrdir)/ruby/internal/intern/numeric.h +set_len.o: $(hdrdir)/ruby/internal/intern/object.h +set_len.o: $(hdrdir)/ruby/internal/intern/parse.h +set_len.o: $(hdrdir)/ruby/internal/intern/proc.h +set_len.o: $(hdrdir)/ruby/internal/intern/process.h +set_len.o: $(hdrdir)/ruby/internal/intern/random.h +set_len.o: $(hdrdir)/ruby/internal/intern/range.h +set_len.o: $(hdrdir)/ruby/internal/intern/rational.h +set_len.o: $(hdrdir)/ruby/internal/intern/re.h +set_len.o: $(hdrdir)/ruby/internal/intern/ruby.h +set_len.o: $(hdrdir)/ruby/internal/intern/select.h +set_len.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +set_len.o: $(hdrdir)/ruby/internal/intern/set.h +set_len.o: $(hdrdir)/ruby/internal/intern/signal.h +set_len.o: $(hdrdir)/ruby/internal/intern/sprintf.h +set_len.o: $(hdrdir)/ruby/internal/intern/string.h +set_len.o: $(hdrdir)/ruby/internal/intern/struct.h +set_len.o: $(hdrdir)/ruby/internal/intern/thread.h +set_len.o: $(hdrdir)/ruby/internal/intern/time.h +set_len.o: $(hdrdir)/ruby/internal/intern/variable.h +set_len.o: $(hdrdir)/ruby/internal/intern/vm.h +set_len.o: $(hdrdir)/ruby/internal/interpreter.h +set_len.o: $(hdrdir)/ruby/internal/iterator.h +set_len.o: $(hdrdir)/ruby/internal/memory.h +set_len.o: $(hdrdir)/ruby/internal/method.h +set_len.o: $(hdrdir)/ruby/internal/module.h +set_len.o: $(hdrdir)/ruby/internal/newobj.h +set_len.o: $(hdrdir)/ruby/internal/scan_args.h +set_len.o: $(hdrdir)/ruby/internal/special_consts.h +set_len.o: $(hdrdir)/ruby/internal/static_assert.h +set_len.o: $(hdrdir)/ruby/internal/stdalign.h +set_len.o: $(hdrdir)/ruby/internal/stdbool.h +set_len.o: $(hdrdir)/ruby/internal/stdckdint.h +set_len.o: $(hdrdir)/ruby/internal/symbol.h +set_len.o: $(hdrdir)/ruby/internal/value.h +set_len.o: $(hdrdir)/ruby/internal/value_type.h +set_len.o: $(hdrdir)/ruby/internal/variable.h +set_len.o: $(hdrdir)/ruby/internal/warning_push.h +set_len.o: $(hdrdir)/ruby/internal/xmalloc.h +set_len.o: $(hdrdir)/ruby/missing.h +set_len.o: $(hdrdir)/ruby/ruby.h +set_len.o: $(hdrdir)/ruby/st.h +set_len.o: $(hdrdir)/ruby/subst.h +set_len.o: set_len.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/string/ellipsize.c b/ext/-test-/string/ellipsize.c new file mode 100644 index 0000000000..6034408724 --- /dev/null +++ b/ext/-test-/string/ellipsize.c @@ -0,0 +1,13 @@ +#include "ruby.h" + +static VALUE +bug_str_ellipsize(VALUE str, VALUE len) +{ + return rb_str_ellipsize(str, NUM2LONG(len)); +} + +void +Init_string_ellipsize(VALUE klass) +{ + rb_define_method(klass, "ellipsize", bug_str_ellipsize, 1); +} diff --git a/ext/-test-/string/enc_associate.c b/ext/-test-/string/enc_associate.c new file mode 100644 index 0000000000..594d8a43a4 --- /dev/null +++ b/ext/-test-/string/enc_associate.c @@ -0,0 +1,22 @@ +#include "ruby.h" +#include "ruby/encoding.h" + +VALUE +bug_str_enc_associate(VALUE str, VALUE enc) +{ + return rb_enc_associate(str, rb_to_encoding(enc)); +} + +VALUE +bug_str_encoding_index(VALUE self, VALUE str) +{ + int idx = rb_enc_get_index(str); + return INT2NUM(idx); +} + +void +Init_string_enc_associate(VALUE klass) +{ + rb_define_method(klass, "associate_encoding!", bug_str_enc_associate, 1); + rb_define_singleton_method(klass, "encoding_index", bug_str_encoding_index, 1); +} diff --git a/ext/-test-/string/enc_dummy.c b/ext/-test-/string/enc_dummy.c new file mode 100644 index 0000000000..4169552655 --- /dev/null +++ b/ext/-test-/string/enc_dummy.c @@ -0,0 +1,15 @@ +#include "ruby.h" +#include "ruby/encoding.h" + +VALUE +bug_rb_define_dummy_encoding(VALUE self, VALUE name) +{ + int idx = rb_define_dummy_encoding(RSTRING_PTR(name)); + return rb_enc_from_encoding(rb_enc_from_index(idx)); +} + +void +Init_string_enc_dummy(VALUE klass) +{ + rb_define_singleton_method(klass, "rb_define_dummy_encoding", bug_rb_define_dummy_encoding, 1); +} diff --git a/ext/-test-/string/enc_str_buf_cat.c b/ext/-test-/string/enc_str_buf_cat.c new file mode 100644 index 0000000000..4c1b262e1e --- /dev/null +++ b/ext/-test-/string/enc_str_buf_cat.c @@ -0,0 +1,28 @@ +#include "ruby/ruby.h" +#include "ruby/encoding.h" + +static VALUE +enc_str_buf_cat(VALUE str, VALUE str2) +{ + return rb_enc_str_buf_cat(str, RSTRING_PTR(str2), RSTRING_LEN(str2), rb_enc_get(str2)); +} + +static VALUE +str_conv_enc_opts(VALUE str, VALUE from, VALUE to, VALUE ecflags, VALUE ecopts) +{ + rb_encoding *from_enc = NIL_P(from) ? NULL : rb_to_encoding(from); + rb_encoding *to_enc = NIL_P(to) ? NULL : rb_to_encoding(to); + int flags = NUM2INT(ecflags); + if (!NIL_P(ecopts)) { + Check_Type(ecopts, T_HASH); + OBJ_FREEZE(ecopts); + } + return rb_str_conv_enc_opts(str, from_enc, to_enc, flags, ecopts); +} + +void +Init_string_enc_str_buf_cat(VALUE klass) +{ + rb_define_method(klass, "enc_str_buf_cat", enc_str_buf_cat, 1); + rb_define_method(klass, "str_conv_enc_opts", str_conv_enc_opts, 4); +} diff --git a/ext/-test-/string/extconf.rb b/ext/-test-/string/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/string/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/string/fstring.c b/ext/-test-/string/fstring.c new file mode 100644 index 0000000000..0b5940f28c --- /dev/null +++ b/ext/-test-/string/fstring.c @@ -0,0 +1,38 @@ +#include "ruby.h" +#include "ruby/encoding.h" +#include "internal/string.h" + +VALUE +bug_s_fstring(VALUE self, VALUE str) +{ + return rb_str_to_interned_str(str); +} + +VALUE +bug_s_fstring_fake_str(VALUE self) +{ + static const char literal[] = "abcdefghijklmnopqrstuvwxyz"; + struct RString fake_str = {RBASIC_INIT}; + return rb_str_to_interned_str(rb_setup_fake_str(&fake_str, literal, sizeof(literal) - 1, 0)); +} + +VALUE +bug_s_rb_enc_interned_str(VALUE self, VALUE encoding) +{ + return rb_enc_interned_str("foo", 3, NIL_P(encoding) ? NULL : RTYPEDDATA_GET_DATA(encoding)); +} + +VALUE +bug_s_rb_enc_str_new(VALUE self, VALUE encoding) +{ + return rb_enc_str_new("foo", 3, NIL_P(encoding) ? NULL : RTYPEDDATA_GET_DATA(encoding)); +} + +void +Init_string_fstring(VALUE klass) +{ + rb_define_singleton_method(klass, "fstring", bug_s_fstring, 1); + rb_define_singleton_method(klass, "fstring_fake_str", bug_s_fstring_fake_str, 0); + rb_define_singleton_method(klass, "rb_enc_interned_str", bug_s_rb_enc_interned_str, 1); + rb_define_singleton_method(klass, "rb_enc_str_new", bug_s_rb_enc_str_new, 1); +} diff --git a/ext/-test-/string/init.c b/ext/-test-/string/init.c new file mode 100644 index 0000000000..a74245c8d7 --- /dev/null +++ b/ext/-test-/string/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_string_##n(VALUE klass); Init_string_##n(klass);} + +void +Init_string(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "String", rb_cString); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/string/modify.c b/ext/-test-/string/modify.c new file mode 100644 index 0000000000..945febc7e3 --- /dev/null +++ b/ext/-test-/string/modify.c @@ -0,0 +1,22 @@ +#include "ruby.h" + +VALUE +bug_str_modify(VALUE str) +{ + rb_str_modify(str); + return str; +} + +VALUE +bug_str_modify_expand(VALUE str, VALUE expand) +{ + rb_str_modify_expand(str, NUM2LONG(expand)); + return str; +} + +void +Init_string_modify(VALUE klass) +{ + rb_define_method(klass, "modify!", bug_str_modify, 0); + rb_define_method(klass, "modify_expand!", bug_str_modify_expand, 1); +} diff --git a/ext/-test-/string/new.c b/ext/-test-/string/new.c new file mode 100644 index 0000000000..60625b8300 --- /dev/null +++ b/ext/-test-/string/new.c @@ -0,0 +1,21 @@ +#include "ruby.h" +#include "ruby/encoding.h" + +static VALUE +bug_str_buf_new(VALUE self, VALUE len) +{ + return rb_str_buf_new(NUM2LONG(len)); +} + +static VALUE +bug_external_str_new(VALUE self, VALUE len, VALUE enc) +{ + return rb_external_str_new_with_enc(NULL, NUM2LONG(len), rb_to_encoding(enc)); +} + +void +Init_string_new(VALUE klass) +{ + rb_define_singleton_method(klass, "buf_new", bug_str_buf_new, 1); + rb_define_singleton_method(klass, "external_new", bug_external_str_new, 2); +} diff --git a/ext/-test-/string/nofree.c b/ext/-test-/string/nofree.c new file mode 100644 index 0000000000..fdf810c741 --- /dev/null +++ b/ext/-test-/string/nofree.c @@ -0,0 +1,13 @@ +#include "ruby.h" + +VALUE +bug_str_nofree(VALUE self) +{ + return rb_str_new_cstr("abcdef"); +} + +void +Init_string_nofree(VALUE klass) +{ + rb_define_singleton_method(klass, "nofree", bug_str_nofree, 0); +} diff --git a/ext/-test-/string/normalize.c b/ext/-test-/string/normalize.c new file mode 100644 index 0000000000..a069288ee8 --- /dev/null +++ b/ext/-test-/string/normalize.c @@ -0,0 +1,17 @@ +#include "internal/file.h" + +#ifdef __APPLE__ +static VALUE +normalize_ospath(VALUE str) +{ + return rb_str_normalize_ospath(RSTRING_PTR(str), RSTRING_LEN(str)); +} +#else +#define normalize_ospath rb_f_notimplement +#endif + +void +Init_string_normalize(VALUE klass) +{ + rb_define_method(klass, "normalize_ospath", normalize_ospath, 0); +} diff --git a/ext/-test-/string/qsort.c b/ext/-test-/string/qsort.c new file mode 100644 index 0000000000..4a641e74e3 --- /dev/null +++ b/ext/-test-/string/qsort.c @@ -0,0 +1,61 @@ +#include "ruby.h" +#include "ruby/util.h" +#include "ruby/encoding.h" + +struct sort_data { + rb_encoding *enc; + long elsize; +}; + +static int +cmp_1(const void *ap, const void *bp, void *dummy) +{ + struct sort_data *d = dummy; + VALUE a = rb_enc_str_new(ap, d->elsize, d->enc); + VALUE b = rb_enc_str_new(bp, d->elsize, d->enc); + VALUE retval = rb_yield_values(2, a, b); + return rb_cmpint(retval, a, b); +} + +static int +cmp_2(const void *ap, const void *bp, void *dummy) +{ + int a = *(const unsigned char *)ap; + int b = *(const unsigned char *)bp; + return a - b; +} + +static VALUE +bug_str_qsort_bang(int argc, VALUE *argv, VALUE str) +{ + VALUE beg, len, size; + long l, b = 0, n, s = 1; + struct sort_data d; + + rb_scan_args(argc, argv, "03", &beg, &len, &size); + l = RSTRING_LEN(str); + if (!NIL_P(beg) && (b = NUM2INT(beg)) < 0 && (b += l) < 0) { + rb_raise(rb_eArgError, "out of bounds"); + } + if (!NIL_P(size) && (s = NUM2INT(size)) < 0) { + rb_raise(rb_eArgError, "negative size"); + } + if (NIL_P(len) || + (((n = NUM2INT(len)) < 0) ? + (rb_raise(rb_eArgError, "negative length"), 0) : + (b + n * s > l))) { + n = (l - b) / s; + } + rb_str_modify(str); + d.enc = rb_enc_get(str); + d.elsize = s; + ruby_qsort(RSTRING_PTR(str) + b, n, s, + rb_block_given_p() ? cmp_1 : cmp_2, &d); + return str; +} + +void +Init_string_qsort(VALUE klass) +{ + rb_define_method(klass, "qsort!", bug_str_qsort_bang, -1); +} diff --git a/ext/-test-/string/rb_interned_str.c b/ext/-test-/string/rb_interned_str.c new file mode 100644 index 0000000000..47643ec249 --- /dev/null +++ b/ext/-test-/string/rb_interned_str.c @@ -0,0 +1,14 @@ +#include "ruby.h" + +static VALUE +bug_rb_interned_str_dup(VALUE self, VALUE str) +{ + Check_Type(str, T_STRING); + return rb_interned_str(RSTRING_PTR(str), RSTRING_LEN(str)); +} + +void +Init_string_rb_interned_str(VALUE klass) +{ + rb_define_singleton_method(klass, "rb_interned_str_dup", bug_rb_interned_str_dup, 1); +} diff --git a/ext/-test-/string/rb_str_dup.c b/ext/-test-/string/rb_str_dup.c new file mode 100644 index 0000000000..a0bd65820f --- /dev/null +++ b/ext/-test-/string/rb_str_dup.c @@ -0,0 +1,35 @@ +#include "ruby.h" + +VALUE rb_str_dup(VALUE str); + +static VALUE +bug_rb_str_dup(VALUE self, VALUE str) +{ + rb_check_type(str, T_STRING); + return rb_str_dup(str); +} + +static VALUE +bug_shared_string_p(VALUE self, VALUE str) +{ + rb_check_type(str, T_STRING); + return RB_FL_TEST(str, RUBY_ELTS_SHARED) && RB_FL_TEST(str, RSTRING_NOEMBED) ? Qtrue : Qfalse; +} + +static VALUE +bug_sharing_with_shared_p(VALUE self, VALUE str) +{ + rb_check_type(str, T_STRING); + if (bug_shared_string_p(self, str)) { + return bug_shared_string_p(self, RSTRING(str)->as.heap.aux.shared); + } + return Qfalse; +} + +void +Init_string_rb_str_dup(VALUE klass) +{ + rb_define_singleton_method(klass, "rb_str_dup", bug_rb_str_dup, 1); + rb_define_singleton_method(klass, "shared_string?", bug_shared_string_p, 1); + rb_define_singleton_method(klass, "sharing_with_shared?", bug_sharing_with_shared_p, 1); +} diff --git a/ext/-test-/string/set_len.c b/ext/-test-/string/set_len.c new file mode 100644 index 0000000000..b55ef6f469 --- /dev/null +++ b/ext/-test-/string/set_len.c @@ -0,0 +1,32 @@ +#include "ruby.h" + +static VALUE +bug_str_set_len(VALUE str, VALUE len) +{ + rb_str_set_len(str, NUM2LONG(len)); + return str; +} + +static VALUE +bug_str_append(VALUE str, VALUE addendum) +{ + StringValue(addendum); + rb_str_modify_expand(str, RSTRING_LEN(addendum)); + memcpy(RSTRING_END(str), RSTRING_PTR(addendum), RSTRING_LEN(addendum)); + return str; +} + +static VALUE +bug_str_resize(VALUE str, VALUE len) +{ + rb_str_resize(str, NUM2LONG(len)); + return str; +} + +void +Init_string_set_len(VALUE klass) +{ + rb_define_method(klass, "set_len", bug_str_set_len, 1); + rb_define_method(klass, "append", bug_str_append, 1); + rb_define_method(klass, "resize", bug_str_resize, 1); +} diff --git a/ext/-test-/struct/data.c b/ext/-test-/struct/data.c new file mode 100644 index 0000000000..5841c342e7 --- /dev/null +++ b/ext/-test-/struct/data.c @@ -0,0 +1,13 @@ +#include "ruby.h" + +static VALUE +bug_data_new(VALUE self, VALUE super) +{ + return rb_data_define(super, "mem1", "mem2", NULL); +} + +void +Init_data(VALUE klass) +{ + rb_define_singleton_method(klass, "data_new", bug_data_new, 1); +} diff --git a/ext/-test-/struct/depend b/ext/-test-/struct/depend new file mode 100644 index 0000000000..e2638e4cdf --- /dev/null +++ b/ext/-test-/struct/depend @@ -0,0 +1,807 @@ +# AUTOGENERATED DEPENDENCIES START +data.o: $(RUBY_EXTCONF_H) +data.o: $(arch_hdrdir)/ruby/config.h +data.o: $(hdrdir)/ruby.h +data.o: $(hdrdir)/ruby/assert.h +data.o: $(hdrdir)/ruby/backward.h +data.o: $(hdrdir)/ruby/backward/2/assume.h +data.o: $(hdrdir)/ruby/backward/2/attributes.h +data.o: $(hdrdir)/ruby/backward/2/bool.h +data.o: $(hdrdir)/ruby/backward/2/inttypes.h +data.o: $(hdrdir)/ruby/backward/2/limits.h +data.o: $(hdrdir)/ruby/backward/2/long_long.h +data.o: $(hdrdir)/ruby/backward/2/stdalign.h +data.o: $(hdrdir)/ruby/backward/2/stdarg.h +data.o: $(hdrdir)/ruby/defines.h +data.o: $(hdrdir)/ruby/intern.h +data.o: $(hdrdir)/ruby/internal/abi.h +data.o: $(hdrdir)/ruby/internal/anyargs.h +data.o: $(hdrdir)/ruby/internal/arithmetic.h +data.o: $(hdrdir)/ruby/internal/arithmetic/char.h +data.o: $(hdrdir)/ruby/internal/arithmetic/double.h +data.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +data.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/int.h +data.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/long.h +data.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +data.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/short.h +data.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +data.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +data.o: $(hdrdir)/ruby/internal/assume.h +data.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +data.o: $(hdrdir)/ruby/internal/attr/artificial.h +data.o: $(hdrdir)/ruby/internal/attr/cold.h +data.o: $(hdrdir)/ruby/internal/attr/const.h +data.o: $(hdrdir)/ruby/internal/attr/constexpr.h +data.o: $(hdrdir)/ruby/internal/attr/deprecated.h +data.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +data.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +data.o: $(hdrdir)/ruby/internal/attr/error.h +data.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +data.o: $(hdrdir)/ruby/internal/attr/forceinline.h +data.o: $(hdrdir)/ruby/internal/attr/format.h +data.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +data.o: $(hdrdir)/ruby/internal/attr/noalias.h +data.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +data.o: $(hdrdir)/ruby/internal/attr/noexcept.h +data.o: $(hdrdir)/ruby/internal/attr/noinline.h +data.o: $(hdrdir)/ruby/internal/attr/nonnull.h +data.o: $(hdrdir)/ruby/internal/attr/noreturn.h +data.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +data.o: $(hdrdir)/ruby/internal/attr/pure.h +data.o: $(hdrdir)/ruby/internal/attr/restrict.h +data.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +data.o: $(hdrdir)/ruby/internal/attr/warning.h +data.o: $(hdrdir)/ruby/internal/attr/weakref.h +data.o: $(hdrdir)/ruby/internal/cast.h +data.o: $(hdrdir)/ruby/internal/compiler_is.h +data.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +data.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +data.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +data.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +data.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +data.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +data.o: $(hdrdir)/ruby/internal/compiler_since.h +data.o: $(hdrdir)/ruby/internal/config.h +data.o: $(hdrdir)/ruby/internal/constant_p.h +data.o: $(hdrdir)/ruby/internal/core.h +data.o: $(hdrdir)/ruby/internal/core/rarray.h +data.o: $(hdrdir)/ruby/internal/core/rbasic.h +data.o: $(hdrdir)/ruby/internal/core/rbignum.h +data.o: $(hdrdir)/ruby/internal/core/rclass.h +data.o: $(hdrdir)/ruby/internal/core/rdata.h +data.o: $(hdrdir)/ruby/internal/core/rfile.h +data.o: $(hdrdir)/ruby/internal/core/rhash.h +data.o: $(hdrdir)/ruby/internal/core/robject.h +data.o: $(hdrdir)/ruby/internal/core/rregexp.h +data.o: $(hdrdir)/ruby/internal/core/rstring.h +data.o: $(hdrdir)/ruby/internal/core/rstruct.h +data.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +data.o: $(hdrdir)/ruby/internal/ctype.h +data.o: $(hdrdir)/ruby/internal/dllexport.h +data.o: $(hdrdir)/ruby/internal/dosish.h +data.o: $(hdrdir)/ruby/internal/error.h +data.o: $(hdrdir)/ruby/internal/eval.h +data.o: $(hdrdir)/ruby/internal/event.h +data.o: $(hdrdir)/ruby/internal/fl_type.h +data.o: $(hdrdir)/ruby/internal/gc.h +data.o: $(hdrdir)/ruby/internal/glob.h +data.o: $(hdrdir)/ruby/internal/globals.h +data.o: $(hdrdir)/ruby/internal/has/attribute.h +data.o: $(hdrdir)/ruby/internal/has/builtin.h +data.o: $(hdrdir)/ruby/internal/has/c_attribute.h +data.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +data.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +data.o: $(hdrdir)/ruby/internal/has/extension.h +data.o: $(hdrdir)/ruby/internal/has/feature.h +data.o: $(hdrdir)/ruby/internal/has/warning.h +data.o: $(hdrdir)/ruby/internal/intern/array.h +data.o: $(hdrdir)/ruby/internal/intern/bignum.h +data.o: $(hdrdir)/ruby/internal/intern/class.h +data.o: $(hdrdir)/ruby/internal/intern/compar.h +data.o: $(hdrdir)/ruby/internal/intern/complex.h +data.o: $(hdrdir)/ruby/internal/intern/cont.h +data.o: $(hdrdir)/ruby/internal/intern/dir.h +data.o: $(hdrdir)/ruby/internal/intern/enum.h +data.o: $(hdrdir)/ruby/internal/intern/enumerator.h +data.o: $(hdrdir)/ruby/internal/intern/error.h +data.o: $(hdrdir)/ruby/internal/intern/eval.h +data.o: $(hdrdir)/ruby/internal/intern/file.h +data.o: $(hdrdir)/ruby/internal/intern/hash.h +data.o: $(hdrdir)/ruby/internal/intern/io.h +data.o: $(hdrdir)/ruby/internal/intern/load.h +data.o: $(hdrdir)/ruby/internal/intern/marshal.h +data.o: $(hdrdir)/ruby/internal/intern/numeric.h +data.o: $(hdrdir)/ruby/internal/intern/object.h +data.o: $(hdrdir)/ruby/internal/intern/parse.h +data.o: $(hdrdir)/ruby/internal/intern/proc.h +data.o: $(hdrdir)/ruby/internal/intern/process.h +data.o: $(hdrdir)/ruby/internal/intern/random.h +data.o: $(hdrdir)/ruby/internal/intern/range.h +data.o: $(hdrdir)/ruby/internal/intern/rational.h +data.o: $(hdrdir)/ruby/internal/intern/re.h +data.o: $(hdrdir)/ruby/internal/intern/ruby.h +data.o: $(hdrdir)/ruby/internal/intern/select.h +data.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +data.o: $(hdrdir)/ruby/internal/intern/set.h +data.o: $(hdrdir)/ruby/internal/intern/signal.h +data.o: $(hdrdir)/ruby/internal/intern/sprintf.h +data.o: $(hdrdir)/ruby/internal/intern/string.h +data.o: $(hdrdir)/ruby/internal/intern/struct.h +data.o: $(hdrdir)/ruby/internal/intern/thread.h +data.o: $(hdrdir)/ruby/internal/intern/time.h +data.o: $(hdrdir)/ruby/internal/intern/variable.h +data.o: $(hdrdir)/ruby/internal/intern/vm.h +data.o: $(hdrdir)/ruby/internal/interpreter.h +data.o: $(hdrdir)/ruby/internal/iterator.h +data.o: $(hdrdir)/ruby/internal/memory.h +data.o: $(hdrdir)/ruby/internal/method.h +data.o: $(hdrdir)/ruby/internal/module.h +data.o: $(hdrdir)/ruby/internal/newobj.h +data.o: $(hdrdir)/ruby/internal/scan_args.h +data.o: $(hdrdir)/ruby/internal/special_consts.h +data.o: $(hdrdir)/ruby/internal/static_assert.h +data.o: $(hdrdir)/ruby/internal/stdalign.h +data.o: $(hdrdir)/ruby/internal/stdbool.h +data.o: $(hdrdir)/ruby/internal/stdckdint.h +data.o: $(hdrdir)/ruby/internal/symbol.h +data.o: $(hdrdir)/ruby/internal/value.h +data.o: $(hdrdir)/ruby/internal/value_type.h +data.o: $(hdrdir)/ruby/internal/variable.h +data.o: $(hdrdir)/ruby/internal/warning_push.h +data.o: $(hdrdir)/ruby/internal/xmalloc.h +data.o: $(hdrdir)/ruby/missing.h +data.o: $(hdrdir)/ruby/ruby.h +data.o: $(hdrdir)/ruby/st.h +data.o: $(hdrdir)/ruby/subst.h +data.o: data.c +duplicate.o: $(RUBY_EXTCONF_H) +duplicate.o: $(arch_hdrdir)/ruby/config.h +duplicate.o: $(hdrdir)/ruby.h +duplicate.o: $(hdrdir)/ruby/assert.h +duplicate.o: $(hdrdir)/ruby/backward.h +duplicate.o: $(hdrdir)/ruby/backward/2/assume.h +duplicate.o: $(hdrdir)/ruby/backward/2/attributes.h +duplicate.o: $(hdrdir)/ruby/backward/2/bool.h +duplicate.o: $(hdrdir)/ruby/backward/2/inttypes.h +duplicate.o: $(hdrdir)/ruby/backward/2/limits.h +duplicate.o: $(hdrdir)/ruby/backward/2/long_long.h +duplicate.o: $(hdrdir)/ruby/backward/2/stdalign.h +duplicate.o: $(hdrdir)/ruby/backward/2/stdarg.h +duplicate.o: $(hdrdir)/ruby/defines.h +duplicate.o: $(hdrdir)/ruby/intern.h +duplicate.o: $(hdrdir)/ruby/internal/abi.h +duplicate.o: $(hdrdir)/ruby/internal/anyargs.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/char.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/double.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/int.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/long.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/short.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +duplicate.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +duplicate.o: $(hdrdir)/ruby/internal/assume.h +duplicate.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +duplicate.o: $(hdrdir)/ruby/internal/attr/artificial.h +duplicate.o: $(hdrdir)/ruby/internal/attr/cold.h +duplicate.o: $(hdrdir)/ruby/internal/attr/const.h +duplicate.o: $(hdrdir)/ruby/internal/attr/constexpr.h +duplicate.o: $(hdrdir)/ruby/internal/attr/deprecated.h +duplicate.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +duplicate.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +duplicate.o: $(hdrdir)/ruby/internal/attr/error.h +duplicate.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +duplicate.o: $(hdrdir)/ruby/internal/attr/forceinline.h +duplicate.o: $(hdrdir)/ruby/internal/attr/format.h +duplicate.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +duplicate.o: $(hdrdir)/ruby/internal/attr/noalias.h +duplicate.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +duplicate.o: $(hdrdir)/ruby/internal/attr/noexcept.h +duplicate.o: $(hdrdir)/ruby/internal/attr/noinline.h +duplicate.o: $(hdrdir)/ruby/internal/attr/nonnull.h +duplicate.o: $(hdrdir)/ruby/internal/attr/noreturn.h +duplicate.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +duplicate.o: $(hdrdir)/ruby/internal/attr/pure.h +duplicate.o: $(hdrdir)/ruby/internal/attr/restrict.h +duplicate.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +duplicate.o: $(hdrdir)/ruby/internal/attr/warning.h +duplicate.o: $(hdrdir)/ruby/internal/attr/weakref.h +duplicate.o: $(hdrdir)/ruby/internal/cast.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +duplicate.o: $(hdrdir)/ruby/internal/compiler_since.h +duplicate.o: $(hdrdir)/ruby/internal/config.h +duplicate.o: $(hdrdir)/ruby/internal/constant_p.h +duplicate.o: $(hdrdir)/ruby/internal/core.h +duplicate.o: $(hdrdir)/ruby/internal/core/rarray.h +duplicate.o: $(hdrdir)/ruby/internal/core/rbasic.h +duplicate.o: $(hdrdir)/ruby/internal/core/rbignum.h +duplicate.o: $(hdrdir)/ruby/internal/core/rclass.h +duplicate.o: $(hdrdir)/ruby/internal/core/rdata.h +duplicate.o: $(hdrdir)/ruby/internal/core/rfile.h +duplicate.o: $(hdrdir)/ruby/internal/core/rhash.h +duplicate.o: $(hdrdir)/ruby/internal/core/robject.h +duplicate.o: $(hdrdir)/ruby/internal/core/rregexp.h +duplicate.o: $(hdrdir)/ruby/internal/core/rstring.h +duplicate.o: $(hdrdir)/ruby/internal/core/rstruct.h +duplicate.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +duplicate.o: $(hdrdir)/ruby/internal/ctype.h +duplicate.o: $(hdrdir)/ruby/internal/dllexport.h +duplicate.o: $(hdrdir)/ruby/internal/dosish.h +duplicate.o: $(hdrdir)/ruby/internal/error.h +duplicate.o: $(hdrdir)/ruby/internal/eval.h +duplicate.o: $(hdrdir)/ruby/internal/event.h +duplicate.o: $(hdrdir)/ruby/internal/fl_type.h +duplicate.o: $(hdrdir)/ruby/internal/gc.h +duplicate.o: $(hdrdir)/ruby/internal/glob.h +duplicate.o: $(hdrdir)/ruby/internal/globals.h +duplicate.o: $(hdrdir)/ruby/internal/has/attribute.h +duplicate.o: $(hdrdir)/ruby/internal/has/builtin.h +duplicate.o: $(hdrdir)/ruby/internal/has/c_attribute.h +duplicate.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +duplicate.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +duplicate.o: $(hdrdir)/ruby/internal/has/extension.h +duplicate.o: $(hdrdir)/ruby/internal/has/feature.h +duplicate.o: $(hdrdir)/ruby/internal/has/warning.h +duplicate.o: $(hdrdir)/ruby/internal/intern/array.h +duplicate.o: $(hdrdir)/ruby/internal/intern/bignum.h +duplicate.o: $(hdrdir)/ruby/internal/intern/class.h +duplicate.o: $(hdrdir)/ruby/internal/intern/compar.h +duplicate.o: $(hdrdir)/ruby/internal/intern/complex.h +duplicate.o: $(hdrdir)/ruby/internal/intern/cont.h +duplicate.o: $(hdrdir)/ruby/internal/intern/dir.h +duplicate.o: $(hdrdir)/ruby/internal/intern/enum.h +duplicate.o: $(hdrdir)/ruby/internal/intern/enumerator.h +duplicate.o: $(hdrdir)/ruby/internal/intern/error.h +duplicate.o: $(hdrdir)/ruby/internal/intern/eval.h +duplicate.o: $(hdrdir)/ruby/internal/intern/file.h +duplicate.o: $(hdrdir)/ruby/internal/intern/hash.h +duplicate.o: $(hdrdir)/ruby/internal/intern/io.h +duplicate.o: $(hdrdir)/ruby/internal/intern/load.h +duplicate.o: $(hdrdir)/ruby/internal/intern/marshal.h +duplicate.o: $(hdrdir)/ruby/internal/intern/numeric.h +duplicate.o: $(hdrdir)/ruby/internal/intern/object.h +duplicate.o: $(hdrdir)/ruby/internal/intern/parse.h +duplicate.o: $(hdrdir)/ruby/internal/intern/proc.h +duplicate.o: $(hdrdir)/ruby/internal/intern/process.h +duplicate.o: $(hdrdir)/ruby/internal/intern/random.h +duplicate.o: $(hdrdir)/ruby/internal/intern/range.h +duplicate.o: $(hdrdir)/ruby/internal/intern/rational.h +duplicate.o: $(hdrdir)/ruby/internal/intern/re.h +duplicate.o: $(hdrdir)/ruby/internal/intern/ruby.h +duplicate.o: $(hdrdir)/ruby/internal/intern/select.h +duplicate.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +duplicate.o: $(hdrdir)/ruby/internal/intern/set.h +duplicate.o: $(hdrdir)/ruby/internal/intern/signal.h +duplicate.o: $(hdrdir)/ruby/internal/intern/sprintf.h +duplicate.o: $(hdrdir)/ruby/internal/intern/string.h +duplicate.o: $(hdrdir)/ruby/internal/intern/struct.h +duplicate.o: $(hdrdir)/ruby/internal/intern/thread.h +duplicate.o: $(hdrdir)/ruby/internal/intern/time.h +duplicate.o: $(hdrdir)/ruby/internal/intern/variable.h +duplicate.o: $(hdrdir)/ruby/internal/intern/vm.h +duplicate.o: $(hdrdir)/ruby/internal/interpreter.h +duplicate.o: $(hdrdir)/ruby/internal/iterator.h +duplicate.o: $(hdrdir)/ruby/internal/memory.h +duplicate.o: $(hdrdir)/ruby/internal/method.h +duplicate.o: $(hdrdir)/ruby/internal/module.h +duplicate.o: $(hdrdir)/ruby/internal/newobj.h +duplicate.o: $(hdrdir)/ruby/internal/scan_args.h +duplicate.o: $(hdrdir)/ruby/internal/special_consts.h +duplicate.o: $(hdrdir)/ruby/internal/static_assert.h +duplicate.o: $(hdrdir)/ruby/internal/stdalign.h +duplicate.o: $(hdrdir)/ruby/internal/stdbool.h +duplicate.o: $(hdrdir)/ruby/internal/stdckdint.h +duplicate.o: $(hdrdir)/ruby/internal/symbol.h +duplicate.o: $(hdrdir)/ruby/internal/value.h +duplicate.o: $(hdrdir)/ruby/internal/value_type.h +duplicate.o: $(hdrdir)/ruby/internal/variable.h +duplicate.o: $(hdrdir)/ruby/internal/warning_push.h +duplicate.o: $(hdrdir)/ruby/internal/xmalloc.h +duplicate.o: $(hdrdir)/ruby/missing.h +duplicate.o: $(hdrdir)/ruby/ruby.h +duplicate.o: $(hdrdir)/ruby/st.h +duplicate.o: $(hdrdir)/ruby/subst.h +duplicate.o: duplicate.c +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +len.o: $(RUBY_EXTCONF_H) +len.o: $(arch_hdrdir)/ruby/config.h +len.o: $(hdrdir)/ruby.h +len.o: $(hdrdir)/ruby/assert.h +len.o: $(hdrdir)/ruby/backward.h +len.o: $(hdrdir)/ruby/backward/2/assume.h +len.o: $(hdrdir)/ruby/backward/2/attributes.h +len.o: $(hdrdir)/ruby/backward/2/bool.h +len.o: $(hdrdir)/ruby/backward/2/inttypes.h +len.o: $(hdrdir)/ruby/backward/2/limits.h +len.o: $(hdrdir)/ruby/backward/2/long_long.h +len.o: $(hdrdir)/ruby/backward/2/stdalign.h +len.o: $(hdrdir)/ruby/backward/2/stdarg.h +len.o: $(hdrdir)/ruby/defines.h +len.o: $(hdrdir)/ruby/intern.h +len.o: $(hdrdir)/ruby/internal/abi.h +len.o: $(hdrdir)/ruby/internal/anyargs.h +len.o: $(hdrdir)/ruby/internal/arithmetic.h +len.o: $(hdrdir)/ruby/internal/arithmetic/char.h +len.o: $(hdrdir)/ruby/internal/arithmetic/double.h +len.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +len.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/int.h +len.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/long.h +len.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +len.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/short.h +len.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +len.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +len.o: $(hdrdir)/ruby/internal/assume.h +len.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +len.o: $(hdrdir)/ruby/internal/attr/artificial.h +len.o: $(hdrdir)/ruby/internal/attr/cold.h +len.o: $(hdrdir)/ruby/internal/attr/const.h +len.o: $(hdrdir)/ruby/internal/attr/constexpr.h +len.o: $(hdrdir)/ruby/internal/attr/deprecated.h +len.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +len.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +len.o: $(hdrdir)/ruby/internal/attr/error.h +len.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +len.o: $(hdrdir)/ruby/internal/attr/forceinline.h +len.o: $(hdrdir)/ruby/internal/attr/format.h +len.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +len.o: $(hdrdir)/ruby/internal/attr/noalias.h +len.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +len.o: $(hdrdir)/ruby/internal/attr/noexcept.h +len.o: $(hdrdir)/ruby/internal/attr/noinline.h +len.o: $(hdrdir)/ruby/internal/attr/nonnull.h +len.o: $(hdrdir)/ruby/internal/attr/noreturn.h +len.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +len.o: $(hdrdir)/ruby/internal/attr/pure.h +len.o: $(hdrdir)/ruby/internal/attr/restrict.h +len.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +len.o: $(hdrdir)/ruby/internal/attr/warning.h +len.o: $(hdrdir)/ruby/internal/attr/weakref.h +len.o: $(hdrdir)/ruby/internal/cast.h +len.o: $(hdrdir)/ruby/internal/compiler_is.h +len.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +len.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +len.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +len.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +len.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +len.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +len.o: $(hdrdir)/ruby/internal/compiler_since.h +len.o: $(hdrdir)/ruby/internal/config.h +len.o: $(hdrdir)/ruby/internal/constant_p.h +len.o: $(hdrdir)/ruby/internal/core.h +len.o: $(hdrdir)/ruby/internal/core/rarray.h +len.o: $(hdrdir)/ruby/internal/core/rbasic.h +len.o: $(hdrdir)/ruby/internal/core/rbignum.h +len.o: $(hdrdir)/ruby/internal/core/rclass.h +len.o: $(hdrdir)/ruby/internal/core/rdata.h +len.o: $(hdrdir)/ruby/internal/core/rfile.h +len.o: $(hdrdir)/ruby/internal/core/rhash.h +len.o: $(hdrdir)/ruby/internal/core/robject.h +len.o: $(hdrdir)/ruby/internal/core/rregexp.h +len.o: $(hdrdir)/ruby/internal/core/rstring.h +len.o: $(hdrdir)/ruby/internal/core/rstruct.h +len.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +len.o: $(hdrdir)/ruby/internal/ctype.h +len.o: $(hdrdir)/ruby/internal/dllexport.h +len.o: $(hdrdir)/ruby/internal/dosish.h +len.o: $(hdrdir)/ruby/internal/error.h +len.o: $(hdrdir)/ruby/internal/eval.h +len.o: $(hdrdir)/ruby/internal/event.h +len.o: $(hdrdir)/ruby/internal/fl_type.h +len.o: $(hdrdir)/ruby/internal/gc.h +len.o: $(hdrdir)/ruby/internal/glob.h +len.o: $(hdrdir)/ruby/internal/globals.h +len.o: $(hdrdir)/ruby/internal/has/attribute.h +len.o: $(hdrdir)/ruby/internal/has/builtin.h +len.o: $(hdrdir)/ruby/internal/has/c_attribute.h +len.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +len.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +len.o: $(hdrdir)/ruby/internal/has/extension.h +len.o: $(hdrdir)/ruby/internal/has/feature.h +len.o: $(hdrdir)/ruby/internal/has/warning.h +len.o: $(hdrdir)/ruby/internal/intern/array.h +len.o: $(hdrdir)/ruby/internal/intern/bignum.h +len.o: $(hdrdir)/ruby/internal/intern/class.h +len.o: $(hdrdir)/ruby/internal/intern/compar.h +len.o: $(hdrdir)/ruby/internal/intern/complex.h +len.o: $(hdrdir)/ruby/internal/intern/cont.h +len.o: $(hdrdir)/ruby/internal/intern/dir.h +len.o: $(hdrdir)/ruby/internal/intern/enum.h +len.o: $(hdrdir)/ruby/internal/intern/enumerator.h +len.o: $(hdrdir)/ruby/internal/intern/error.h +len.o: $(hdrdir)/ruby/internal/intern/eval.h +len.o: $(hdrdir)/ruby/internal/intern/file.h +len.o: $(hdrdir)/ruby/internal/intern/hash.h +len.o: $(hdrdir)/ruby/internal/intern/io.h +len.o: $(hdrdir)/ruby/internal/intern/load.h +len.o: $(hdrdir)/ruby/internal/intern/marshal.h +len.o: $(hdrdir)/ruby/internal/intern/numeric.h +len.o: $(hdrdir)/ruby/internal/intern/object.h +len.o: $(hdrdir)/ruby/internal/intern/parse.h +len.o: $(hdrdir)/ruby/internal/intern/proc.h +len.o: $(hdrdir)/ruby/internal/intern/process.h +len.o: $(hdrdir)/ruby/internal/intern/random.h +len.o: $(hdrdir)/ruby/internal/intern/range.h +len.o: $(hdrdir)/ruby/internal/intern/rational.h +len.o: $(hdrdir)/ruby/internal/intern/re.h +len.o: $(hdrdir)/ruby/internal/intern/ruby.h +len.o: $(hdrdir)/ruby/internal/intern/select.h +len.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +len.o: $(hdrdir)/ruby/internal/intern/set.h +len.o: $(hdrdir)/ruby/internal/intern/signal.h +len.o: $(hdrdir)/ruby/internal/intern/sprintf.h +len.o: $(hdrdir)/ruby/internal/intern/string.h +len.o: $(hdrdir)/ruby/internal/intern/struct.h +len.o: $(hdrdir)/ruby/internal/intern/thread.h +len.o: $(hdrdir)/ruby/internal/intern/time.h +len.o: $(hdrdir)/ruby/internal/intern/variable.h +len.o: $(hdrdir)/ruby/internal/intern/vm.h +len.o: $(hdrdir)/ruby/internal/interpreter.h +len.o: $(hdrdir)/ruby/internal/iterator.h +len.o: $(hdrdir)/ruby/internal/memory.h +len.o: $(hdrdir)/ruby/internal/method.h +len.o: $(hdrdir)/ruby/internal/module.h +len.o: $(hdrdir)/ruby/internal/newobj.h +len.o: $(hdrdir)/ruby/internal/scan_args.h +len.o: $(hdrdir)/ruby/internal/special_consts.h +len.o: $(hdrdir)/ruby/internal/static_assert.h +len.o: $(hdrdir)/ruby/internal/stdalign.h +len.o: $(hdrdir)/ruby/internal/stdbool.h +len.o: $(hdrdir)/ruby/internal/stdckdint.h +len.o: $(hdrdir)/ruby/internal/symbol.h +len.o: $(hdrdir)/ruby/internal/value.h +len.o: $(hdrdir)/ruby/internal/value_type.h +len.o: $(hdrdir)/ruby/internal/variable.h +len.o: $(hdrdir)/ruby/internal/warning_push.h +len.o: $(hdrdir)/ruby/internal/xmalloc.h +len.o: $(hdrdir)/ruby/missing.h +len.o: $(hdrdir)/ruby/ruby.h +len.o: $(hdrdir)/ruby/st.h +len.o: $(hdrdir)/ruby/subst.h +len.o: len.c +member.o: $(RUBY_EXTCONF_H) +member.o: $(arch_hdrdir)/ruby/config.h +member.o: $(hdrdir)/ruby.h +member.o: $(hdrdir)/ruby/assert.h +member.o: $(hdrdir)/ruby/backward.h +member.o: $(hdrdir)/ruby/backward/2/assume.h +member.o: $(hdrdir)/ruby/backward/2/attributes.h +member.o: $(hdrdir)/ruby/backward/2/bool.h +member.o: $(hdrdir)/ruby/backward/2/inttypes.h +member.o: $(hdrdir)/ruby/backward/2/limits.h +member.o: $(hdrdir)/ruby/backward/2/long_long.h +member.o: $(hdrdir)/ruby/backward/2/stdalign.h +member.o: $(hdrdir)/ruby/backward/2/stdarg.h +member.o: $(hdrdir)/ruby/defines.h +member.o: $(hdrdir)/ruby/intern.h +member.o: $(hdrdir)/ruby/internal/abi.h +member.o: $(hdrdir)/ruby/internal/anyargs.h +member.o: $(hdrdir)/ruby/internal/arithmetic.h +member.o: $(hdrdir)/ruby/internal/arithmetic/char.h +member.o: $(hdrdir)/ruby/internal/arithmetic/double.h +member.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +member.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/int.h +member.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/long.h +member.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +member.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/short.h +member.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +member.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +member.o: $(hdrdir)/ruby/internal/assume.h +member.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +member.o: $(hdrdir)/ruby/internal/attr/artificial.h +member.o: $(hdrdir)/ruby/internal/attr/cold.h +member.o: $(hdrdir)/ruby/internal/attr/const.h +member.o: $(hdrdir)/ruby/internal/attr/constexpr.h +member.o: $(hdrdir)/ruby/internal/attr/deprecated.h +member.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +member.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +member.o: $(hdrdir)/ruby/internal/attr/error.h +member.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +member.o: $(hdrdir)/ruby/internal/attr/forceinline.h +member.o: $(hdrdir)/ruby/internal/attr/format.h +member.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +member.o: $(hdrdir)/ruby/internal/attr/noalias.h +member.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +member.o: $(hdrdir)/ruby/internal/attr/noexcept.h +member.o: $(hdrdir)/ruby/internal/attr/noinline.h +member.o: $(hdrdir)/ruby/internal/attr/nonnull.h +member.o: $(hdrdir)/ruby/internal/attr/noreturn.h +member.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +member.o: $(hdrdir)/ruby/internal/attr/pure.h +member.o: $(hdrdir)/ruby/internal/attr/restrict.h +member.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +member.o: $(hdrdir)/ruby/internal/attr/warning.h +member.o: $(hdrdir)/ruby/internal/attr/weakref.h +member.o: $(hdrdir)/ruby/internal/cast.h +member.o: $(hdrdir)/ruby/internal/compiler_is.h +member.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +member.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +member.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +member.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +member.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +member.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +member.o: $(hdrdir)/ruby/internal/compiler_since.h +member.o: $(hdrdir)/ruby/internal/config.h +member.o: $(hdrdir)/ruby/internal/constant_p.h +member.o: $(hdrdir)/ruby/internal/core.h +member.o: $(hdrdir)/ruby/internal/core/rarray.h +member.o: $(hdrdir)/ruby/internal/core/rbasic.h +member.o: $(hdrdir)/ruby/internal/core/rbignum.h +member.o: $(hdrdir)/ruby/internal/core/rclass.h +member.o: $(hdrdir)/ruby/internal/core/rdata.h +member.o: $(hdrdir)/ruby/internal/core/rfile.h +member.o: $(hdrdir)/ruby/internal/core/rhash.h +member.o: $(hdrdir)/ruby/internal/core/robject.h +member.o: $(hdrdir)/ruby/internal/core/rregexp.h +member.o: $(hdrdir)/ruby/internal/core/rstring.h +member.o: $(hdrdir)/ruby/internal/core/rstruct.h +member.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +member.o: $(hdrdir)/ruby/internal/ctype.h +member.o: $(hdrdir)/ruby/internal/dllexport.h +member.o: $(hdrdir)/ruby/internal/dosish.h +member.o: $(hdrdir)/ruby/internal/error.h +member.o: $(hdrdir)/ruby/internal/eval.h +member.o: $(hdrdir)/ruby/internal/event.h +member.o: $(hdrdir)/ruby/internal/fl_type.h +member.o: $(hdrdir)/ruby/internal/gc.h +member.o: $(hdrdir)/ruby/internal/glob.h +member.o: $(hdrdir)/ruby/internal/globals.h +member.o: $(hdrdir)/ruby/internal/has/attribute.h +member.o: $(hdrdir)/ruby/internal/has/builtin.h +member.o: $(hdrdir)/ruby/internal/has/c_attribute.h +member.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +member.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +member.o: $(hdrdir)/ruby/internal/has/extension.h +member.o: $(hdrdir)/ruby/internal/has/feature.h +member.o: $(hdrdir)/ruby/internal/has/warning.h +member.o: $(hdrdir)/ruby/internal/intern/array.h +member.o: $(hdrdir)/ruby/internal/intern/bignum.h +member.o: $(hdrdir)/ruby/internal/intern/class.h +member.o: $(hdrdir)/ruby/internal/intern/compar.h +member.o: $(hdrdir)/ruby/internal/intern/complex.h +member.o: $(hdrdir)/ruby/internal/intern/cont.h +member.o: $(hdrdir)/ruby/internal/intern/dir.h +member.o: $(hdrdir)/ruby/internal/intern/enum.h +member.o: $(hdrdir)/ruby/internal/intern/enumerator.h +member.o: $(hdrdir)/ruby/internal/intern/error.h +member.o: $(hdrdir)/ruby/internal/intern/eval.h +member.o: $(hdrdir)/ruby/internal/intern/file.h +member.o: $(hdrdir)/ruby/internal/intern/hash.h +member.o: $(hdrdir)/ruby/internal/intern/io.h +member.o: $(hdrdir)/ruby/internal/intern/load.h +member.o: $(hdrdir)/ruby/internal/intern/marshal.h +member.o: $(hdrdir)/ruby/internal/intern/numeric.h +member.o: $(hdrdir)/ruby/internal/intern/object.h +member.o: $(hdrdir)/ruby/internal/intern/parse.h +member.o: $(hdrdir)/ruby/internal/intern/proc.h +member.o: $(hdrdir)/ruby/internal/intern/process.h +member.o: $(hdrdir)/ruby/internal/intern/random.h +member.o: $(hdrdir)/ruby/internal/intern/range.h +member.o: $(hdrdir)/ruby/internal/intern/rational.h +member.o: $(hdrdir)/ruby/internal/intern/re.h +member.o: $(hdrdir)/ruby/internal/intern/ruby.h +member.o: $(hdrdir)/ruby/internal/intern/select.h +member.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +member.o: $(hdrdir)/ruby/internal/intern/set.h +member.o: $(hdrdir)/ruby/internal/intern/signal.h +member.o: $(hdrdir)/ruby/internal/intern/sprintf.h +member.o: $(hdrdir)/ruby/internal/intern/string.h +member.o: $(hdrdir)/ruby/internal/intern/struct.h +member.o: $(hdrdir)/ruby/internal/intern/thread.h +member.o: $(hdrdir)/ruby/internal/intern/time.h +member.o: $(hdrdir)/ruby/internal/intern/variable.h +member.o: $(hdrdir)/ruby/internal/intern/vm.h +member.o: $(hdrdir)/ruby/internal/interpreter.h +member.o: $(hdrdir)/ruby/internal/iterator.h +member.o: $(hdrdir)/ruby/internal/memory.h +member.o: $(hdrdir)/ruby/internal/method.h +member.o: $(hdrdir)/ruby/internal/module.h +member.o: $(hdrdir)/ruby/internal/newobj.h +member.o: $(hdrdir)/ruby/internal/scan_args.h +member.o: $(hdrdir)/ruby/internal/special_consts.h +member.o: $(hdrdir)/ruby/internal/static_assert.h +member.o: $(hdrdir)/ruby/internal/stdalign.h +member.o: $(hdrdir)/ruby/internal/stdbool.h +member.o: $(hdrdir)/ruby/internal/stdckdint.h +member.o: $(hdrdir)/ruby/internal/symbol.h +member.o: $(hdrdir)/ruby/internal/value.h +member.o: $(hdrdir)/ruby/internal/value_type.h +member.o: $(hdrdir)/ruby/internal/variable.h +member.o: $(hdrdir)/ruby/internal/warning_push.h +member.o: $(hdrdir)/ruby/internal/xmalloc.h +member.o: $(hdrdir)/ruby/missing.h +member.o: $(hdrdir)/ruby/ruby.h +member.o: $(hdrdir)/ruby/st.h +member.o: $(hdrdir)/ruby/subst.h +member.o: member.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/struct/duplicate.c b/ext/-test-/struct/duplicate.c new file mode 100644 index 0000000000..596d32aad8 --- /dev/null +++ b/ext/-test-/struct/duplicate.c @@ -0,0 +1,24 @@ +#include "ruby.h" + +static VALUE +bug_struct_new_duplicate(VALUE obj, VALUE name, VALUE mem) +{ + const char *n = NIL_P(name) ? 0 : StringValueCStr(name); + const char *m = StringValueCStr(mem); + return rb_struct_define(n, m, m, NULL); +} + +static VALUE +bug_struct_new_duplicate_under(VALUE obj, VALUE name, VALUE mem) +{ + const char *n = StringValueCStr(name); + const char *m = StringValueCStr(mem); + return rb_struct_define_under(obj, n, m, m, NULL); +} + +void +Init_duplicate(VALUE klass) +{ + rb_define_singleton_method(klass, "new_duplicate", bug_struct_new_duplicate, 2); + rb_define_singleton_method(klass, "new_duplicate_under", bug_struct_new_duplicate_under, 2); +} diff --git a/ext/-test-/struct/extconf.rb b/ext/-test-/struct/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/struct/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/struct/init.c b/ext/-test-/struct/init.c new file mode 100644 index 0000000000..459a939e79 --- /dev/null +++ b/ext/-test-/struct/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +void +Init_struct(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Struct", rb_cStruct); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/struct/len.c b/ext/-test-/struct/len.c new file mode 100644 index 0000000000..6153c720b2 --- /dev/null +++ b/ext/-test-/struct/len.c @@ -0,0 +1,13 @@ +#include "ruby.h" + +static VALUE +bug_struct_len(VALUE obj) +{ + return LONG2NUM(RSTRUCT_LEN(obj)); +} + +void +Init_len(VALUE klass) +{ + rb_define_method(klass, "rstruct_len", bug_struct_len, 0); +} diff --git a/ext/-test-/struct/member.c b/ext/-test-/struct/member.c new file mode 100644 index 0000000000..29ddff93e8 --- /dev/null +++ b/ext/-test-/struct/member.c @@ -0,0 +1,18 @@ +#include "ruby.h" + +static VALUE +bug_struct_get(VALUE obj, VALUE name) +{ + ID id = rb_check_id(&name); + + if (!id) { + rb_name_error_str(name, "'%"PRIsVALUE"' is not a struct member", name); + } + return rb_struct_getmember(obj, id); +} + +void +Init_member(VALUE klass) +{ + rb_define_method(klass, "get", bug_struct_get, 1); +} diff --git a/ext/-test-/symbol/depend b/ext/-test-/symbol/depend new file mode 100644 index 0000000000..b1d8e1aab6 --- /dev/null +++ b/ext/-test-/symbol/depend @@ -0,0 +1,324 @@ +# AUTOGENERATED DEPENDENCIES START +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +type.o: $(RUBY_EXTCONF_H) +type.o: $(arch_hdrdir)/ruby/config.h +type.o: $(hdrdir)/ruby.h +type.o: $(hdrdir)/ruby/assert.h +type.o: $(hdrdir)/ruby/backward.h +type.o: $(hdrdir)/ruby/backward/2/assume.h +type.o: $(hdrdir)/ruby/backward/2/attributes.h +type.o: $(hdrdir)/ruby/backward/2/bool.h +type.o: $(hdrdir)/ruby/backward/2/inttypes.h +type.o: $(hdrdir)/ruby/backward/2/limits.h +type.o: $(hdrdir)/ruby/backward/2/long_long.h +type.o: $(hdrdir)/ruby/backward/2/stdalign.h +type.o: $(hdrdir)/ruby/backward/2/stdarg.h +type.o: $(hdrdir)/ruby/defines.h +type.o: $(hdrdir)/ruby/intern.h +type.o: $(hdrdir)/ruby/internal/abi.h +type.o: $(hdrdir)/ruby/internal/anyargs.h +type.o: $(hdrdir)/ruby/internal/arithmetic.h +type.o: $(hdrdir)/ruby/internal/arithmetic/char.h +type.o: $(hdrdir)/ruby/internal/arithmetic/double.h +type.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +type.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/int.h +type.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/long.h +type.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +type.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/short.h +type.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +type.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +type.o: $(hdrdir)/ruby/internal/assume.h +type.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +type.o: $(hdrdir)/ruby/internal/attr/artificial.h +type.o: $(hdrdir)/ruby/internal/attr/cold.h +type.o: $(hdrdir)/ruby/internal/attr/const.h +type.o: $(hdrdir)/ruby/internal/attr/constexpr.h +type.o: $(hdrdir)/ruby/internal/attr/deprecated.h +type.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +type.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +type.o: $(hdrdir)/ruby/internal/attr/error.h +type.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +type.o: $(hdrdir)/ruby/internal/attr/forceinline.h +type.o: $(hdrdir)/ruby/internal/attr/format.h +type.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +type.o: $(hdrdir)/ruby/internal/attr/noalias.h +type.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +type.o: $(hdrdir)/ruby/internal/attr/noexcept.h +type.o: $(hdrdir)/ruby/internal/attr/noinline.h +type.o: $(hdrdir)/ruby/internal/attr/nonnull.h +type.o: $(hdrdir)/ruby/internal/attr/noreturn.h +type.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +type.o: $(hdrdir)/ruby/internal/attr/pure.h +type.o: $(hdrdir)/ruby/internal/attr/restrict.h +type.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +type.o: $(hdrdir)/ruby/internal/attr/warning.h +type.o: $(hdrdir)/ruby/internal/attr/weakref.h +type.o: $(hdrdir)/ruby/internal/cast.h +type.o: $(hdrdir)/ruby/internal/compiler_is.h +type.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +type.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +type.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +type.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +type.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +type.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +type.o: $(hdrdir)/ruby/internal/compiler_since.h +type.o: $(hdrdir)/ruby/internal/config.h +type.o: $(hdrdir)/ruby/internal/constant_p.h +type.o: $(hdrdir)/ruby/internal/core.h +type.o: $(hdrdir)/ruby/internal/core/rarray.h +type.o: $(hdrdir)/ruby/internal/core/rbasic.h +type.o: $(hdrdir)/ruby/internal/core/rbignum.h +type.o: $(hdrdir)/ruby/internal/core/rclass.h +type.o: $(hdrdir)/ruby/internal/core/rdata.h +type.o: $(hdrdir)/ruby/internal/core/rfile.h +type.o: $(hdrdir)/ruby/internal/core/rhash.h +type.o: $(hdrdir)/ruby/internal/core/robject.h +type.o: $(hdrdir)/ruby/internal/core/rregexp.h +type.o: $(hdrdir)/ruby/internal/core/rstring.h +type.o: $(hdrdir)/ruby/internal/core/rstruct.h +type.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +type.o: $(hdrdir)/ruby/internal/ctype.h +type.o: $(hdrdir)/ruby/internal/dllexport.h +type.o: $(hdrdir)/ruby/internal/dosish.h +type.o: $(hdrdir)/ruby/internal/error.h +type.o: $(hdrdir)/ruby/internal/eval.h +type.o: $(hdrdir)/ruby/internal/event.h +type.o: $(hdrdir)/ruby/internal/fl_type.h +type.o: $(hdrdir)/ruby/internal/gc.h +type.o: $(hdrdir)/ruby/internal/glob.h +type.o: $(hdrdir)/ruby/internal/globals.h +type.o: $(hdrdir)/ruby/internal/has/attribute.h +type.o: $(hdrdir)/ruby/internal/has/builtin.h +type.o: $(hdrdir)/ruby/internal/has/c_attribute.h +type.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +type.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +type.o: $(hdrdir)/ruby/internal/has/extension.h +type.o: $(hdrdir)/ruby/internal/has/feature.h +type.o: $(hdrdir)/ruby/internal/has/warning.h +type.o: $(hdrdir)/ruby/internal/intern/array.h +type.o: $(hdrdir)/ruby/internal/intern/bignum.h +type.o: $(hdrdir)/ruby/internal/intern/class.h +type.o: $(hdrdir)/ruby/internal/intern/compar.h +type.o: $(hdrdir)/ruby/internal/intern/complex.h +type.o: $(hdrdir)/ruby/internal/intern/cont.h +type.o: $(hdrdir)/ruby/internal/intern/dir.h +type.o: $(hdrdir)/ruby/internal/intern/enum.h +type.o: $(hdrdir)/ruby/internal/intern/enumerator.h +type.o: $(hdrdir)/ruby/internal/intern/error.h +type.o: $(hdrdir)/ruby/internal/intern/eval.h +type.o: $(hdrdir)/ruby/internal/intern/file.h +type.o: $(hdrdir)/ruby/internal/intern/hash.h +type.o: $(hdrdir)/ruby/internal/intern/io.h +type.o: $(hdrdir)/ruby/internal/intern/load.h +type.o: $(hdrdir)/ruby/internal/intern/marshal.h +type.o: $(hdrdir)/ruby/internal/intern/numeric.h +type.o: $(hdrdir)/ruby/internal/intern/object.h +type.o: $(hdrdir)/ruby/internal/intern/parse.h +type.o: $(hdrdir)/ruby/internal/intern/proc.h +type.o: $(hdrdir)/ruby/internal/intern/process.h +type.o: $(hdrdir)/ruby/internal/intern/random.h +type.o: $(hdrdir)/ruby/internal/intern/range.h +type.o: $(hdrdir)/ruby/internal/intern/rational.h +type.o: $(hdrdir)/ruby/internal/intern/re.h +type.o: $(hdrdir)/ruby/internal/intern/ruby.h +type.o: $(hdrdir)/ruby/internal/intern/select.h +type.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +type.o: $(hdrdir)/ruby/internal/intern/set.h +type.o: $(hdrdir)/ruby/internal/intern/signal.h +type.o: $(hdrdir)/ruby/internal/intern/sprintf.h +type.o: $(hdrdir)/ruby/internal/intern/string.h +type.o: $(hdrdir)/ruby/internal/intern/struct.h +type.o: $(hdrdir)/ruby/internal/intern/thread.h +type.o: $(hdrdir)/ruby/internal/intern/time.h +type.o: $(hdrdir)/ruby/internal/intern/variable.h +type.o: $(hdrdir)/ruby/internal/intern/vm.h +type.o: $(hdrdir)/ruby/internal/interpreter.h +type.o: $(hdrdir)/ruby/internal/iterator.h +type.o: $(hdrdir)/ruby/internal/memory.h +type.o: $(hdrdir)/ruby/internal/method.h +type.o: $(hdrdir)/ruby/internal/module.h +type.o: $(hdrdir)/ruby/internal/newobj.h +type.o: $(hdrdir)/ruby/internal/scan_args.h +type.o: $(hdrdir)/ruby/internal/special_consts.h +type.o: $(hdrdir)/ruby/internal/static_assert.h +type.o: $(hdrdir)/ruby/internal/stdalign.h +type.o: $(hdrdir)/ruby/internal/stdbool.h +type.o: $(hdrdir)/ruby/internal/stdckdint.h +type.o: $(hdrdir)/ruby/internal/symbol.h +type.o: $(hdrdir)/ruby/internal/value.h +type.o: $(hdrdir)/ruby/internal/value_type.h +type.o: $(hdrdir)/ruby/internal/variable.h +type.o: $(hdrdir)/ruby/internal/warning_push.h +type.o: $(hdrdir)/ruby/internal/xmalloc.h +type.o: $(hdrdir)/ruby/missing.h +type.o: $(hdrdir)/ruby/ruby.h +type.o: $(hdrdir)/ruby/st.h +type.o: $(hdrdir)/ruby/subst.h +type.o: type.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/symbol/extconf.rb b/ext/-test-/symbol/extconf.rb new file mode 100644 index 0000000000..ecebdb7d6b --- /dev/null +++ b/ext/-test-/symbol/extconf.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +have_func("rb_pin_dynamic_symbol") +auto_ext diff --git a/ext/-test-/symbol/init.c b/ext/-test-/symbol/init.c new file mode 100644 index 0000000000..4038701ac9 --- /dev/null +++ b/ext/-test-/symbol/init.c @@ -0,0 +1,39 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE klass); Init_##n(klass);} + +static VALUE +sym_find(VALUE dummy, VALUE sym) +{ + return rb_check_symbol(&sym); +} + +static VALUE +sym_pinneddown_p(VALUE dummy, VALUE sym) +{ + ID id = rb_check_id(&sym); + if (!id) return Qnil; +#ifdef ULL2NUM + return ULL2NUM(id); +#else + return ULONG2NUM(id); +#endif +} + +static VALUE +sym_iv_get(VALUE dummy, VALUE obj, VALUE name) +{ + const char *n = StringValueCStr(name); + return rb_iv_get(obj, n); +} + +void +Init_symbol(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Symbol", rb_cSymbol); + rb_define_singleton_method(klass, "find", sym_find, 1); + rb_define_singleton_method(klass, "pinneddown?", sym_pinneddown_p, 1); + rb_define_singleton_method(klass, "iv_get", sym_iv_get, 2); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/symbol/type.c b/ext/-test-/symbol/type.c new file mode 100644 index 0000000000..8d0e647340 --- /dev/null +++ b/ext/-test-/symbol/type.c @@ -0,0 +1,78 @@ +#include "ruby.h" + +#ifdef HAVE_RB_IS_CONST_NAME +# define get_symbol_type(type, t, name) do { \ + ID id = rb_check_id(&name); \ + t = (id ? rb_is_##type##_id(id) : rb_is_##type##_name(name)); \ + } while (0) +#else +# define get_symbol_type(type, t, name) do { \ + t = rb_is_##type##_id(rb_to_id(name)); \ + } while (0) +#endif + +#define define_symbol_type_p(type) \ +static VALUE \ +bug_sym_##type##_p(VALUE self, VALUE name) \ +{ \ + int t; \ + get_symbol_type(type, t, name); \ + return (t ? Qtrue : Qfalse); \ +} + +#define declare_symbol_type_p(type) \ + rb_define_singleton_method(klass, #type"?", bug_sym_##type##_p, 1); + +#define FOREACH_ID_TYPES(x) x(const) x(class) x(global) x(instance) x(attrset) x(local) x(junk) + +FOREACH_ID_TYPES(define_symbol_type_p) + +static VALUE +bug_sym_attrset(VALUE self, VALUE name) +{ + ID id = rb_to_id(name); + id = rb_id_attrset(id); + return ID2SYM(id); +} + +static VALUE +bug_id2str(VALUE self, VALUE sym) +{ + return rb_sym2str(sym); +} + +static VALUE +bug_static_p(VALUE self, VALUE sym) +{ + return STATIC_SYM_P(sym) ? Qtrue : Qfalse; +} + +static VALUE +bug_dynamic_p(VALUE self, VALUE sym) +{ + return DYNAMIC_SYM_P(sym) ? Qtrue : Qfalse; +} + +#ifdef HAVE_RB_PIN_DYNAMIC_SYMBOL +ID rb_pin_dynamic_symbol(VALUE); + +static VALUE +bug_pindown(VALUE self, VALUE sym) +{ + rb_pin_dynamic_symbol(sym); + return sym; +} +#endif + +void +Init_type(VALUE klass) +{ + FOREACH_ID_TYPES(declare_symbol_type_p); + rb_define_singleton_method(klass, "attrset", bug_sym_attrset, 1); + rb_define_singleton_method(klass, "id2str", bug_id2str, 1); + rb_define_singleton_method(klass, "static?", bug_static_p, 1); + rb_define_singleton_method(klass, "dynamic?", bug_dynamic_p, 1); +#ifdef HAVE_RB_PIN_DYNAMIC_SYMBOL + rb_define_singleton_method(klass, "pindown", bug_pindown, 1); +#endif +} diff --git a/ext/-test-/thread/id/depend b/ext/-test-/thread/id/depend new file mode 100644 index 0000000000..6b76b31ddc --- /dev/null +++ b/ext/-test-/thread/id/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +id.o: $(RUBY_EXTCONF_H) +id.o: $(arch_hdrdir)/ruby/config.h +id.o: $(hdrdir)/ruby.h +id.o: $(hdrdir)/ruby/assert.h +id.o: $(hdrdir)/ruby/backward.h +id.o: $(hdrdir)/ruby/backward/2/assume.h +id.o: $(hdrdir)/ruby/backward/2/attributes.h +id.o: $(hdrdir)/ruby/backward/2/bool.h +id.o: $(hdrdir)/ruby/backward/2/inttypes.h +id.o: $(hdrdir)/ruby/backward/2/limits.h +id.o: $(hdrdir)/ruby/backward/2/long_long.h +id.o: $(hdrdir)/ruby/backward/2/stdalign.h +id.o: $(hdrdir)/ruby/backward/2/stdarg.h +id.o: $(hdrdir)/ruby/defines.h +id.o: $(hdrdir)/ruby/intern.h +id.o: $(hdrdir)/ruby/internal/abi.h +id.o: $(hdrdir)/ruby/internal/anyargs.h +id.o: $(hdrdir)/ruby/internal/arithmetic.h +id.o: $(hdrdir)/ruby/internal/arithmetic/char.h +id.o: $(hdrdir)/ruby/internal/arithmetic/double.h +id.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +id.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/int.h +id.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/long.h +id.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +id.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/short.h +id.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +id.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +id.o: $(hdrdir)/ruby/internal/assume.h +id.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +id.o: $(hdrdir)/ruby/internal/attr/artificial.h +id.o: $(hdrdir)/ruby/internal/attr/cold.h +id.o: $(hdrdir)/ruby/internal/attr/const.h +id.o: $(hdrdir)/ruby/internal/attr/constexpr.h +id.o: $(hdrdir)/ruby/internal/attr/deprecated.h +id.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +id.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +id.o: $(hdrdir)/ruby/internal/attr/error.h +id.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +id.o: $(hdrdir)/ruby/internal/attr/forceinline.h +id.o: $(hdrdir)/ruby/internal/attr/format.h +id.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +id.o: $(hdrdir)/ruby/internal/attr/noalias.h +id.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +id.o: $(hdrdir)/ruby/internal/attr/noexcept.h +id.o: $(hdrdir)/ruby/internal/attr/noinline.h +id.o: $(hdrdir)/ruby/internal/attr/nonnull.h +id.o: $(hdrdir)/ruby/internal/attr/noreturn.h +id.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +id.o: $(hdrdir)/ruby/internal/attr/pure.h +id.o: $(hdrdir)/ruby/internal/attr/restrict.h +id.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +id.o: $(hdrdir)/ruby/internal/attr/warning.h +id.o: $(hdrdir)/ruby/internal/attr/weakref.h +id.o: $(hdrdir)/ruby/internal/cast.h +id.o: $(hdrdir)/ruby/internal/compiler_is.h +id.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +id.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +id.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +id.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +id.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +id.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +id.o: $(hdrdir)/ruby/internal/compiler_since.h +id.o: $(hdrdir)/ruby/internal/config.h +id.o: $(hdrdir)/ruby/internal/constant_p.h +id.o: $(hdrdir)/ruby/internal/core.h +id.o: $(hdrdir)/ruby/internal/core/rarray.h +id.o: $(hdrdir)/ruby/internal/core/rbasic.h +id.o: $(hdrdir)/ruby/internal/core/rbignum.h +id.o: $(hdrdir)/ruby/internal/core/rclass.h +id.o: $(hdrdir)/ruby/internal/core/rdata.h +id.o: $(hdrdir)/ruby/internal/core/rfile.h +id.o: $(hdrdir)/ruby/internal/core/rhash.h +id.o: $(hdrdir)/ruby/internal/core/robject.h +id.o: $(hdrdir)/ruby/internal/core/rregexp.h +id.o: $(hdrdir)/ruby/internal/core/rstring.h +id.o: $(hdrdir)/ruby/internal/core/rstruct.h +id.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +id.o: $(hdrdir)/ruby/internal/ctype.h +id.o: $(hdrdir)/ruby/internal/dllexport.h +id.o: $(hdrdir)/ruby/internal/dosish.h +id.o: $(hdrdir)/ruby/internal/error.h +id.o: $(hdrdir)/ruby/internal/eval.h +id.o: $(hdrdir)/ruby/internal/event.h +id.o: $(hdrdir)/ruby/internal/fl_type.h +id.o: $(hdrdir)/ruby/internal/gc.h +id.o: $(hdrdir)/ruby/internal/glob.h +id.o: $(hdrdir)/ruby/internal/globals.h +id.o: $(hdrdir)/ruby/internal/has/attribute.h +id.o: $(hdrdir)/ruby/internal/has/builtin.h +id.o: $(hdrdir)/ruby/internal/has/c_attribute.h +id.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +id.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +id.o: $(hdrdir)/ruby/internal/has/extension.h +id.o: $(hdrdir)/ruby/internal/has/feature.h +id.o: $(hdrdir)/ruby/internal/has/warning.h +id.o: $(hdrdir)/ruby/internal/intern/array.h +id.o: $(hdrdir)/ruby/internal/intern/bignum.h +id.o: $(hdrdir)/ruby/internal/intern/class.h +id.o: $(hdrdir)/ruby/internal/intern/compar.h +id.o: $(hdrdir)/ruby/internal/intern/complex.h +id.o: $(hdrdir)/ruby/internal/intern/cont.h +id.o: $(hdrdir)/ruby/internal/intern/dir.h +id.o: $(hdrdir)/ruby/internal/intern/enum.h +id.o: $(hdrdir)/ruby/internal/intern/enumerator.h +id.o: $(hdrdir)/ruby/internal/intern/error.h +id.o: $(hdrdir)/ruby/internal/intern/eval.h +id.o: $(hdrdir)/ruby/internal/intern/file.h +id.o: $(hdrdir)/ruby/internal/intern/hash.h +id.o: $(hdrdir)/ruby/internal/intern/io.h +id.o: $(hdrdir)/ruby/internal/intern/load.h +id.o: $(hdrdir)/ruby/internal/intern/marshal.h +id.o: $(hdrdir)/ruby/internal/intern/numeric.h +id.o: $(hdrdir)/ruby/internal/intern/object.h +id.o: $(hdrdir)/ruby/internal/intern/parse.h +id.o: $(hdrdir)/ruby/internal/intern/proc.h +id.o: $(hdrdir)/ruby/internal/intern/process.h +id.o: $(hdrdir)/ruby/internal/intern/random.h +id.o: $(hdrdir)/ruby/internal/intern/range.h +id.o: $(hdrdir)/ruby/internal/intern/rational.h +id.o: $(hdrdir)/ruby/internal/intern/re.h +id.o: $(hdrdir)/ruby/internal/intern/ruby.h +id.o: $(hdrdir)/ruby/internal/intern/select.h +id.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +id.o: $(hdrdir)/ruby/internal/intern/set.h +id.o: $(hdrdir)/ruby/internal/intern/signal.h +id.o: $(hdrdir)/ruby/internal/intern/sprintf.h +id.o: $(hdrdir)/ruby/internal/intern/string.h +id.o: $(hdrdir)/ruby/internal/intern/struct.h +id.o: $(hdrdir)/ruby/internal/intern/thread.h +id.o: $(hdrdir)/ruby/internal/intern/time.h +id.o: $(hdrdir)/ruby/internal/intern/variable.h +id.o: $(hdrdir)/ruby/internal/intern/vm.h +id.o: $(hdrdir)/ruby/internal/interpreter.h +id.o: $(hdrdir)/ruby/internal/iterator.h +id.o: $(hdrdir)/ruby/internal/memory.h +id.o: $(hdrdir)/ruby/internal/method.h +id.o: $(hdrdir)/ruby/internal/module.h +id.o: $(hdrdir)/ruby/internal/newobj.h +id.o: $(hdrdir)/ruby/internal/scan_args.h +id.o: $(hdrdir)/ruby/internal/special_consts.h +id.o: $(hdrdir)/ruby/internal/static_assert.h +id.o: $(hdrdir)/ruby/internal/stdalign.h +id.o: $(hdrdir)/ruby/internal/stdbool.h +id.o: $(hdrdir)/ruby/internal/stdckdint.h +id.o: $(hdrdir)/ruby/internal/symbol.h +id.o: $(hdrdir)/ruby/internal/value.h +id.o: $(hdrdir)/ruby/internal/value_type.h +id.o: $(hdrdir)/ruby/internal/variable.h +id.o: $(hdrdir)/ruby/internal/warning_push.h +id.o: $(hdrdir)/ruby/internal/xmalloc.h +id.o: $(hdrdir)/ruby/missing.h +id.o: $(hdrdir)/ruby/ruby.h +id.o: $(hdrdir)/ruby/st.h +id.o: $(hdrdir)/ruby/subst.h +id.o: id.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/thread/id/extconf.rb b/ext/-test-/thread/id/extconf.rb new file mode 100644 index 0000000000..a0ae0eff15 --- /dev/null +++ b/ext/-test-/thread/id/extconf.rb @@ -0,0 +1,3 @@ +if have_func("gettid") + create_makefile("-test-/thread/id") +end diff --git a/ext/-test-/thread/id/id.c b/ext/-test-/thread/id/id.c new file mode 100644 index 0000000000..b46a5955e2 --- /dev/null +++ b/ext/-test-/thread/id/id.c @@ -0,0 +1,15 @@ +#include <ruby.h> + +static VALUE +bug_gettid(VALUE self) +{ + pid_t tid = gettid(); + return PIDT2NUM(tid); +} + +void +Init_id(void) +{ + VALUE klass = rb_define_module_under(rb_define_module("Bug"), "ThreadID"); + rb_define_module_function(klass, "gettid", bug_gettid, 0); +} diff --git a/ext/-test-/thread/instrumentation/depend b/ext/-test-/thread/instrumentation/depend new file mode 100644 index 0000000000..63e1c7e44f --- /dev/null +++ b/ext/-test-/thread/instrumentation/depend @@ -0,0 +1,165 @@ +# AUTOGENERATED DEPENDENCIES START +instrumentation.o: $(RUBY_EXTCONF_H) +instrumentation.o: $(arch_hdrdir)/ruby/config.h +instrumentation.o: $(hdrdir)/ruby/assert.h +instrumentation.o: $(hdrdir)/ruby/atomic.h +instrumentation.o: $(hdrdir)/ruby/backward.h +instrumentation.o: $(hdrdir)/ruby/backward/2/assume.h +instrumentation.o: $(hdrdir)/ruby/backward/2/attributes.h +instrumentation.o: $(hdrdir)/ruby/backward/2/bool.h +instrumentation.o: $(hdrdir)/ruby/backward/2/inttypes.h +instrumentation.o: $(hdrdir)/ruby/backward/2/limits.h +instrumentation.o: $(hdrdir)/ruby/backward/2/long_long.h +instrumentation.o: $(hdrdir)/ruby/backward/2/stdalign.h +instrumentation.o: $(hdrdir)/ruby/backward/2/stdarg.h +instrumentation.o: $(hdrdir)/ruby/defines.h +instrumentation.o: $(hdrdir)/ruby/intern.h +instrumentation.o: $(hdrdir)/ruby/internal/abi.h +instrumentation.o: $(hdrdir)/ruby/internal/anyargs.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/char.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/double.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/int.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/long.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/short.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +instrumentation.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +instrumentation.o: $(hdrdir)/ruby/internal/assume.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/artificial.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/cold.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/const.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/constexpr.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/deprecated.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/error.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/forceinline.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/format.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/noalias.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/noexcept.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/noinline.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/nonnull.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/noreturn.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/pure.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/restrict.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/warning.h +instrumentation.o: $(hdrdir)/ruby/internal/attr/weakref.h +instrumentation.o: $(hdrdir)/ruby/internal/cast.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +instrumentation.o: $(hdrdir)/ruby/internal/compiler_since.h +instrumentation.o: $(hdrdir)/ruby/internal/config.h +instrumentation.o: $(hdrdir)/ruby/internal/constant_p.h +instrumentation.o: $(hdrdir)/ruby/internal/core.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rarray.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rbasic.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rbignum.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rclass.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rdata.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rfile.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rhash.h +instrumentation.o: $(hdrdir)/ruby/internal/core/robject.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rregexp.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rstring.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rstruct.h +instrumentation.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +instrumentation.o: $(hdrdir)/ruby/internal/ctype.h +instrumentation.o: $(hdrdir)/ruby/internal/dllexport.h +instrumentation.o: $(hdrdir)/ruby/internal/dosish.h +instrumentation.o: $(hdrdir)/ruby/internal/error.h +instrumentation.o: $(hdrdir)/ruby/internal/eval.h +instrumentation.o: $(hdrdir)/ruby/internal/event.h +instrumentation.o: $(hdrdir)/ruby/internal/fl_type.h +instrumentation.o: $(hdrdir)/ruby/internal/gc.h +instrumentation.o: $(hdrdir)/ruby/internal/glob.h +instrumentation.o: $(hdrdir)/ruby/internal/globals.h +instrumentation.o: $(hdrdir)/ruby/internal/has/attribute.h +instrumentation.o: $(hdrdir)/ruby/internal/has/builtin.h +instrumentation.o: $(hdrdir)/ruby/internal/has/c_attribute.h +instrumentation.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +instrumentation.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +instrumentation.o: $(hdrdir)/ruby/internal/has/extension.h +instrumentation.o: $(hdrdir)/ruby/internal/has/feature.h +instrumentation.o: $(hdrdir)/ruby/internal/has/warning.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/array.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/bignum.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/class.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/compar.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/complex.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/cont.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/dir.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/enum.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/enumerator.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/error.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/eval.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/file.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/hash.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/io.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/load.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/marshal.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/numeric.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/object.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/parse.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/proc.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/process.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/random.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/range.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/rational.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/re.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/ruby.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/select.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/set.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/signal.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/sprintf.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/string.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/struct.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/thread.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/time.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/variable.h +instrumentation.o: $(hdrdir)/ruby/internal/intern/vm.h +instrumentation.o: $(hdrdir)/ruby/internal/interpreter.h +instrumentation.o: $(hdrdir)/ruby/internal/iterator.h +instrumentation.o: $(hdrdir)/ruby/internal/memory.h +instrumentation.o: $(hdrdir)/ruby/internal/method.h +instrumentation.o: $(hdrdir)/ruby/internal/module.h +instrumentation.o: $(hdrdir)/ruby/internal/newobj.h +instrumentation.o: $(hdrdir)/ruby/internal/scan_args.h +instrumentation.o: $(hdrdir)/ruby/internal/special_consts.h +instrumentation.o: $(hdrdir)/ruby/internal/static_assert.h +instrumentation.o: $(hdrdir)/ruby/internal/stdalign.h +instrumentation.o: $(hdrdir)/ruby/internal/stdbool.h +instrumentation.o: $(hdrdir)/ruby/internal/stdckdint.h +instrumentation.o: $(hdrdir)/ruby/internal/symbol.h +instrumentation.o: $(hdrdir)/ruby/internal/value.h +instrumentation.o: $(hdrdir)/ruby/internal/value_type.h +instrumentation.o: $(hdrdir)/ruby/internal/variable.h +instrumentation.o: $(hdrdir)/ruby/internal/warning_push.h +instrumentation.o: $(hdrdir)/ruby/internal/xmalloc.h +instrumentation.o: $(hdrdir)/ruby/missing.h +instrumentation.o: $(hdrdir)/ruby/ruby.h +instrumentation.o: $(hdrdir)/ruby/st.h +instrumentation.o: $(hdrdir)/ruby/subst.h +instrumentation.o: $(hdrdir)/ruby/thread.h +instrumentation.o: $(hdrdir)/ruby/thread_native.h +instrumentation.o: instrumentation.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/thread/instrumentation/extconf.rb b/ext/-test-/thread/instrumentation/extconf.rb new file mode 100644 index 0000000000..a48ba3c045 --- /dev/null +++ b/ext/-test-/thread/instrumentation/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/thread/instrumentation") diff --git a/ext/-test-/thread/instrumentation/instrumentation.c b/ext/-test-/thread/instrumentation/instrumentation.c new file mode 100644 index 0000000000..25e2902a78 --- /dev/null +++ b/ext/-test-/thread/instrumentation/instrumentation.c @@ -0,0 +1,218 @@ +#include "ruby/ruby.h" +#include "ruby/atomic.h" +#include "ruby/thread.h" + +#ifndef RB_THREAD_LOCAL_SPECIFIER +# define RB_THREAD_LOCAL_SPECIFIER +#endif + +static VALUE timeline_value = Qnil; + +struct thread_event { + VALUE thread; + rb_event_flag_t event; +}; + +#define MAX_EVENTS 1024 +static struct thread_event event_timeline[MAX_EVENTS]; +static rb_atomic_t timeline_cursor; + +static void +event_timeline_gc_mark(void *ptr) { + rb_atomic_t cursor; + for (cursor = 0; cursor < timeline_cursor; cursor++) { + rb_gc_mark(event_timeline[cursor].thread); + } +} + +static const rb_data_type_t event_timeline_type = { + "TestThreadInstrumentation/event_timeline", + {event_timeline_gc_mark, NULL, NULL,}, + 0, 0, + RUBY_TYPED_FREE_IMMEDIATELY, +}; + +static void +reset_timeline(void) +{ + timeline_cursor = 0; + memset(event_timeline, 0, sizeof(struct thread_event) * MAX_EVENTS); +} + +static rb_event_flag_t +find_last_event(VALUE thread) +{ + rb_atomic_t cursor = timeline_cursor; + if (cursor) { + do { + if (event_timeline[cursor].thread == thread){ + return event_timeline[cursor].event; + } + cursor--; + } while (cursor > 0); + } + return 0; +} + +static const char * +event_name(rb_event_flag_t event) +{ + switch (event) { + case RUBY_INTERNAL_THREAD_EVENT_STARTED: + return "started"; + case RUBY_INTERNAL_THREAD_EVENT_READY: + return "ready"; + case RUBY_INTERNAL_THREAD_EVENT_RESUMED: + return "resumed"; + case RUBY_INTERNAL_THREAD_EVENT_SUSPENDED: + return "suspended"; + case RUBY_INTERNAL_THREAD_EVENT_EXITED: + return "exited"; + } + return "no-event"; +} + +static void +unexpected(bool strict, const char *format, VALUE thread, rb_event_flag_t last_event) +{ + const char *last_event_name = event_name(last_event); + if (strict) { + rb_bug(format, thread, last_event_name); + } + else { + fprintf(stderr, format, thread, last_event_name); + fprintf(stderr, "\n"); + } +} + +static void +ex_callback(rb_event_flag_t event, const rb_internal_thread_event_data_t *event_data, void *user_data) +{ + rb_event_flag_t last_event = find_last_event(event_data->thread); + bool strict = (bool)user_data; + + if (last_event != 0) { + switch (event) { + case RUBY_INTERNAL_THREAD_EVENT_STARTED: + unexpected(strict, "[thread=%"PRIxVALUE"] `started` event can't be preceded by `%s`", event_data->thread, last_event); + break; + case RUBY_INTERNAL_THREAD_EVENT_READY: + if (last_event != RUBY_INTERNAL_THREAD_EVENT_STARTED && last_event != RUBY_INTERNAL_THREAD_EVENT_SUSPENDED) { + unexpected(strict, "[thread=%"PRIxVALUE"] `ready` must be preceded by `started` or `suspended`, got: `%s`", event_data->thread, last_event); + } + break; + case RUBY_INTERNAL_THREAD_EVENT_RESUMED: + if (last_event != RUBY_INTERNAL_THREAD_EVENT_READY) { + unexpected(strict, "[thread=%"PRIxVALUE"] `resumed` must be preceded by `ready`, got: `%s`", event_data->thread, last_event); + } + break; + case RUBY_INTERNAL_THREAD_EVENT_SUSPENDED: + if (last_event != RUBY_INTERNAL_THREAD_EVENT_RESUMED) { + unexpected(strict, "[thread=%"PRIxVALUE"] `suspended` must be preceded by `resumed`, got: `%s`", event_data->thread, last_event); + } + break; + case RUBY_INTERNAL_THREAD_EVENT_EXITED: + if (last_event != RUBY_INTERNAL_THREAD_EVENT_RESUMED && last_event != RUBY_INTERNAL_THREAD_EVENT_SUSPENDED) { + unexpected(strict, "[thread=%"PRIxVALUE"] `exited` must be preceded by `resumed` or `suspended`, got: `%s`", event_data->thread, last_event); + } + break; + } + } + + rb_atomic_t cursor = RUBY_ATOMIC_FETCH_ADD(timeline_cursor, 1); + if (cursor >= MAX_EVENTS) { + rb_bug("TestThreadInstrumentation: ran out of event_timeline space"); + } + + event_timeline[cursor].thread = event_data->thread; + event_timeline[cursor].event = event; +} + +static rb_internal_thread_event_hook_t * single_hook = NULL; + +static VALUE +thread_register_callback(VALUE thread, VALUE strict) +{ + single_hook = rb_internal_thread_add_event_hook( + ex_callback, + RUBY_INTERNAL_THREAD_EVENT_STARTED | + RUBY_INTERNAL_THREAD_EVENT_READY | + RUBY_INTERNAL_THREAD_EVENT_RESUMED | + RUBY_INTERNAL_THREAD_EVENT_SUSPENDED | + RUBY_INTERNAL_THREAD_EVENT_EXITED, + (void *)RTEST(strict) + ); + + return Qnil; +} + +static VALUE +event_symbol(rb_event_flag_t event) +{ + switch (event) { + case RUBY_INTERNAL_THREAD_EVENT_STARTED: + return rb_id2sym(rb_intern("started")); + case RUBY_INTERNAL_THREAD_EVENT_READY: + return rb_id2sym(rb_intern("ready")); + case RUBY_INTERNAL_THREAD_EVENT_RESUMED: + return rb_id2sym(rb_intern("resumed")); + case RUBY_INTERNAL_THREAD_EVENT_SUSPENDED: + return rb_id2sym(rb_intern("suspended")); + case RUBY_INTERNAL_THREAD_EVENT_EXITED: + return rb_id2sym(rb_intern("exited")); + default: + rb_bug("TestThreadInstrumentation: Unexpected event"); + break; + } +} + +static VALUE +thread_unregister_callback(VALUE thread) +{ + if (single_hook) { + rb_internal_thread_remove_event_hook(single_hook); + single_hook = NULL; + } + + VALUE events = rb_ary_new_capa(timeline_cursor); + rb_atomic_t cursor; + for (cursor = 0; cursor < timeline_cursor; cursor++) { + VALUE pair = rb_ary_new_capa(2); + rb_ary_push(pair, event_timeline[cursor].thread); + rb_ary_push(pair, event_symbol(event_timeline[cursor].event)); + rb_ary_push(events, pair); + } + + reset_timeline(); + + return events; +} + +static VALUE +thread_register_and_unregister_callback(VALUE thread) +{ + rb_internal_thread_event_hook_t * hooks[5]; + for (int i = 0; i < 5; i++) { + hooks[i] = rb_internal_thread_add_event_hook(ex_callback, RUBY_INTERNAL_THREAD_EVENT_READY, NULL); + } + + if (!rb_internal_thread_remove_event_hook(hooks[4])) return Qfalse; + if (!rb_internal_thread_remove_event_hook(hooks[0])) return Qfalse; + if (!rb_internal_thread_remove_event_hook(hooks[3])) return Qfalse; + if (!rb_internal_thread_remove_event_hook(hooks[2])) return Qfalse; + if (!rb_internal_thread_remove_event_hook(hooks[1])) return Qfalse; + return Qtrue; +} + +void +Init_instrumentation(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_module_under(mBug, "ThreadInstrumentation"); + rb_global_variable(&timeline_value); + timeline_value = TypedData_Wrap_Struct(0, &event_timeline_type, (void *)1); + + rb_define_singleton_method(klass, "register_callback", thread_register_callback, 1); + rb_define_singleton_method(klass, "unregister_callback", thread_unregister_callback, 0); + rb_define_singleton_method(klass, "register_and_unregister_callbacks", thread_register_and_unregister_callback, 0); +} diff --git a/ext/-test-/thread/lock_native_thread/depend b/ext/-test-/thread/lock_native_thread/depend new file mode 100644 index 0000000000..a32843e531 --- /dev/null +++ b/ext/-test-/thread/lock_native_thread/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +lock_native_thread.o: $(RUBY_EXTCONF_H) +lock_native_thread.o: $(arch_hdrdir)/ruby/config.h +lock_native_thread.o: $(hdrdir)/ruby/assert.h +lock_native_thread.o: $(hdrdir)/ruby/backward.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/assume.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/attributes.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/bool.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/inttypes.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/limits.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/long_long.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/stdalign.h +lock_native_thread.o: $(hdrdir)/ruby/backward/2/stdarg.h +lock_native_thread.o: $(hdrdir)/ruby/defines.h +lock_native_thread.o: $(hdrdir)/ruby/intern.h +lock_native_thread.o: $(hdrdir)/ruby/internal/abi.h +lock_native_thread.o: $(hdrdir)/ruby/internal/anyargs.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/char.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/double.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/int.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/long.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/short.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +lock_native_thread.o: $(hdrdir)/ruby/internal/assume.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/artificial.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/cold.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/const.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/constexpr.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/deprecated.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/error.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/forceinline.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/format.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/noalias.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/noexcept.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/noinline.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/nonnull.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/noreturn.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/pure.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/restrict.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/warning.h +lock_native_thread.o: $(hdrdir)/ruby/internal/attr/weakref.h +lock_native_thread.o: $(hdrdir)/ruby/internal/cast.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +lock_native_thread.o: $(hdrdir)/ruby/internal/compiler_since.h +lock_native_thread.o: $(hdrdir)/ruby/internal/config.h +lock_native_thread.o: $(hdrdir)/ruby/internal/constant_p.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rarray.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rbasic.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rbignum.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rclass.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rdata.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rfile.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rhash.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/robject.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rregexp.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rstring.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rstruct.h +lock_native_thread.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +lock_native_thread.o: $(hdrdir)/ruby/internal/ctype.h +lock_native_thread.o: $(hdrdir)/ruby/internal/dllexport.h +lock_native_thread.o: $(hdrdir)/ruby/internal/dosish.h +lock_native_thread.o: $(hdrdir)/ruby/internal/error.h +lock_native_thread.o: $(hdrdir)/ruby/internal/eval.h +lock_native_thread.o: $(hdrdir)/ruby/internal/event.h +lock_native_thread.o: $(hdrdir)/ruby/internal/fl_type.h +lock_native_thread.o: $(hdrdir)/ruby/internal/gc.h +lock_native_thread.o: $(hdrdir)/ruby/internal/glob.h +lock_native_thread.o: $(hdrdir)/ruby/internal/globals.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/attribute.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/builtin.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/c_attribute.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/extension.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/feature.h +lock_native_thread.o: $(hdrdir)/ruby/internal/has/warning.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/array.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/bignum.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/class.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/compar.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/complex.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/cont.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/dir.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/enum.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/enumerator.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/error.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/eval.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/file.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/hash.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/io.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/load.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/marshal.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/numeric.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/object.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/parse.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/proc.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/process.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/random.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/range.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/rational.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/re.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/ruby.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/select.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/set.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/signal.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/sprintf.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/string.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/struct.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/thread.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/time.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/variable.h +lock_native_thread.o: $(hdrdir)/ruby/internal/intern/vm.h +lock_native_thread.o: $(hdrdir)/ruby/internal/interpreter.h +lock_native_thread.o: $(hdrdir)/ruby/internal/iterator.h +lock_native_thread.o: $(hdrdir)/ruby/internal/memory.h +lock_native_thread.o: $(hdrdir)/ruby/internal/method.h +lock_native_thread.o: $(hdrdir)/ruby/internal/module.h +lock_native_thread.o: $(hdrdir)/ruby/internal/newobj.h +lock_native_thread.o: $(hdrdir)/ruby/internal/scan_args.h +lock_native_thread.o: $(hdrdir)/ruby/internal/special_consts.h +lock_native_thread.o: $(hdrdir)/ruby/internal/static_assert.h +lock_native_thread.o: $(hdrdir)/ruby/internal/stdalign.h +lock_native_thread.o: $(hdrdir)/ruby/internal/stdbool.h +lock_native_thread.o: $(hdrdir)/ruby/internal/stdckdint.h +lock_native_thread.o: $(hdrdir)/ruby/internal/symbol.h +lock_native_thread.o: $(hdrdir)/ruby/internal/value.h +lock_native_thread.o: $(hdrdir)/ruby/internal/value_type.h +lock_native_thread.o: $(hdrdir)/ruby/internal/variable.h +lock_native_thread.o: $(hdrdir)/ruby/internal/warning_push.h +lock_native_thread.o: $(hdrdir)/ruby/internal/xmalloc.h +lock_native_thread.o: $(hdrdir)/ruby/missing.h +lock_native_thread.o: $(hdrdir)/ruby/ruby.h +lock_native_thread.o: $(hdrdir)/ruby/st.h +lock_native_thread.o: $(hdrdir)/ruby/subst.h +lock_native_thread.o: $(hdrdir)/ruby/thread.h +lock_native_thread.o: lock_native_thread.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/thread/lock_native_thread/extconf.rb b/ext/-test-/thread/lock_native_thread/extconf.rb new file mode 100644 index 0000000000..832bfde01a --- /dev/null +++ b/ext/-test-/thread/lock_native_thread/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/thread/lock_native_thread") diff --git a/ext/-test-/thread/lock_native_thread/lock_native_thread.c b/ext/-test-/thread/lock_native_thread/lock_native_thread.c new file mode 100644 index 0000000000..2eb75809a9 --- /dev/null +++ b/ext/-test-/thread/lock_native_thread/lock_native_thread.c @@ -0,0 +1,50 @@ + +#include "ruby/ruby.h" +#include "ruby/thread.h" + +#ifdef HAVE_PTHREAD_H +#include <pthread.h> + +static pthread_key_t tls_key; + +static VALUE +get_tls(VALUE self) +{ + return (VALUE)pthread_getspecific(tls_key); +} + +static VALUE +set_tls(VALUE self, VALUE vn) +{ + pthread_setspecific(tls_key, (void *)vn); + return Qnil; +} + +static VALUE +lock_native_thread(VALUE self) +{ + return rb_thread_lock_native_thread() ? Qtrue : Qfalse; +} + +void +Init_lock_native_thread(void) +{ + int r; + + if ((r = pthread_key_create(&tls_key, NULL)) != 0) { + rb_bug("pthread_key_create() returns %d", r); + } + pthread_setspecific(tls_key, NULL); + + rb_define_method(rb_cThread, "lock_native_thread", lock_native_thread, 0); + rb_define_method(rb_cThread, "get_tls", get_tls, 0); + rb_define_method(rb_cThread, "set_tls", set_tls, 1); +} + +#else // HAVE_PTHREAD_H +void +Init_lock_native_thread(void) +{ + // do nothing +} +#endif // HAVE_PTHREAD_H diff --git a/ext/-test-/time/depend b/ext/-test-/time/depend new file mode 100644 index 0000000000..e5b05f3113 --- /dev/null +++ b/ext/-test-/time/depend @@ -0,0 +1,490 @@ +# AUTOGENERATED DEPENDENCIES START +init.o: $(RUBY_EXTCONF_H) +init.o: $(arch_hdrdir)/ruby/config.h +init.o: $(hdrdir)/ruby.h +init.o: $(hdrdir)/ruby/assert.h +init.o: $(hdrdir)/ruby/backward.h +init.o: $(hdrdir)/ruby/backward/2/assume.h +init.o: $(hdrdir)/ruby/backward/2/attributes.h +init.o: $(hdrdir)/ruby/backward/2/bool.h +init.o: $(hdrdir)/ruby/backward/2/inttypes.h +init.o: $(hdrdir)/ruby/backward/2/limits.h +init.o: $(hdrdir)/ruby/backward/2/long_long.h +init.o: $(hdrdir)/ruby/backward/2/stdalign.h +init.o: $(hdrdir)/ruby/backward/2/stdarg.h +init.o: $(hdrdir)/ruby/defines.h +init.o: $(hdrdir)/ruby/intern.h +init.o: $(hdrdir)/ruby/internal/abi.h +init.o: $(hdrdir)/ruby/internal/anyargs.h +init.o: $(hdrdir)/ruby/internal/arithmetic.h +init.o: $(hdrdir)/ruby/internal/arithmetic/char.h +init.o: $(hdrdir)/ruby/internal/arithmetic/double.h +init.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +init.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/int.h +init.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +init.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/short.h +init.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +init.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +init.o: $(hdrdir)/ruby/internal/assume.h +init.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +init.o: $(hdrdir)/ruby/internal/attr/artificial.h +init.o: $(hdrdir)/ruby/internal/attr/cold.h +init.o: $(hdrdir)/ruby/internal/attr/const.h +init.o: $(hdrdir)/ruby/internal/attr/constexpr.h +init.o: $(hdrdir)/ruby/internal/attr/deprecated.h +init.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +init.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +init.o: $(hdrdir)/ruby/internal/attr/error.h +init.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +init.o: $(hdrdir)/ruby/internal/attr/forceinline.h +init.o: $(hdrdir)/ruby/internal/attr/format.h +init.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +init.o: $(hdrdir)/ruby/internal/attr/noalias.h +init.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +init.o: $(hdrdir)/ruby/internal/attr/noexcept.h +init.o: $(hdrdir)/ruby/internal/attr/noinline.h +init.o: $(hdrdir)/ruby/internal/attr/nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/noreturn.h +init.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +init.o: $(hdrdir)/ruby/internal/attr/pure.h +init.o: $(hdrdir)/ruby/internal/attr/restrict.h +init.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +init.o: $(hdrdir)/ruby/internal/attr/warning.h +init.o: $(hdrdir)/ruby/internal/attr/weakref.h +init.o: $(hdrdir)/ruby/internal/cast.h +init.o: $(hdrdir)/ruby/internal/compiler_is.h +init.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +init.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +init.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +init.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +init.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +init.o: $(hdrdir)/ruby/internal/compiler_since.h +init.o: $(hdrdir)/ruby/internal/config.h +init.o: $(hdrdir)/ruby/internal/constant_p.h +init.o: $(hdrdir)/ruby/internal/core.h +init.o: $(hdrdir)/ruby/internal/core/rarray.h +init.o: $(hdrdir)/ruby/internal/core/rbasic.h +init.o: $(hdrdir)/ruby/internal/core/rbignum.h +init.o: $(hdrdir)/ruby/internal/core/rclass.h +init.o: $(hdrdir)/ruby/internal/core/rdata.h +init.o: $(hdrdir)/ruby/internal/core/rfile.h +init.o: $(hdrdir)/ruby/internal/core/rhash.h +init.o: $(hdrdir)/ruby/internal/core/robject.h +init.o: $(hdrdir)/ruby/internal/core/rregexp.h +init.o: $(hdrdir)/ruby/internal/core/rstring.h +init.o: $(hdrdir)/ruby/internal/core/rstruct.h +init.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +init.o: $(hdrdir)/ruby/internal/ctype.h +init.o: $(hdrdir)/ruby/internal/dllexport.h +init.o: $(hdrdir)/ruby/internal/dosish.h +init.o: $(hdrdir)/ruby/internal/error.h +init.o: $(hdrdir)/ruby/internal/eval.h +init.o: $(hdrdir)/ruby/internal/event.h +init.o: $(hdrdir)/ruby/internal/fl_type.h +init.o: $(hdrdir)/ruby/internal/gc.h +init.o: $(hdrdir)/ruby/internal/glob.h +init.o: $(hdrdir)/ruby/internal/globals.h +init.o: $(hdrdir)/ruby/internal/has/attribute.h +init.o: $(hdrdir)/ruby/internal/has/builtin.h +init.o: $(hdrdir)/ruby/internal/has/c_attribute.h +init.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +init.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +init.o: $(hdrdir)/ruby/internal/has/extension.h +init.o: $(hdrdir)/ruby/internal/has/feature.h +init.o: $(hdrdir)/ruby/internal/has/warning.h +init.o: $(hdrdir)/ruby/internal/intern/array.h +init.o: $(hdrdir)/ruby/internal/intern/bignum.h +init.o: $(hdrdir)/ruby/internal/intern/class.h +init.o: $(hdrdir)/ruby/internal/intern/compar.h +init.o: $(hdrdir)/ruby/internal/intern/complex.h +init.o: $(hdrdir)/ruby/internal/intern/cont.h +init.o: $(hdrdir)/ruby/internal/intern/dir.h +init.o: $(hdrdir)/ruby/internal/intern/enum.h +init.o: $(hdrdir)/ruby/internal/intern/enumerator.h +init.o: $(hdrdir)/ruby/internal/intern/error.h +init.o: $(hdrdir)/ruby/internal/intern/eval.h +init.o: $(hdrdir)/ruby/internal/intern/file.h +init.o: $(hdrdir)/ruby/internal/intern/hash.h +init.o: $(hdrdir)/ruby/internal/intern/io.h +init.o: $(hdrdir)/ruby/internal/intern/load.h +init.o: $(hdrdir)/ruby/internal/intern/marshal.h +init.o: $(hdrdir)/ruby/internal/intern/numeric.h +init.o: $(hdrdir)/ruby/internal/intern/object.h +init.o: $(hdrdir)/ruby/internal/intern/parse.h +init.o: $(hdrdir)/ruby/internal/intern/proc.h +init.o: $(hdrdir)/ruby/internal/intern/process.h +init.o: $(hdrdir)/ruby/internal/intern/random.h +init.o: $(hdrdir)/ruby/internal/intern/range.h +init.o: $(hdrdir)/ruby/internal/intern/rational.h +init.o: $(hdrdir)/ruby/internal/intern/re.h +init.o: $(hdrdir)/ruby/internal/intern/ruby.h +init.o: $(hdrdir)/ruby/internal/intern/select.h +init.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +init.o: $(hdrdir)/ruby/internal/intern/set.h +init.o: $(hdrdir)/ruby/internal/intern/signal.h +init.o: $(hdrdir)/ruby/internal/intern/sprintf.h +init.o: $(hdrdir)/ruby/internal/intern/string.h +init.o: $(hdrdir)/ruby/internal/intern/struct.h +init.o: $(hdrdir)/ruby/internal/intern/thread.h +init.o: $(hdrdir)/ruby/internal/intern/time.h +init.o: $(hdrdir)/ruby/internal/intern/variable.h +init.o: $(hdrdir)/ruby/internal/intern/vm.h +init.o: $(hdrdir)/ruby/internal/interpreter.h +init.o: $(hdrdir)/ruby/internal/iterator.h +init.o: $(hdrdir)/ruby/internal/memory.h +init.o: $(hdrdir)/ruby/internal/method.h +init.o: $(hdrdir)/ruby/internal/module.h +init.o: $(hdrdir)/ruby/internal/newobj.h +init.o: $(hdrdir)/ruby/internal/scan_args.h +init.o: $(hdrdir)/ruby/internal/special_consts.h +init.o: $(hdrdir)/ruby/internal/static_assert.h +init.o: $(hdrdir)/ruby/internal/stdalign.h +init.o: $(hdrdir)/ruby/internal/stdbool.h +init.o: $(hdrdir)/ruby/internal/stdckdint.h +init.o: $(hdrdir)/ruby/internal/symbol.h +init.o: $(hdrdir)/ruby/internal/value.h +init.o: $(hdrdir)/ruby/internal/value_type.h +init.o: $(hdrdir)/ruby/internal/variable.h +init.o: $(hdrdir)/ruby/internal/warning_push.h +init.o: $(hdrdir)/ruby/internal/xmalloc.h +init.o: $(hdrdir)/ruby/missing.h +init.o: $(hdrdir)/ruby/ruby.h +init.o: $(hdrdir)/ruby/st.h +init.o: $(hdrdir)/ruby/subst.h +init.o: init.c +leap_second.o: $(RUBY_EXTCONF_H) +leap_second.o: $(arch_hdrdir)/ruby/config.h +leap_second.o: $(hdrdir)/ruby.h +leap_second.o: $(hdrdir)/ruby/assert.h +leap_second.o: $(hdrdir)/ruby/backward.h +leap_second.o: $(hdrdir)/ruby/backward/2/assume.h +leap_second.o: $(hdrdir)/ruby/backward/2/attributes.h +leap_second.o: $(hdrdir)/ruby/backward/2/bool.h +leap_second.o: $(hdrdir)/ruby/backward/2/gcc_version_since.h +leap_second.o: $(hdrdir)/ruby/backward/2/inttypes.h +leap_second.o: $(hdrdir)/ruby/backward/2/limits.h +leap_second.o: $(hdrdir)/ruby/backward/2/long_long.h +leap_second.o: $(hdrdir)/ruby/backward/2/stdalign.h +leap_second.o: $(hdrdir)/ruby/backward/2/stdarg.h +leap_second.o: $(hdrdir)/ruby/defines.h +leap_second.o: $(hdrdir)/ruby/intern.h +leap_second.o: $(hdrdir)/ruby/internal/abi.h +leap_second.o: $(hdrdir)/ruby/internal/anyargs.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/char.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/double.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/int.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/long.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/short.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +leap_second.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +leap_second.o: $(hdrdir)/ruby/internal/assume.h +leap_second.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +leap_second.o: $(hdrdir)/ruby/internal/attr/artificial.h +leap_second.o: $(hdrdir)/ruby/internal/attr/cold.h +leap_second.o: $(hdrdir)/ruby/internal/attr/const.h +leap_second.o: $(hdrdir)/ruby/internal/attr/constexpr.h +leap_second.o: $(hdrdir)/ruby/internal/attr/deprecated.h +leap_second.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +leap_second.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +leap_second.o: $(hdrdir)/ruby/internal/attr/error.h +leap_second.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +leap_second.o: $(hdrdir)/ruby/internal/attr/forceinline.h +leap_second.o: $(hdrdir)/ruby/internal/attr/format.h +leap_second.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +leap_second.o: $(hdrdir)/ruby/internal/attr/noalias.h +leap_second.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +leap_second.o: $(hdrdir)/ruby/internal/attr/noexcept.h +leap_second.o: $(hdrdir)/ruby/internal/attr/noinline.h +leap_second.o: $(hdrdir)/ruby/internal/attr/nonnull.h +leap_second.o: $(hdrdir)/ruby/internal/attr/noreturn.h +leap_second.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +leap_second.o: $(hdrdir)/ruby/internal/attr/pure.h +leap_second.o: $(hdrdir)/ruby/internal/attr/restrict.h +leap_second.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +leap_second.o: $(hdrdir)/ruby/internal/attr/warning.h +leap_second.o: $(hdrdir)/ruby/internal/attr/weakref.h +leap_second.o: $(hdrdir)/ruby/internal/cast.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +leap_second.o: $(hdrdir)/ruby/internal/compiler_since.h +leap_second.o: $(hdrdir)/ruby/internal/config.h +leap_second.o: $(hdrdir)/ruby/internal/constant_p.h +leap_second.o: $(hdrdir)/ruby/internal/core.h +leap_second.o: $(hdrdir)/ruby/internal/core/rarray.h +leap_second.o: $(hdrdir)/ruby/internal/core/rbasic.h +leap_second.o: $(hdrdir)/ruby/internal/core/rbignum.h +leap_second.o: $(hdrdir)/ruby/internal/core/rclass.h +leap_second.o: $(hdrdir)/ruby/internal/core/rdata.h +leap_second.o: $(hdrdir)/ruby/internal/core/rfile.h +leap_second.o: $(hdrdir)/ruby/internal/core/rhash.h +leap_second.o: $(hdrdir)/ruby/internal/core/robject.h +leap_second.o: $(hdrdir)/ruby/internal/core/rregexp.h +leap_second.o: $(hdrdir)/ruby/internal/core/rstring.h +leap_second.o: $(hdrdir)/ruby/internal/core/rstruct.h +leap_second.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +leap_second.o: $(hdrdir)/ruby/internal/ctype.h +leap_second.o: $(hdrdir)/ruby/internal/dllexport.h +leap_second.o: $(hdrdir)/ruby/internal/dosish.h +leap_second.o: $(hdrdir)/ruby/internal/error.h +leap_second.o: $(hdrdir)/ruby/internal/eval.h +leap_second.o: $(hdrdir)/ruby/internal/event.h +leap_second.o: $(hdrdir)/ruby/internal/fl_type.h +leap_second.o: $(hdrdir)/ruby/internal/gc.h +leap_second.o: $(hdrdir)/ruby/internal/glob.h +leap_second.o: $(hdrdir)/ruby/internal/globals.h +leap_second.o: $(hdrdir)/ruby/internal/has/attribute.h +leap_second.o: $(hdrdir)/ruby/internal/has/builtin.h +leap_second.o: $(hdrdir)/ruby/internal/has/c_attribute.h +leap_second.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +leap_second.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +leap_second.o: $(hdrdir)/ruby/internal/has/extension.h +leap_second.o: $(hdrdir)/ruby/internal/has/feature.h +leap_second.o: $(hdrdir)/ruby/internal/has/warning.h +leap_second.o: $(hdrdir)/ruby/internal/intern/array.h +leap_second.o: $(hdrdir)/ruby/internal/intern/bignum.h +leap_second.o: $(hdrdir)/ruby/internal/intern/class.h +leap_second.o: $(hdrdir)/ruby/internal/intern/compar.h +leap_second.o: $(hdrdir)/ruby/internal/intern/complex.h +leap_second.o: $(hdrdir)/ruby/internal/intern/cont.h +leap_second.o: $(hdrdir)/ruby/internal/intern/dir.h +leap_second.o: $(hdrdir)/ruby/internal/intern/enum.h +leap_second.o: $(hdrdir)/ruby/internal/intern/enumerator.h +leap_second.o: $(hdrdir)/ruby/internal/intern/error.h +leap_second.o: $(hdrdir)/ruby/internal/intern/eval.h +leap_second.o: $(hdrdir)/ruby/internal/intern/file.h +leap_second.o: $(hdrdir)/ruby/internal/intern/hash.h +leap_second.o: $(hdrdir)/ruby/internal/intern/io.h +leap_second.o: $(hdrdir)/ruby/internal/intern/load.h +leap_second.o: $(hdrdir)/ruby/internal/intern/marshal.h +leap_second.o: $(hdrdir)/ruby/internal/intern/numeric.h +leap_second.o: $(hdrdir)/ruby/internal/intern/object.h +leap_second.o: $(hdrdir)/ruby/internal/intern/parse.h +leap_second.o: $(hdrdir)/ruby/internal/intern/proc.h +leap_second.o: $(hdrdir)/ruby/internal/intern/process.h +leap_second.o: $(hdrdir)/ruby/internal/intern/random.h +leap_second.o: $(hdrdir)/ruby/internal/intern/range.h +leap_second.o: $(hdrdir)/ruby/internal/intern/rational.h +leap_second.o: $(hdrdir)/ruby/internal/intern/re.h +leap_second.o: $(hdrdir)/ruby/internal/intern/ruby.h +leap_second.o: $(hdrdir)/ruby/internal/intern/select.h +leap_second.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +leap_second.o: $(hdrdir)/ruby/internal/intern/set.h +leap_second.o: $(hdrdir)/ruby/internal/intern/signal.h +leap_second.o: $(hdrdir)/ruby/internal/intern/sprintf.h +leap_second.o: $(hdrdir)/ruby/internal/intern/string.h +leap_second.o: $(hdrdir)/ruby/internal/intern/struct.h +leap_second.o: $(hdrdir)/ruby/internal/intern/thread.h +leap_second.o: $(hdrdir)/ruby/internal/intern/time.h +leap_second.o: $(hdrdir)/ruby/internal/intern/variable.h +leap_second.o: $(hdrdir)/ruby/internal/intern/vm.h +leap_second.o: $(hdrdir)/ruby/internal/interpreter.h +leap_second.o: $(hdrdir)/ruby/internal/iterator.h +leap_second.o: $(hdrdir)/ruby/internal/memory.h +leap_second.o: $(hdrdir)/ruby/internal/method.h +leap_second.o: $(hdrdir)/ruby/internal/module.h +leap_second.o: $(hdrdir)/ruby/internal/newobj.h +leap_second.o: $(hdrdir)/ruby/internal/scan_args.h +leap_second.o: $(hdrdir)/ruby/internal/special_consts.h +leap_second.o: $(hdrdir)/ruby/internal/static_assert.h +leap_second.o: $(hdrdir)/ruby/internal/stdalign.h +leap_second.o: $(hdrdir)/ruby/internal/stdbool.h +leap_second.o: $(hdrdir)/ruby/internal/stdckdint.h +leap_second.o: $(hdrdir)/ruby/internal/symbol.h +leap_second.o: $(hdrdir)/ruby/internal/value.h +leap_second.o: $(hdrdir)/ruby/internal/value_type.h +leap_second.o: $(hdrdir)/ruby/internal/variable.h +leap_second.o: $(hdrdir)/ruby/internal/warning_push.h +leap_second.o: $(hdrdir)/ruby/internal/xmalloc.h +leap_second.o: $(hdrdir)/ruby/missing.h +leap_second.o: $(hdrdir)/ruby/ruby.h +leap_second.o: $(hdrdir)/ruby/st.h +leap_second.o: $(hdrdir)/ruby/subst.h +leap_second.o: $(top_srcdir)/internal/bits.h +leap_second.o: $(top_srcdir)/internal/compilers.h +leap_second.o: $(top_srcdir)/internal/static_assert.h +leap_second.o: $(top_srcdir)/internal/time.h +leap_second.o: leap_second.c +new.o: $(RUBY_EXTCONF_H) +new.o: $(arch_hdrdir)/ruby/config.h +new.o: $(hdrdir)/ruby.h +new.o: $(hdrdir)/ruby/assert.h +new.o: $(hdrdir)/ruby/backward.h +new.o: $(hdrdir)/ruby/backward/2/assume.h +new.o: $(hdrdir)/ruby/backward/2/attributes.h +new.o: $(hdrdir)/ruby/backward/2/bool.h +new.o: $(hdrdir)/ruby/backward/2/inttypes.h +new.o: $(hdrdir)/ruby/backward/2/limits.h +new.o: $(hdrdir)/ruby/backward/2/long_long.h +new.o: $(hdrdir)/ruby/backward/2/stdalign.h +new.o: $(hdrdir)/ruby/backward/2/stdarg.h +new.o: $(hdrdir)/ruby/defines.h +new.o: $(hdrdir)/ruby/intern.h +new.o: $(hdrdir)/ruby/internal/abi.h +new.o: $(hdrdir)/ruby/internal/anyargs.h +new.o: $(hdrdir)/ruby/internal/arithmetic.h +new.o: $(hdrdir)/ruby/internal/arithmetic/char.h +new.o: $(hdrdir)/ruby/internal/arithmetic/double.h +new.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +new.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/int.h +new.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/long.h +new.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +new.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/short.h +new.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +new.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +new.o: $(hdrdir)/ruby/internal/assume.h +new.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +new.o: $(hdrdir)/ruby/internal/attr/artificial.h +new.o: $(hdrdir)/ruby/internal/attr/cold.h +new.o: $(hdrdir)/ruby/internal/attr/const.h +new.o: $(hdrdir)/ruby/internal/attr/constexpr.h +new.o: $(hdrdir)/ruby/internal/attr/deprecated.h +new.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +new.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +new.o: $(hdrdir)/ruby/internal/attr/error.h +new.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +new.o: $(hdrdir)/ruby/internal/attr/forceinline.h +new.o: $(hdrdir)/ruby/internal/attr/format.h +new.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +new.o: $(hdrdir)/ruby/internal/attr/noalias.h +new.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +new.o: $(hdrdir)/ruby/internal/attr/noexcept.h +new.o: $(hdrdir)/ruby/internal/attr/noinline.h +new.o: $(hdrdir)/ruby/internal/attr/nonnull.h +new.o: $(hdrdir)/ruby/internal/attr/noreturn.h +new.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +new.o: $(hdrdir)/ruby/internal/attr/pure.h +new.o: $(hdrdir)/ruby/internal/attr/restrict.h +new.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +new.o: $(hdrdir)/ruby/internal/attr/warning.h +new.o: $(hdrdir)/ruby/internal/attr/weakref.h +new.o: $(hdrdir)/ruby/internal/cast.h +new.o: $(hdrdir)/ruby/internal/compiler_is.h +new.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +new.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +new.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +new.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +new.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +new.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +new.o: $(hdrdir)/ruby/internal/compiler_since.h +new.o: $(hdrdir)/ruby/internal/config.h +new.o: $(hdrdir)/ruby/internal/constant_p.h +new.o: $(hdrdir)/ruby/internal/core.h +new.o: $(hdrdir)/ruby/internal/core/rarray.h +new.o: $(hdrdir)/ruby/internal/core/rbasic.h +new.o: $(hdrdir)/ruby/internal/core/rbignum.h +new.o: $(hdrdir)/ruby/internal/core/rclass.h +new.o: $(hdrdir)/ruby/internal/core/rdata.h +new.o: $(hdrdir)/ruby/internal/core/rfile.h +new.o: $(hdrdir)/ruby/internal/core/rhash.h +new.o: $(hdrdir)/ruby/internal/core/robject.h +new.o: $(hdrdir)/ruby/internal/core/rregexp.h +new.o: $(hdrdir)/ruby/internal/core/rstring.h +new.o: $(hdrdir)/ruby/internal/core/rstruct.h +new.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +new.o: $(hdrdir)/ruby/internal/ctype.h +new.o: $(hdrdir)/ruby/internal/dllexport.h +new.o: $(hdrdir)/ruby/internal/dosish.h +new.o: $(hdrdir)/ruby/internal/error.h +new.o: $(hdrdir)/ruby/internal/eval.h +new.o: $(hdrdir)/ruby/internal/event.h +new.o: $(hdrdir)/ruby/internal/fl_type.h +new.o: $(hdrdir)/ruby/internal/gc.h +new.o: $(hdrdir)/ruby/internal/glob.h +new.o: $(hdrdir)/ruby/internal/globals.h +new.o: $(hdrdir)/ruby/internal/has/attribute.h +new.o: $(hdrdir)/ruby/internal/has/builtin.h +new.o: $(hdrdir)/ruby/internal/has/c_attribute.h +new.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +new.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +new.o: $(hdrdir)/ruby/internal/has/extension.h +new.o: $(hdrdir)/ruby/internal/has/feature.h +new.o: $(hdrdir)/ruby/internal/has/warning.h +new.o: $(hdrdir)/ruby/internal/intern/array.h +new.o: $(hdrdir)/ruby/internal/intern/bignum.h +new.o: $(hdrdir)/ruby/internal/intern/class.h +new.o: $(hdrdir)/ruby/internal/intern/compar.h +new.o: $(hdrdir)/ruby/internal/intern/complex.h +new.o: $(hdrdir)/ruby/internal/intern/cont.h +new.o: $(hdrdir)/ruby/internal/intern/dir.h +new.o: $(hdrdir)/ruby/internal/intern/enum.h +new.o: $(hdrdir)/ruby/internal/intern/enumerator.h +new.o: $(hdrdir)/ruby/internal/intern/error.h +new.o: $(hdrdir)/ruby/internal/intern/eval.h +new.o: $(hdrdir)/ruby/internal/intern/file.h +new.o: $(hdrdir)/ruby/internal/intern/hash.h +new.o: $(hdrdir)/ruby/internal/intern/io.h +new.o: $(hdrdir)/ruby/internal/intern/load.h +new.o: $(hdrdir)/ruby/internal/intern/marshal.h +new.o: $(hdrdir)/ruby/internal/intern/numeric.h +new.o: $(hdrdir)/ruby/internal/intern/object.h +new.o: $(hdrdir)/ruby/internal/intern/parse.h +new.o: $(hdrdir)/ruby/internal/intern/proc.h +new.o: $(hdrdir)/ruby/internal/intern/process.h +new.o: $(hdrdir)/ruby/internal/intern/random.h +new.o: $(hdrdir)/ruby/internal/intern/range.h +new.o: $(hdrdir)/ruby/internal/intern/rational.h +new.o: $(hdrdir)/ruby/internal/intern/re.h +new.o: $(hdrdir)/ruby/internal/intern/ruby.h +new.o: $(hdrdir)/ruby/internal/intern/select.h +new.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +new.o: $(hdrdir)/ruby/internal/intern/set.h +new.o: $(hdrdir)/ruby/internal/intern/signal.h +new.o: $(hdrdir)/ruby/internal/intern/sprintf.h +new.o: $(hdrdir)/ruby/internal/intern/string.h +new.o: $(hdrdir)/ruby/internal/intern/struct.h +new.o: $(hdrdir)/ruby/internal/intern/thread.h +new.o: $(hdrdir)/ruby/internal/intern/time.h +new.o: $(hdrdir)/ruby/internal/intern/variable.h +new.o: $(hdrdir)/ruby/internal/intern/vm.h +new.o: $(hdrdir)/ruby/internal/interpreter.h +new.o: $(hdrdir)/ruby/internal/iterator.h +new.o: $(hdrdir)/ruby/internal/memory.h +new.o: $(hdrdir)/ruby/internal/method.h +new.o: $(hdrdir)/ruby/internal/module.h +new.o: $(hdrdir)/ruby/internal/newobj.h +new.o: $(hdrdir)/ruby/internal/scan_args.h +new.o: $(hdrdir)/ruby/internal/special_consts.h +new.o: $(hdrdir)/ruby/internal/static_assert.h +new.o: $(hdrdir)/ruby/internal/stdalign.h +new.o: $(hdrdir)/ruby/internal/stdbool.h +new.o: $(hdrdir)/ruby/internal/stdckdint.h +new.o: $(hdrdir)/ruby/internal/symbol.h +new.o: $(hdrdir)/ruby/internal/value.h +new.o: $(hdrdir)/ruby/internal/value_type.h +new.o: $(hdrdir)/ruby/internal/variable.h +new.o: $(hdrdir)/ruby/internal/warning_push.h +new.o: $(hdrdir)/ruby/internal/xmalloc.h +new.o: $(hdrdir)/ruby/missing.h +new.o: $(hdrdir)/ruby/ruby.h +new.o: $(hdrdir)/ruby/st.h +new.o: $(hdrdir)/ruby/subst.h +new.o: new.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/time/extconf.rb b/ext/-test-/time/extconf.rb new file mode 100644 index 0000000000..d786b15db9 --- /dev/null +++ b/ext/-test-/time/extconf.rb @@ -0,0 +1,3 @@ +# frozen_string_literal: false +require_relative "../auto_ext.rb" +auto_ext(inc: true) diff --git a/ext/-test-/time/init.c b/ext/-test-/time/init.c new file mode 100644 index 0000000000..91f8bf825b --- /dev/null +++ b/ext/-test-/time/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_time_##n(VALUE klass); Init_time_##n(klass);} + +void +Init_time(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "Time", rb_cTime); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/time/new.c b/ext/-test-/time/new.c new file mode 100644 index 0000000000..6f894417b6 --- /dev/null +++ b/ext/-test-/time/new.c @@ -0,0 +1,34 @@ +#include "ruby.h" + +static VALUE +bug_time_s_nano_new(VALUE klass, VALUE sec, VALUE nsec) +{ + return rb_time_nano_new(NUM2TIMET(sec), NUM2LONG(nsec)); +} + +static VALUE +bug_time_s_timespec_new(VALUE klass, VALUE sec, VALUE nsec, VALUE gmtoff) +{ + struct timespec ts; + ts.tv_sec = NUM2TIMET(sec); + ts.tv_nsec = NUM2LONG(nsec); + return rb_time_timespec_new(&ts, NUM2INT(gmtoff)); +} + +static VALUE +bug_time_s_timespec_now(VALUE klass) +{ + struct timespec ts; + VALUE v; + rb_timespec_now(&ts); + v = rb_Rational(LONG2NUM(ts.tv_nsec), LONG2NUM(1000000000L)); + return rb_num_coerce_bin(TIMET2NUM(ts.tv_sec), v, '+'); +} + +void +Init_time_new(VALUE klass) +{ + rb_define_singleton_method(klass, "nano_new", bug_time_s_nano_new, 2); + rb_define_singleton_method(klass, "timespec_new", bug_time_s_timespec_new, 3); + rb_define_singleton_method(klass, "timespec_now", bug_time_s_timespec_now, 0); +} diff --git a/ext/-test-/tracepoint/depend b/ext/-test-/tracepoint/depend new file mode 100644 index 0000000000..014ba83b16 --- /dev/null +++ b/ext/-test-/tracepoint/depend @@ -0,0 +1,324 @@ +# AUTOGENERATED DEPENDENCIES START +gc_hook.o: $(RUBY_EXTCONF_H) +gc_hook.o: $(arch_hdrdir)/ruby/config.h +gc_hook.o: $(hdrdir)/ruby/assert.h +gc_hook.o: $(hdrdir)/ruby/backward.h +gc_hook.o: $(hdrdir)/ruby/backward/2/assume.h +gc_hook.o: $(hdrdir)/ruby/backward/2/attributes.h +gc_hook.o: $(hdrdir)/ruby/backward/2/bool.h +gc_hook.o: $(hdrdir)/ruby/backward/2/inttypes.h +gc_hook.o: $(hdrdir)/ruby/backward/2/limits.h +gc_hook.o: $(hdrdir)/ruby/backward/2/long_long.h +gc_hook.o: $(hdrdir)/ruby/backward/2/stdalign.h +gc_hook.o: $(hdrdir)/ruby/backward/2/stdarg.h +gc_hook.o: $(hdrdir)/ruby/debug.h +gc_hook.o: $(hdrdir)/ruby/defines.h +gc_hook.o: $(hdrdir)/ruby/intern.h +gc_hook.o: $(hdrdir)/ruby/internal/abi.h +gc_hook.o: $(hdrdir)/ruby/internal/anyargs.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/char.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/double.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/int.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/long.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/short.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +gc_hook.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +gc_hook.o: $(hdrdir)/ruby/internal/assume.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/artificial.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/cold.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/const.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/constexpr.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/deprecated.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/error.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/forceinline.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/format.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/noalias.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/noexcept.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/noinline.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/nonnull.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/noreturn.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/pure.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/restrict.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/warning.h +gc_hook.o: $(hdrdir)/ruby/internal/attr/weakref.h +gc_hook.o: $(hdrdir)/ruby/internal/cast.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +gc_hook.o: $(hdrdir)/ruby/internal/compiler_since.h +gc_hook.o: $(hdrdir)/ruby/internal/config.h +gc_hook.o: $(hdrdir)/ruby/internal/constant_p.h +gc_hook.o: $(hdrdir)/ruby/internal/core.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rarray.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rbasic.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rbignum.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rclass.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rdata.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rfile.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rhash.h +gc_hook.o: $(hdrdir)/ruby/internal/core/robject.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rregexp.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rstring.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rstruct.h +gc_hook.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +gc_hook.o: $(hdrdir)/ruby/internal/ctype.h +gc_hook.o: $(hdrdir)/ruby/internal/dllexport.h +gc_hook.o: $(hdrdir)/ruby/internal/dosish.h +gc_hook.o: $(hdrdir)/ruby/internal/error.h +gc_hook.o: $(hdrdir)/ruby/internal/eval.h +gc_hook.o: $(hdrdir)/ruby/internal/event.h +gc_hook.o: $(hdrdir)/ruby/internal/fl_type.h +gc_hook.o: $(hdrdir)/ruby/internal/gc.h +gc_hook.o: $(hdrdir)/ruby/internal/glob.h +gc_hook.o: $(hdrdir)/ruby/internal/globals.h +gc_hook.o: $(hdrdir)/ruby/internal/has/attribute.h +gc_hook.o: $(hdrdir)/ruby/internal/has/builtin.h +gc_hook.o: $(hdrdir)/ruby/internal/has/c_attribute.h +gc_hook.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +gc_hook.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +gc_hook.o: $(hdrdir)/ruby/internal/has/extension.h +gc_hook.o: $(hdrdir)/ruby/internal/has/feature.h +gc_hook.o: $(hdrdir)/ruby/internal/has/warning.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/array.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/bignum.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/class.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/compar.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/complex.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/cont.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/dir.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/enum.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/enumerator.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/error.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/eval.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/file.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/hash.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/io.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/load.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/marshal.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/numeric.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/object.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/parse.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/proc.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/process.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/random.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/range.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/rational.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/re.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/ruby.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/select.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/set.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/signal.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/sprintf.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/string.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/struct.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/thread.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/time.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/variable.h +gc_hook.o: $(hdrdir)/ruby/internal/intern/vm.h +gc_hook.o: $(hdrdir)/ruby/internal/interpreter.h +gc_hook.o: $(hdrdir)/ruby/internal/iterator.h +gc_hook.o: $(hdrdir)/ruby/internal/memory.h +gc_hook.o: $(hdrdir)/ruby/internal/method.h +gc_hook.o: $(hdrdir)/ruby/internal/module.h +gc_hook.o: $(hdrdir)/ruby/internal/newobj.h +gc_hook.o: $(hdrdir)/ruby/internal/scan_args.h +gc_hook.o: $(hdrdir)/ruby/internal/special_consts.h +gc_hook.o: $(hdrdir)/ruby/internal/static_assert.h +gc_hook.o: $(hdrdir)/ruby/internal/stdalign.h +gc_hook.o: $(hdrdir)/ruby/internal/stdbool.h +gc_hook.o: $(hdrdir)/ruby/internal/stdckdint.h +gc_hook.o: $(hdrdir)/ruby/internal/symbol.h +gc_hook.o: $(hdrdir)/ruby/internal/value.h +gc_hook.o: $(hdrdir)/ruby/internal/value_type.h +gc_hook.o: $(hdrdir)/ruby/internal/variable.h +gc_hook.o: $(hdrdir)/ruby/internal/warning_push.h +gc_hook.o: $(hdrdir)/ruby/internal/xmalloc.h +gc_hook.o: $(hdrdir)/ruby/missing.h +gc_hook.o: $(hdrdir)/ruby/ruby.h +gc_hook.o: $(hdrdir)/ruby/st.h +gc_hook.o: $(hdrdir)/ruby/subst.h +gc_hook.o: gc_hook.c +tracepoint.o: $(RUBY_EXTCONF_H) +tracepoint.o: $(arch_hdrdir)/ruby/config.h +tracepoint.o: $(hdrdir)/ruby/assert.h +tracepoint.o: $(hdrdir)/ruby/backward.h +tracepoint.o: $(hdrdir)/ruby/backward/2/assume.h +tracepoint.o: $(hdrdir)/ruby/backward/2/attributes.h +tracepoint.o: $(hdrdir)/ruby/backward/2/bool.h +tracepoint.o: $(hdrdir)/ruby/backward/2/inttypes.h +tracepoint.o: $(hdrdir)/ruby/backward/2/limits.h +tracepoint.o: $(hdrdir)/ruby/backward/2/long_long.h +tracepoint.o: $(hdrdir)/ruby/backward/2/stdalign.h +tracepoint.o: $(hdrdir)/ruby/backward/2/stdarg.h +tracepoint.o: $(hdrdir)/ruby/debug.h +tracepoint.o: $(hdrdir)/ruby/defines.h +tracepoint.o: $(hdrdir)/ruby/intern.h +tracepoint.o: $(hdrdir)/ruby/internal/abi.h +tracepoint.o: $(hdrdir)/ruby/internal/anyargs.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/char.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/double.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/int.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/long.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/short.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +tracepoint.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +tracepoint.o: $(hdrdir)/ruby/internal/assume.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/artificial.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/cold.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/const.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/constexpr.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/deprecated.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/error.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/forceinline.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/format.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/noalias.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/noexcept.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/noinline.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/nonnull.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/noreturn.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/pure.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/restrict.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/warning.h +tracepoint.o: $(hdrdir)/ruby/internal/attr/weakref.h +tracepoint.o: $(hdrdir)/ruby/internal/cast.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +tracepoint.o: $(hdrdir)/ruby/internal/compiler_since.h +tracepoint.o: $(hdrdir)/ruby/internal/config.h +tracepoint.o: $(hdrdir)/ruby/internal/constant_p.h +tracepoint.o: $(hdrdir)/ruby/internal/core.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rarray.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rbasic.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rbignum.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rclass.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rdata.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rfile.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rhash.h +tracepoint.o: $(hdrdir)/ruby/internal/core/robject.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rregexp.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rstring.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rstruct.h +tracepoint.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +tracepoint.o: $(hdrdir)/ruby/internal/ctype.h +tracepoint.o: $(hdrdir)/ruby/internal/dllexport.h +tracepoint.o: $(hdrdir)/ruby/internal/dosish.h +tracepoint.o: $(hdrdir)/ruby/internal/error.h +tracepoint.o: $(hdrdir)/ruby/internal/eval.h +tracepoint.o: $(hdrdir)/ruby/internal/event.h +tracepoint.o: $(hdrdir)/ruby/internal/fl_type.h +tracepoint.o: $(hdrdir)/ruby/internal/gc.h +tracepoint.o: $(hdrdir)/ruby/internal/glob.h +tracepoint.o: $(hdrdir)/ruby/internal/globals.h +tracepoint.o: $(hdrdir)/ruby/internal/has/attribute.h +tracepoint.o: $(hdrdir)/ruby/internal/has/builtin.h +tracepoint.o: $(hdrdir)/ruby/internal/has/c_attribute.h +tracepoint.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +tracepoint.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +tracepoint.o: $(hdrdir)/ruby/internal/has/extension.h +tracepoint.o: $(hdrdir)/ruby/internal/has/feature.h +tracepoint.o: $(hdrdir)/ruby/internal/has/warning.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/array.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/bignum.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/class.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/compar.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/complex.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/cont.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/dir.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/enum.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/enumerator.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/error.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/eval.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/file.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/hash.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/io.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/load.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/marshal.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/numeric.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/object.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/parse.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/proc.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/process.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/random.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/range.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/rational.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/re.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/ruby.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/select.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/set.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/signal.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/sprintf.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/string.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/struct.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/thread.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/time.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/variable.h +tracepoint.o: $(hdrdir)/ruby/internal/intern/vm.h +tracepoint.o: $(hdrdir)/ruby/internal/interpreter.h +tracepoint.o: $(hdrdir)/ruby/internal/iterator.h +tracepoint.o: $(hdrdir)/ruby/internal/memory.h +tracepoint.o: $(hdrdir)/ruby/internal/method.h +tracepoint.o: $(hdrdir)/ruby/internal/module.h +tracepoint.o: $(hdrdir)/ruby/internal/newobj.h +tracepoint.o: $(hdrdir)/ruby/internal/scan_args.h +tracepoint.o: $(hdrdir)/ruby/internal/special_consts.h +tracepoint.o: $(hdrdir)/ruby/internal/static_assert.h +tracepoint.o: $(hdrdir)/ruby/internal/stdalign.h +tracepoint.o: $(hdrdir)/ruby/internal/stdbool.h +tracepoint.o: $(hdrdir)/ruby/internal/stdckdint.h +tracepoint.o: $(hdrdir)/ruby/internal/symbol.h +tracepoint.o: $(hdrdir)/ruby/internal/value.h +tracepoint.o: $(hdrdir)/ruby/internal/value_type.h +tracepoint.o: $(hdrdir)/ruby/internal/variable.h +tracepoint.o: $(hdrdir)/ruby/internal/warning_push.h +tracepoint.o: $(hdrdir)/ruby/internal/xmalloc.h +tracepoint.o: $(hdrdir)/ruby/missing.h +tracepoint.o: $(hdrdir)/ruby/ruby.h +tracepoint.o: $(hdrdir)/ruby/st.h +tracepoint.o: $(hdrdir)/ruby/subst.h +tracepoint.o: tracepoint.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/tracepoint/extconf.rb b/ext/-test-/tracepoint/extconf.rb new file mode 100644 index 0000000000..2b7258d072 --- /dev/null +++ b/ext/-test-/tracepoint/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/tracepoint") diff --git a/ext/-test-/tracepoint/gc_hook.c b/ext/-test-/tracepoint/gc_hook.c new file mode 100644 index 0000000000..525be6da63 --- /dev/null +++ b/ext/-test-/tracepoint/gc_hook.c @@ -0,0 +1,89 @@ +#include "ruby/ruby.h" +#include "ruby/debug.h" + +static int invoking; /* TODO: should not be global variable */ +extern VALUE tp_mBug; + +static VALUE +invoke_proc_ensure(VALUE _) +{ + invoking = 0; + return Qnil; +} + +static VALUE +invoke_proc_begin(VALUE proc) +{ + return rb_proc_call(proc, rb_ary_new()); +} + +static void +invoke_proc(void *ivar_name) +{ + VALUE proc = rb_ivar_get(tp_mBug, rb_intern(ivar_name)); + invoking += 1; + rb_ensure(invoke_proc_begin, proc, invoke_proc_ensure, 0); +} + +static void +gc_start_end_i(VALUE tpval, void *data) +{ + if (0) { + rb_trace_arg_t *tparg = rb_tracearg_from_tracepoint(tpval); + fprintf(stderr, "trace: %s\n", rb_tracearg_event_flag(tparg) == RUBY_INTERNAL_EVENT_GC_START ? "gc_start" : "gc_end"); + } + + if (invoking == 0) { + /* will overwrite the existing handle with new data on the second and subsequent call */ + rb_postponed_job_handle_t h = rb_postponed_job_preregister(0, invoke_proc, data); + rb_postponed_job_trigger(h); + } +} + +static VALUE +set_gc_hook(VALUE proc, rb_event_flag_t event, const char *tp_str, const char *proc_str) +{ + VALUE tpval; + ID tp_key = rb_intern(tp_str); + + /* disable previous keys */ + if (rb_ivar_defined(tp_mBug, tp_key) != 0 && + RTEST(tpval = rb_ivar_get(tp_mBug, tp_key))) { + rb_tracepoint_disable(tpval); + rb_ivar_set(tp_mBug, tp_key, Qnil); + } + + if (RTEST(proc)) { + if (!rb_obj_is_proc(proc)) { + rb_raise(rb_eTypeError, "trace_func needs to be Proc"); + } + + rb_ivar_set(tp_mBug, rb_intern(proc_str), proc); + tpval = rb_tracepoint_new(0, event, gc_start_end_i, (void *)proc_str); + rb_ivar_set(tp_mBug, tp_key, tpval); + rb_tracepoint_enable(tpval); + } + + return proc; +} + +static VALUE +set_after_gc_start(VALUE _self, VALUE proc) +{ + return set_gc_hook(proc, RUBY_INTERNAL_EVENT_GC_START, + "__set_after_gc_start_tpval__", "__set_after_gc_start_proc__"); +} + +static VALUE +start_after_gc_exit(VALUE _self, VALUE proc) +{ + return set_gc_hook(proc, RUBY_INTERNAL_EVENT_GC_EXIT, + "__set_after_gc_exit_tpval__", "__set_after_gc_exit_proc__"); +} + +void +Init_gc_hook(VALUE module) +{ + rb_define_module_function(module, "after_gc_start_hook=", set_after_gc_start, 1); + rb_define_module_function(module, "after_gc_exit_hook=", start_after_gc_exit, 1); +} diff --git a/ext/-test-/tracepoint/tracepoint.c b/ext/-test-/tracepoint/tracepoint.c new file mode 100644 index 0000000000..001d9513b2 --- /dev/null +++ b/ext/-test-/tracepoint/tracepoint.c @@ -0,0 +1,98 @@ +#include "ruby/ruby.h" +#include "ruby/debug.h" + +VALUE tp_mBug; + +struct tracepoint_track { + size_t newobj_count; + size_t free_count; + size_t gc_start_count; + size_t gc_end_mark_count; + size_t gc_end_sweep_count; + size_t objects_count; + VALUE objects[10]; +}; + +#define objects_max (sizeof(((struct tracepoint_track *)NULL)->objects)/sizeof(VALUE)) + +static void +tracepoint_track_objspace_events_i(VALUE tpval, void *data) +{ + rb_trace_arg_t *tparg = rb_tracearg_from_tracepoint(tpval); + struct tracepoint_track *track = data; + + switch (rb_tracearg_event_flag(tparg)) { + case RUBY_INTERNAL_EVENT_NEWOBJ: + { + VALUE obj = rb_tracearg_object(tparg); + if (track->objects_count < objects_max) + track->objects[track->objects_count++] = obj; + track->newobj_count++; + break; + } + case RUBY_INTERNAL_EVENT_FREEOBJ: + { + track->free_count++; + break; + } + case RUBY_INTERNAL_EVENT_GC_START: + { + track->gc_start_count++; + break; + } + case RUBY_INTERNAL_EVENT_GC_END_MARK: + { + track->gc_end_mark_count++; + break; + } + case RUBY_INTERNAL_EVENT_GC_END_SWEEP: + { + track->gc_end_sweep_count++; + break; + } + default: + rb_raise(rb_eRuntimeError, "unknown event"); + } +} + +static VALUE +tracepoint_track_objspace_events(VALUE self) +{ + struct tracepoint_track track = {0, 0, 0, 0, 0,}; + VALUE tpval = rb_tracepoint_new(0, RUBY_INTERNAL_EVENT_NEWOBJ | RUBY_INTERNAL_EVENT_FREEOBJ | + RUBY_INTERNAL_EVENT_GC_START | RUBY_INTERNAL_EVENT_GC_END_MARK | + RUBY_INTERNAL_EVENT_GC_END_SWEEP, + tracepoint_track_objspace_events_i, &track); + VALUE result = rb_ary_new(); + + rb_tracepoint_enable(tpval); + rb_ensure(rb_yield, Qundef, rb_tracepoint_disable, tpval); + + rb_ary_push(result, SIZET2NUM(track.newobj_count)); + rb_ary_push(result, SIZET2NUM(track.free_count)); + rb_ary_push(result, SIZET2NUM(track.gc_start_count)); + rb_ary_push(result, SIZET2NUM(track.gc_end_mark_count)); + rb_ary_push(result, SIZET2NUM(track.gc_end_sweep_count)); + rb_ary_cat(result, track.objects, track.objects_count); + + return result; +} + +static VALUE +tracepoint_specify_normal_and_internal_events(VALUE self) +{ + VALUE tpval = rb_tracepoint_new(0, RUBY_INTERNAL_EVENT_NEWOBJ | RUBY_EVENT_CALL, 0, 0); + rb_tracepoint_enable(tpval); + return Qnil; /* should not be reached */ +} + +void Init_gc_hook(VALUE); + +void +Init_tracepoint(void) +{ + tp_mBug = rb_define_module("Bug"); // GC root + Init_gc_hook(tp_mBug); + rb_define_module_function(tp_mBug, "tracepoint_track_objspace_events", tracepoint_track_objspace_events, 0); + rb_define_module_function(tp_mBug, "tracepoint_specify_normal_and_internal_events", tracepoint_specify_normal_and_internal_events, 0); +} diff --git a/ext/-test-/typeddata/depend b/ext/-test-/typeddata/depend new file mode 100644 index 0000000000..b9b4915eee --- /dev/null +++ b/ext/-test-/typeddata/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +typeddata.o: $(RUBY_EXTCONF_H) +typeddata.o: $(arch_hdrdir)/ruby/config.h +typeddata.o: $(hdrdir)/ruby.h +typeddata.o: $(hdrdir)/ruby/assert.h +typeddata.o: $(hdrdir)/ruby/backward.h +typeddata.o: $(hdrdir)/ruby/backward/2/assume.h +typeddata.o: $(hdrdir)/ruby/backward/2/attributes.h +typeddata.o: $(hdrdir)/ruby/backward/2/bool.h +typeddata.o: $(hdrdir)/ruby/backward/2/inttypes.h +typeddata.o: $(hdrdir)/ruby/backward/2/limits.h +typeddata.o: $(hdrdir)/ruby/backward/2/long_long.h +typeddata.o: $(hdrdir)/ruby/backward/2/stdalign.h +typeddata.o: $(hdrdir)/ruby/backward/2/stdarg.h +typeddata.o: $(hdrdir)/ruby/defines.h +typeddata.o: $(hdrdir)/ruby/intern.h +typeddata.o: $(hdrdir)/ruby/internal/abi.h +typeddata.o: $(hdrdir)/ruby/internal/anyargs.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/char.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/double.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/int.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/long.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/short.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +typeddata.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +typeddata.o: $(hdrdir)/ruby/internal/assume.h +typeddata.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +typeddata.o: $(hdrdir)/ruby/internal/attr/artificial.h +typeddata.o: $(hdrdir)/ruby/internal/attr/cold.h +typeddata.o: $(hdrdir)/ruby/internal/attr/const.h +typeddata.o: $(hdrdir)/ruby/internal/attr/constexpr.h +typeddata.o: $(hdrdir)/ruby/internal/attr/deprecated.h +typeddata.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +typeddata.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +typeddata.o: $(hdrdir)/ruby/internal/attr/error.h +typeddata.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +typeddata.o: $(hdrdir)/ruby/internal/attr/forceinline.h +typeddata.o: $(hdrdir)/ruby/internal/attr/format.h +typeddata.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +typeddata.o: $(hdrdir)/ruby/internal/attr/noalias.h +typeddata.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +typeddata.o: $(hdrdir)/ruby/internal/attr/noexcept.h +typeddata.o: $(hdrdir)/ruby/internal/attr/noinline.h +typeddata.o: $(hdrdir)/ruby/internal/attr/nonnull.h +typeddata.o: $(hdrdir)/ruby/internal/attr/noreturn.h +typeddata.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +typeddata.o: $(hdrdir)/ruby/internal/attr/pure.h +typeddata.o: $(hdrdir)/ruby/internal/attr/restrict.h +typeddata.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +typeddata.o: $(hdrdir)/ruby/internal/attr/warning.h +typeddata.o: $(hdrdir)/ruby/internal/attr/weakref.h +typeddata.o: $(hdrdir)/ruby/internal/cast.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +typeddata.o: $(hdrdir)/ruby/internal/compiler_since.h +typeddata.o: $(hdrdir)/ruby/internal/config.h +typeddata.o: $(hdrdir)/ruby/internal/constant_p.h +typeddata.o: $(hdrdir)/ruby/internal/core.h +typeddata.o: $(hdrdir)/ruby/internal/core/rarray.h +typeddata.o: $(hdrdir)/ruby/internal/core/rbasic.h +typeddata.o: $(hdrdir)/ruby/internal/core/rbignum.h +typeddata.o: $(hdrdir)/ruby/internal/core/rclass.h +typeddata.o: $(hdrdir)/ruby/internal/core/rdata.h +typeddata.o: $(hdrdir)/ruby/internal/core/rfile.h +typeddata.o: $(hdrdir)/ruby/internal/core/rhash.h +typeddata.o: $(hdrdir)/ruby/internal/core/robject.h +typeddata.o: $(hdrdir)/ruby/internal/core/rregexp.h +typeddata.o: $(hdrdir)/ruby/internal/core/rstring.h +typeddata.o: $(hdrdir)/ruby/internal/core/rstruct.h +typeddata.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +typeddata.o: $(hdrdir)/ruby/internal/ctype.h +typeddata.o: $(hdrdir)/ruby/internal/dllexport.h +typeddata.o: $(hdrdir)/ruby/internal/dosish.h +typeddata.o: $(hdrdir)/ruby/internal/error.h +typeddata.o: $(hdrdir)/ruby/internal/eval.h +typeddata.o: $(hdrdir)/ruby/internal/event.h +typeddata.o: $(hdrdir)/ruby/internal/fl_type.h +typeddata.o: $(hdrdir)/ruby/internal/gc.h +typeddata.o: $(hdrdir)/ruby/internal/glob.h +typeddata.o: $(hdrdir)/ruby/internal/globals.h +typeddata.o: $(hdrdir)/ruby/internal/has/attribute.h +typeddata.o: $(hdrdir)/ruby/internal/has/builtin.h +typeddata.o: $(hdrdir)/ruby/internal/has/c_attribute.h +typeddata.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +typeddata.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +typeddata.o: $(hdrdir)/ruby/internal/has/extension.h +typeddata.o: $(hdrdir)/ruby/internal/has/feature.h +typeddata.o: $(hdrdir)/ruby/internal/has/warning.h +typeddata.o: $(hdrdir)/ruby/internal/intern/array.h +typeddata.o: $(hdrdir)/ruby/internal/intern/bignum.h +typeddata.o: $(hdrdir)/ruby/internal/intern/class.h +typeddata.o: $(hdrdir)/ruby/internal/intern/compar.h +typeddata.o: $(hdrdir)/ruby/internal/intern/complex.h +typeddata.o: $(hdrdir)/ruby/internal/intern/cont.h +typeddata.o: $(hdrdir)/ruby/internal/intern/dir.h +typeddata.o: $(hdrdir)/ruby/internal/intern/enum.h +typeddata.o: $(hdrdir)/ruby/internal/intern/enumerator.h +typeddata.o: $(hdrdir)/ruby/internal/intern/error.h +typeddata.o: $(hdrdir)/ruby/internal/intern/eval.h +typeddata.o: $(hdrdir)/ruby/internal/intern/file.h +typeddata.o: $(hdrdir)/ruby/internal/intern/hash.h +typeddata.o: $(hdrdir)/ruby/internal/intern/io.h +typeddata.o: $(hdrdir)/ruby/internal/intern/load.h +typeddata.o: $(hdrdir)/ruby/internal/intern/marshal.h +typeddata.o: $(hdrdir)/ruby/internal/intern/numeric.h +typeddata.o: $(hdrdir)/ruby/internal/intern/object.h +typeddata.o: $(hdrdir)/ruby/internal/intern/parse.h +typeddata.o: $(hdrdir)/ruby/internal/intern/proc.h +typeddata.o: $(hdrdir)/ruby/internal/intern/process.h +typeddata.o: $(hdrdir)/ruby/internal/intern/random.h +typeddata.o: $(hdrdir)/ruby/internal/intern/range.h +typeddata.o: $(hdrdir)/ruby/internal/intern/rational.h +typeddata.o: $(hdrdir)/ruby/internal/intern/re.h +typeddata.o: $(hdrdir)/ruby/internal/intern/ruby.h +typeddata.o: $(hdrdir)/ruby/internal/intern/select.h +typeddata.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +typeddata.o: $(hdrdir)/ruby/internal/intern/set.h +typeddata.o: $(hdrdir)/ruby/internal/intern/signal.h +typeddata.o: $(hdrdir)/ruby/internal/intern/sprintf.h +typeddata.o: $(hdrdir)/ruby/internal/intern/string.h +typeddata.o: $(hdrdir)/ruby/internal/intern/struct.h +typeddata.o: $(hdrdir)/ruby/internal/intern/thread.h +typeddata.o: $(hdrdir)/ruby/internal/intern/time.h +typeddata.o: $(hdrdir)/ruby/internal/intern/variable.h +typeddata.o: $(hdrdir)/ruby/internal/intern/vm.h +typeddata.o: $(hdrdir)/ruby/internal/interpreter.h +typeddata.o: $(hdrdir)/ruby/internal/iterator.h +typeddata.o: $(hdrdir)/ruby/internal/memory.h +typeddata.o: $(hdrdir)/ruby/internal/method.h +typeddata.o: $(hdrdir)/ruby/internal/module.h +typeddata.o: $(hdrdir)/ruby/internal/newobj.h +typeddata.o: $(hdrdir)/ruby/internal/scan_args.h +typeddata.o: $(hdrdir)/ruby/internal/special_consts.h +typeddata.o: $(hdrdir)/ruby/internal/static_assert.h +typeddata.o: $(hdrdir)/ruby/internal/stdalign.h +typeddata.o: $(hdrdir)/ruby/internal/stdbool.h +typeddata.o: $(hdrdir)/ruby/internal/stdckdint.h +typeddata.o: $(hdrdir)/ruby/internal/symbol.h +typeddata.o: $(hdrdir)/ruby/internal/value.h +typeddata.o: $(hdrdir)/ruby/internal/value_type.h +typeddata.o: $(hdrdir)/ruby/internal/variable.h +typeddata.o: $(hdrdir)/ruby/internal/warning_push.h +typeddata.o: $(hdrdir)/ruby/internal/xmalloc.h +typeddata.o: $(hdrdir)/ruby/missing.h +typeddata.o: $(hdrdir)/ruby/ruby.h +typeddata.o: $(hdrdir)/ruby/st.h +typeddata.o: $(hdrdir)/ruby/subst.h +typeddata.o: typeddata.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/typeddata/extconf.rb b/ext/-test-/typeddata/extconf.rb new file mode 100644 index 0000000000..731701111b --- /dev/null +++ b/ext/-test-/typeddata/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/typeddata") diff --git a/ext/-test-/typeddata/typeddata.c b/ext/-test-/typeddata/typeddata.c new file mode 100644 index 0000000000..cf3178fd18 --- /dev/null +++ b/ext/-test-/typeddata/typeddata.c @@ -0,0 +1,44 @@ +#include <ruby.h> + +static const rb_data_type_t test_data = { + "typed_data", + {0, ruby_xfree, 0}, + NULL, NULL, + 0/* deferred free */, +}; + +static VALUE +test_alloc(VALUE klass) +{ + char *p; + return TypedData_Make_Struct(klass, char, &test_data, p); +} + +static VALUE +test_check(VALUE self, VALUE obj) +{ + rb_check_typeddata(obj, &test_data); + return obj; +} + +static VALUE +test_make(VALUE klass, VALUE num) +{ + unsigned long i, n = NUM2UINT(num); + + for (i = 0; i < n; i++) { + test_alloc(klass); + } + + return Qnil; +} + +void +Init_typeddata(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE klass = rb_define_class_under(mBug, "TypedData", rb_cObject); + rb_define_alloc_func(klass, test_alloc); + rb_define_singleton_method(klass, "check", test_check, 1); + rb_define_singleton_method(klass, "make", test_make, 1); +} diff --git a/ext/-test-/vm/at_exit.c b/ext/-test-/vm/at_exit.c new file mode 100644 index 0000000000..efc439b26a --- /dev/null +++ b/ext/-test-/vm/at_exit.c @@ -0,0 +1,44 @@ +#include <ruby/ruby.h> +#include <ruby/vm.h> + +static void +do_nothing(ruby_vm_t *vm) +{ +} + +static void +print_begin(ruby_vm_t *vm) +{ + printf("begin\n"); +} + +static void +print_end(ruby_vm_t *vm) +{ + printf("end\n"); +} + +static VALUE +register_at_exit(VALUE self, VALUE t) +{ + switch (t) { + case Qtrue: + ruby_vm_at_exit(print_begin); + break; + case Qfalse: + ruby_vm_at_exit(print_end); + break; + default: + ruby_vm_at_exit(do_nothing); + break; + } + return self; +} + +void +Init_at_exit(void) +{ + VALUE m = rb_define_module("Bug"); + VALUE c = rb_define_class_under(m, "VM", rb_cObject); + rb_define_singleton_method(c, "register_at_exit", register_at_exit, 1); +} diff --git a/ext/-test-/vm/depend b/ext/-test-/vm/depend new file mode 100644 index 0000000000..9313f2ee36 --- /dev/null +++ b/ext/-test-/vm/depend @@ -0,0 +1,163 @@ +# AUTOGENERATED DEPENDENCIES START +at_exit.o: $(RUBY_EXTCONF_H) +at_exit.o: $(arch_hdrdir)/ruby/config.h +at_exit.o: $(hdrdir)/ruby/assert.h +at_exit.o: $(hdrdir)/ruby/backward.h +at_exit.o: $(hdrdir)/ruby/backward/2/assume.h +at_exit.o: $(hdrdir)/ruby/backward/2/attributes.h +at_exit.o: $(hdrdir)/ruby/backward/2/bool.h +at_exit.o: $(hdrdir)/ruby/backward/2/inttypes.h +at_exit.o: $(hdrdir)/ruby/backward/2/limits.h +at_exit.o: $(hdrdir)/ruby/backward/2/long_long.h +at_exit.o: $(hdrdir)/ruby/backward/2/stdalign.h +at_exit.o: $(hdrdir)/ruby/backward/2/stdarg.h +at_exit.o: $(hdrdir)/ruby/defines.h +at_exit.o: $(hdrdir)/ruby/intern.h +at_exit.o: $(hdrdir)/ruby/internal/abi.h +at_exit.o: $(hdrdir)/ruby/internal/anyargs.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/char.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/double.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/int.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/long.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/short.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +at_exit.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +at_exit.o: $(hdrdir)/ruby/internal/assume.h +at_exit.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +at_exit.o: $(hdrdir)/ruby/internal/attr/artificial.h +at_exit.o: $(hdrdir)/ruby/internal/attr/cold.h +at_exit.o: $(hdrdir)/ruby/internal/attr/const.h +at_exit.o: $(hdrdir)/ruby/internal/attr/constexpr.h +at_exit.o: $(hdrdir)/ruby/internal/attr/deprecated.h +at_exit.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +at_exit.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +at_exit.o: $(hdrdir)/ruby/internal/attr/error.h +at_exit.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +at_exit.o: $(hdrdir)/ruby/internal/attr/forceinline.h +at_exit.o: $(hdrdir)/ruby/internal/attr/format.h +at_exit.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +at_exit.o: $(hdrdir)/ruby/internal/attr/noalias.h +at_exit.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +at_exit.o: $(hdrdir)/ruby/internal/attr/noexcept.h +at_exit.o: $(hdrdir)/ruby/internal/attr/noinline.h +at_exit.o: $(hdrdir)/ruby/internal/attr/nonnull.h +at_exit.o: $(hdrdir)/ruby/internal/attr/noreturn.h +at_exit.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +at_exit.o: $(hdrdir)/ruby/internal/attr/pure.h +at_exit.o: $(hdrdir)/ruby/internal/attr/restrict.h +at_exit.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +at_exit.o: $(hdrdir)/ruby/internal/attr/warning.h +at_exit.o: $(hdrdir)/ruby/internal/attr/weakref.h +at_exit.o: $(hdrdir)/ruby/internal/cast.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +at_exit.o: $(hdrdir)/ruby/internal/compiler_since.h +at_exit.o: $(hdrdir)/ruby/internal/config.h +at_exit.o: $(hdrdir)/ruby/internal/constant_p.h +at_exit.o: $(hdrdir)/ruby/internal/core.h +at_exit.o: $(hdrdir)/ruby/internal/core/rarray.h +at_exit.o: $(hdrdir)/ruby/internal/core/rbasic.h +at_exit.o: $(hdrdir)/ruby/internal/core/rbignum.h +at_exit.o: $(hdrdir)/ruby/internal/core/rclass.h +at_exit.o: $(hdrdir)/ruby/internal/core/rdata.h +at_exit.o: $(hdrdir)/ruby/internal/core/rfile.h +at_exit.o: $(hdrdir)/ruby/internal/core/rhash.h +at_exit.o: $(hdrdir)/ruby/internal/core/robject.h +at_exit.o: $(hdrdir)/ruby/internal/core/rregexp.h +at_exit.o: $(hdrdir)/ruby/internal/core/rstring.h +at_exit.o: $(hdrdir)/ruby/internal/core/rstruct.h +at_exit.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +at_exit.o: $(hdrdir)/ruby/internal/ctype.h +at_exit.o: $(hdrdir)/ruby/internal/dllexport.h +at_exit.o: $(hdrdir)/ruby/internal/dosish.h +at_exit.o: $(hdrdir)/ruby/internal/error.h +at_exit.o: $(hdrdir)/ruby/internal/eval.h +at_exit.o: $(hdrdir)/ruby/internal/event.h +at_exit.o: $(hdrdir)/ruby/internal/fl_type.h +at_exit.o: $(hdrdir)/ruby/internal/gc.h +at_exit.o: $(hdrdir)/ruby/internal/glob.h +at_exit.o: $(hdrdir)/ruby/internal/globals.h +at_exit.o: $(hdrdir)/ruby/internal/has/attribute.h +at_exit.o: $(hdrdir)/ruby/internal/has/builtin.h +at_exit.o: $(hdrdir)/ruby/internal/has/c_attribute.h +at_exit.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +at_exit.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +at_exit.o: $(hdrdir)/ruby/internal/has/extension.h +at_exit.o: $(hdrdir)/ruby/internal/has/feature.h +at_exit.o: $(hdrdir)/ruby/internal/has/warning.h +at_exit.o: $(hdrdir)/ruby/internal/intern/array.h +at_exit.o: $(hdrdir)/ruby/internal/intern/bignum.h +at_exit.o: $(hdrdir)/ruby/internal/intern/class.h +at_exit.o: $(hdrdir)/ruby/internal/intern/compar.h +at_exit.o: $(hdrdir)/ruby/internal/intern/complex.h +at_exit.o: $(hdrdir)/ruby/internal/intern/cont.h +at_exit.o: $(hdrdir)/ruby/internal/intern/dir.h +at_exit.o: $(hdrdir)/ruby/internal/intern/enum.h +at_exit.o: $(hdrdir)/ruby/internal/intern/enumerator.h +at_exit.o: $(hdrdir)/ruby/internal/intern/error.h +at_exit.o: $(hdrdir)/ruby/internal/intern/eval.h +at_exit.o: $(hdrdir)/ruby/internal/intern/file.h +at_exit.o: $(hdrdir)/ruby/internal/intern/hash.h +at_exit.o: $(hdrdir)/ruby/internal/intern/io.h +at_exit.o: $(hdrdir)/ruby/internal/intern/load.h +at_exit.o: $(hdrdir)/ruby/internal/intern/marshal.h +at_exit.o: $(hdrdir)/ruby/internal/intern/numeric.h +at_exit.o: $(hdrdir)/ruby/internal/intern/object.h +at_exit.o: $(hdrdir)/ruby/internal/intern/parse.h +at_exit.o: $(hdrdir)/ruby/internal/intern/proc.h +at_exit.o: $(hdrdir)/ruby/internal/intern/process.h +at_exit.o: $(hdrdir)/ruby/internal/intern/random.h +at_exit.o: $(hdrdir)/ruby/internal/intern/range.h +at_exit.o: $(hdrdir)/ruby/internal/intern/rational.h +at_exit.o: $(hdrdir)/ruby/internal/intern/re.h +at_exit.o: $(hdrdir)/ruby/internal/intern/ruby.h +at_exit.o: $(hdrdir)/ruby/internal/intern/select.h +at_exit.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +at_exit.o: $(hdrdir)/ruby/internal/intern/set.h +at_exit.o: $(hdrdir)/ruby/internal/intern/signal.h +at_exit.o: $(hdrdir)/ruby/internal/intern/sprintf.h +at_exit.o: $(hdrdir)/ruby/internal/intern/string.h +at_exit.o: $(hdrdir)/ruby/internal/intern/struct.h +at_exit.o: $(hdrdir)/ruby/internal/intern/thread.h +at_exit.o: $(hdrdir)/ruby/internal/intern/time.h +at_exit.o: $(hdrdir)/ruby/internal/intern/variable.h +at_exit.o: $(hdrdir)/ruby/internal/intern/vm.h +at_exit.o: $(hdrdir)/ruby/internal/interpreter.h +at_exit.o: $(hdrdir)/ruby/internal/iterator.h +at_exit.o: $(hdrdir)/ruby/internal/memory.h +at_exit.o: $(hdrdir)/ruby/internal/method.h +at_exit.o: $(hdrdir)/ruby/internal/module.h +at_exit.o: $(hdrdir)/ruby/internal/newobj.h +at_exit.o: $(hdrdir)/ruby/internal/scan_args.h +at_exit.o: $(hdrdir)/ruby/internal/special_consts.h +at_exit.o: $(hdrdir)/ruby/internal/static_assert.h +at_exit.o: $(hdrdir)/ruby/internal/stdalign.h +at_exit.o: $(hdrdir)/ruby/internal/stdbool.h +at_exit.o: $(hdrdir)/ruby/internal/stdckdint.h +at_exit.o: $(hdrdir)/ruby/internal/symbol.h +at_exit.o: $(hdrdir)/ruby/internal/value.h +at_exit.o: $(hdrdir)/ruby/internal/value_type.h +at_exit.o: $(hdrdir)/ruby/internal/variable.h +at_exit.o: $(hdrdir)/ruby/internal/warning_push.h +at_exit.o: $(hdrdir)/ruby/internal/xmalloc.h +at_exit.o: $(hdrdir)/ruby/missing.h +at_exit.o: $(hdrdir)/ruby/ruby.h +at_exit.o: $(hdrdir)/ruby/st.h +at_exit.o: $(hdrdir)/ruby/subst.h +at_exit.o: $(hdrdir)/ruby/vm.h +at_exit.o: at_exit.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/vm/extconf.rb b/ext/-test-/vm/extconf.rb new file mode 100644 index 0000000000..614ec960d8 --- /dev/null +++ b/ext/-test-/vm/extconf.rb @@ -0,0 +1 @@ +create_makefile('-test-/vm/at_exit') diff --git a/ext/-test-/wait/depend b/ext/-test-/wait/depend new file mode 100644 index 0000000000..f793d84831 --- /dev/null +++ b/ext/-test-/wait/depend @@ -0,0 +1,175 @@ +# AUTOGENERATED DEPENDENCIES START +wait.o: $(RUBY_EXTCONF_H) +wait.o: $(arch_hdrdir)/ruby/config.h +wait.o: $(hdrdir)/ruby/assert.h +wait.o: $(hdrdir)/ruby/backward.h +wait.o: $(hdrdir)/ruby/backward/2/assume.h +wait.o: $(hdrdir)/ruby/backward/2/attributes.h +wait.o: $(hdrdir)/ruby/backward/2/bool.h +wait.o: $(hdrdir)/ruby/backward/2/inttypes.h +wait.o: $(hdrdir)/ruby/backward/2/limits.h +wait.o: $(hdrdir)/ruby/backward/2/long_long.h +wait.o: $(hdrdir)/ruby/backward/2/stdalign.h +wait.o: $(hdrdir)/ruby/backward/2/stdarg.h +wait.o: $(hdrdir)/ruby/defines.h +wait.o: $(hdrdir)/ruby/encoding.h +wait.o: $(hdrdir)/ruby/intern.h +wait.o: $(hdrdir)/ruby/internal/abi.h +wait.o: $(hdrdir)/ruby/internal/anyargs.h +wait.o: $(hdrdir)/ruby/internal/arithmetic.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/char.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/double.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/fixnum.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/gid_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/int.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/intptr_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/long.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/long_long.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/mode_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/off_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/pid_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/short.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/size_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/st_data_t.h +wait.o: $(hdrdir)/ruby/internal/arithmetic/uid_t.h +wait.o: $(hdrdir)/ruby/internal/assume.h +wait.o: $(hdrdir)/ruby/internal/attr/alloc_size.h +wait.o: $(hdrdir)/ruby/internal/attr/artificial.h +wait.o: $(hdrdir)/ruby/internal/attr/cold.h +wait.o: $(hdrdir)/ruby/internal/attr/const.h +wait.o: $(hdrdir)/ruby/internal/attr/constexpr.h +wait.o: $(hdrdir)/ruby/internal/attr/deprecated.h +wait.o: $(hdrdir)/ruby/internal/attr/diagnose_if.h +wait.o: $(hdrdir)/ruby/internal/attr/enum_extensibility.h +wait.o: $(hdrdir)/ruby/internal/attr/error.h +wait.o: $(hdrdir)/ruby/internal/attr/flag_enum.h +wait.o: $(hdrdir)/ruby/internal/attr/forceinline.h +wait.o: $(hdrdir)/ruby/internal/attr/format.h +wait.o: $(hdrdir)/ruby/internal/attr/maybe_unused.h +wait.o: $(hdrdir)/ruby/internal/attr/noalias.h +wait.o: $(hdrdir)/ruby/internal/attr/nodiscard.h +wait.o: $(hdrdir)/ruby/internal/attr/noexcept.h +wait.o: $(hdrdir)/ruby/internal/attr/noinline.h +wait.o: $(hdrdir)/ruby/internal/attr/nonnull.h +wait.o: $(hdrdir)/ruby/internal/attr/noreturn.h +wait.o: $(hdrdir)/ruby/internal/attr/packed_struct.h +wait.o: $(hdrdir)/ruby/internal/attr/pure.h +wait.o: $(hdrdir)/ruby/internal/attr/restrict.h +wait.o: $(hdrdir)/ruby/internal/attr/returns_nonnull.h +wait.o: $(hdrdir)/ruby/internal/attr/warning.h +wait.o: $(hdrdir)/ruby/internal/attr/weakref.h +wait.o: $(hdrdir)/ruby/internal/cast.h +wait.o: $(hdrdir)/ruby/internal/compiler_is.h +wait.o: $(hdrdir)/ruby/internal/compiler_is/apple.h +wait.o: $(hdrdir)/ruby/internal/compiler_is/clang.h +wait.o: $(hdrdir)/ruby/internal/compiler_is/gcc.h +wait.o: $(hdrdir)/ruby/internal/compiler_is/intel.h +wait.o: $(hdrdir)/ruby/internal/compiler_is/msvc.h +wait.o: $(hdrdir)/ruby/internal/compiler_is/sunpro.h +wait.o: $(hdrdir)/ruby/internal/compiler_since.h +wait.o: $(hdrdir)/ruby/internal/config.h +wait.o: $(hdrdir)/ruby/internal/constant_p.h +wait.o: $(hdrdir)/ruby/internal/core.h +wait.o: $(hdrdir)/ruby/internal/core/rarray.h +wait.o: $(hdrdir)/ruby/internal/core/rbasic.h +wait.o: $(hdrdir)/ruby/internal/core/rbignum.h +wait.o: $(hdrdir)/ruby/internal/core/rclass.h +wait.o: $(hdrdir)/ruby/internal/core/rdata.h +wait.o: $(hdrdir)/ruby/internal/core/rfile.h +wait.o: $(hdrdir)/ruby/internal/core/rhash.h +wait.o: $(hdrdir)/ruby/internal/core/robject.h +wait.o: $(hdrdir)/ruby/internal/core/rregexp.h +wait.o: $(hdrdir)/ruby/internal/core/rstring.h +wait.o: $(hdrdir)/ruby/internal/core/rstruct.h +wait.o: $(hdrdir)/ruby/internal/core/rtypeddata.h +wait.o: $(hdrdir)/ruby/internal/ctype.h +wait.o: $(hdrdir)/ruby/internal/dllexport.h +wait.o: $(hdrdir)/ruby/internal/dosish.h +wait.o: $(hdrdir)/ruby/internal/encoding/coderange.h +wait.o: $(hdrdir)/ruby/internal/encoding/ctype.h +wait.o: $(hdrdir)/ruby/internal/encoding/encoding.h +wait.o: $(hdrdir)/ruby/internal/encoding/pathname.h +wait.o: $(hdrdir)/ruby/internal/encoding/re.h +wait.o: $(hdrdir)/ruby/internal/encoding/sprintf.h +wait.o: $(hdrdir)/ruby/internal/encoding/string.h +wait.o: $(hdrdir)/ruby/internal/encoding/symbol.h +wait.o: $(hdrdir)/ruby/internal/encoding/transcode.h +wait.o: $(hdrdir)/ruby/internal/error.h +wait.o: $(hdrdir)/ruby/internal/eval.h +wait.o: $(hdrdir)/ruby/internal/event.h +wait.o: $(hdrdir)/ruby/internal/fl_type.h +wait.o: $(hdrdir)/ruby/internal/gc.h +wait.o: $(hdrdir)/ruby/internal/glob.h +wait.o: $(hdrdir)/ruby/internal/globals.h +wait.o: $(hdrdir)/ruby/internal/has/attribute.h +wait.o: $(hdrdir)/ruby/internal/has/builtin.h +wait.o: $(hdrdir)/ruby/internal/has/c_attribute.h +wait.o: $(hdrdir)/ruby/internal/has/cpp_attribute.h +wait.o: $(hdrdir)/ruby/internal/has/declspec_attribute.h +wait.o: $(hdrdir)/ruby/internal/has/extension.h +wait.o: $(hdrdir)/ruby/internal/has/feature.h +wait.o: $(hdrdir)/ruby/internal/has/warning.h +wait.o: $(hdrdir)/ruby/internal/intern/array.h +wait.o: $(hdrdir)/ruby/internal/intern/bignum.h +wait.o: $(hdrdir)/ruby/internal/intern/class.h +wait.o: $(hdrdir)/ruby/internal/intern/compar.h +wait.o: $(hdrdir)/ruby/internal/intern/complex.h +wait.o: $(hdrdir)/ruby/internal/intern/cont.h +wait.o: $(hdrdir)/ruby/internal/intern/dir.h +wait.o: $(hdrdir)/ruby/internal/intern/enum.h +wait.o: $(hdrdir)/ruby/internal/intern/enumerator.h +wait.o: $(hdrdir)/ruby/internal/intern/error.h +wait.o: $(hdrdir)/ruby/internal/intern/eval.h +wait.o: $(hdrdir)/ruby/internal/intern/file.h +wait.o: $(hdrdir)/ruby/internal/intern/hash.h +wait.o: $(hdrdir)/ruby/internal/intern/io.h +wait.o: $(hdrdir)/ruby/internal/intern/load.h +wait.o: $(hdrdir)/ruby/internal/intern/marshal.h +wait.o: $(hdrdir)/ruby/internal/intern/numeric.h +wait.o: $(hdrdir)/ruby/internal/intern/object.h +wait.o: $(hdrdir)/ruby/internal/intern/parse.h +wait.o: $(hdrdir)/ruby/internal/intern/proc.h +wait.o: $(hdrdir)/ruby/internal/intern/process.h +wait.o: $(hdrdir)/ruby/internal/intern/random.h +wait.o: $(hdrdir)/ruby/internal/intern/range.h +wait.o: $(hdrdir)/ruby/internal/intern/rational.h +wait.o: $(hdrdir)/ruby/internal/intern/re.h +wait.o: $(hdrdir)/ruby/internal/intern/ruby.h +wait.o: $(hdrdir)/ruby/internal/intern/select.h +wait.o: $(hdrdir)/ruby/internal/intern/select/largesize.h +wait.o: $(hdrdir)/ruby/internal/intern/set.h +wait.o: $(hdrdir)/ruby/internal/intern/signal.h +wait.o: $(hdrdir)/ruby/internal/intern/sprintf.h +wait.o: $(hdrdir)/ruby/internal/intern/string.h +wait.o: $(hdrdir)/ruby/internal/intern/struct.h +wait.o: $(hdrdir)/ruby/internal/intern/thread.h +wait.o: $(hdrdir)/ruby/internal/intern/time.h +wait.o: $(hdrdir)/ruby/internal/intern/variable.h +wait.o: $(hdrdir)/ruby/internal/intern/vm.h +wait.o: $(hdrdir)/ruby/internal/interpreter.h +wait.o: $(hdrdir)/ruby/internal/iterator.h +wait.o: $(hdrdir)/ruby/internal/memory.h +wait.o: $(hdrdir)/ruby/internal/method.h +wait.o: $(hdrdir)/ruby/internal/module.h +wait.o: $(hdrdir)/ruby/internal/newobj.h +wait.o: $(hdrdir)/ruby/internal/scan_args.h +wait.o: $(hdrdir)/ruby/internal/special_consts.h +wait.o: $(hdrdir)/ruby/internal/static_assert.h +wait.o: $(hdrdir)/ruby/internal/stdalign.h +wait.o: $(hdrdir)/ruby/internal/stdbool.h +wait.o: $(hdrdir)/ruby/internal/stdckdint.h +wait.o: $(hdrdir)/ruby/internal/symbol.h +wait.o: $(hdrdir)/ruby/internal/value.h +wait.o: $(hdrdir)/ruby/internal/value_type.h +wait.o: $(hdrdir)/ruby/internal/variable.h +wait.o: $(hdrdir)/ruby/internal/warning_push.h +wait.o: $(hdrdir)/ruby/internal/xmalloc.h +wait.o: $(hdrdir)/ruby/io.h +wait.o: $(hdrdir)/ruby/missing.h +wait.o: $(hdrdir)/ruby/onigmo.h +wait.o: $(hdrdir)/ruby/oniguruma.h +wait.o: $(hdrdir)/ruby/ruby.h +wait.o: $(hdrdir)/ruby/st.h +wait.o: $(hdrdir)/ruby/subst.h +wait.o: wait.c +# AUTOGENERATED DEPENDENCIES END diff --git a/ext/-test-/wait/extconf.rb b/ext/-test-/wait/extconf.rb new file mode 100644 index 0000000000..92787876ad --- /dev/null +++ b/ext/-test-/wait/extconf.rb @@ -0,0 +1,2 @@ +# frozen_string_literal: false +create_makefile("-test-/wait") diff --git a/ext/-test-/wait/wait.c b/ext/-test-/wait/wait.c new file mode 100644 index 0000000000..b73ee35809 --- /dev/null +++ b/ext/-test-/wait/wait.c @@ -0,0 +1,39 @@ +#include "ruby/ruby.h" +#include "ruby/io.h" + +static VALUE +io_wait(VALUE klass, VALUE io, VALUE events, VALUE timeout) +{ + return rb_io_wait(io, events, timeout); +} + +static VALUE +io_maybe_wait(VALUE klass, VALUE error, VALUE io, VALUE events, VALUE timeout) +{ + return rb_io_maybe_wait(RB_NUM2INT(error), io, events, timeout); +} + +static VALUE +io_maybe_wait_readable(VALUE klass, VALUE error, VALUE io, VALUE timeout) +{ + return RB_INT2NUM( + rb_io_maybe_wait_readable(RB_NUM2INT(error), io, timeout) + ); +} + +static VALUE +io_maybe_wait_writable(VALUE klass, VALUE error, VALUE io, VALUE timeout) +{ + return RB_INT2NUM( + rb_io_maybe_wait_writable(RB_NUM2INT(error), io, timeout) + ); +} + +void +Init_wait(void) +{ + rb_define_singleton_method(rb_cIO, "io_wait", io_wait, 3); + rb_define_singleton_method(rb_cIO, "io_maybe_wait", io_maybe_wait, 4); + rb_define_singleton_method(rb_cIO, "io_maybe_wait_readable", io_maybe_wait_readable, 3); + rb_define_singleton_method(rb_cIO, "io_maybe_wait_writable", io_maybe_wait_writable, 3); +} diff --git a/ext/-test-/win32/console/attribute.c b/ext/-test-/win32/console/attribute.c new file mode 100644 index 0000000000..b43ba23a5c --- /dev/null +++ b/ext/-test-/win32/console/attribute.c @@ -0,0 +1,69 @@ +#include <ruby.h> + +static VALUE rb_cConsoleScreenBufferInfo; + +static HANDLE +io_handle(VALUE io) +{ + int fd = NUM2INT(rb_funcallv(io, rb_intern("fileno"), 0, 0)); + HANDLE h = (HANDLE)rb_w32_get_osfhandle(fd); + + if (h == (HANDLE)-1) rb_raise(rb_eIOError, "invalid io"); + return h; +} + +static VALUE +console_info(VALUE klass, VALUE io) +{ + HANDLE h = io_handle(io); + CONSOLE_SCREEN_BUFFER_INFO csbi; + + if (!GetConsoleScreenBufferInfo(h, &csbi)) + rb_syserr_fail(rb_w32_map_errno(GetLastError()), "not console"); + return rb_struct_new(rb_cConsoleScreenBufferInfo, + INT2FIX(csbi.dwSize.X), + INT2FIX(csbi.dwSize.Y), + INT2FIX(csbi.dwCursorPosition.X), + INT2FIX(csbi.dwCursorPosition.Y), + INT2FIX(csbi.wAttributes)); +} + +static VALUE +console_set_attribute(VALUE klass, VALUE io, VALUE attr) +{ + HANDLE h = io_handle(io); + + SetConsoleTextAttribute(h, (WORD)NUM2INT(attr)); + return Qnil; +} + +#define FOREGROUND_MASK (FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED | FOREGROUND_INTENSITY) +#define BACKGROUND_MASK (BACKGROUND_BLUE | BACKGROUND_GREEN | BACKGROUND_RED | BACKGROUND_INTENSITY) + +void +Init_attribute(VALUE m) +{ + rb_cConsoleScreenBufferInfo = rb_struct_define_under(m, "ConsoleScreenBufferInfo", + "size_x", "size_y", + "cur_x", "cur_y", + "attr", NULL); + rb_define_singleton_method(m, "console_info", console_info, 1); + rb_define_singleton_method(m, "console_attribute", console_set_attribute, 2); + + rb_define_const(m, "FOREGROUND_MASK", INT2FIX(FOREGROUND_MASK)); + rb_define_const(m, "FOREGROUND_BLUE", INT2FIX(FOREGROUND_BLUE)); + rb_define_const(m, "FOREGROUND_GREEN", INT2FIX(FOREGROUND_GREEN)); + rb_define_const(m, "FOREGROUND_RED", INT2FIX(FOREGROUND_RED)); + rb_define_const(m, "FOREGROUND_INTENSITY", INT2FIX(FOREGROUND_INTENSITY)); + + rb_define_const(m, "BACKGROUND_MASK", INT2FIX(BACKGROUND_MASK)); + rb_define_const(m, "BACKGROUND_BLUE", INT2FIX(BACKGROUND_BLUE)); + rb_define_const(m, "BACKGROUND_GREEN", INT2FIX(BACKGROUND_GREEN)); + rb_define_const(m, "BACKGROUND_RED", INT2FIX(BACKGROUND_RED)); + rb_define_const(m, "BACKGROUND_INTENSITY", INT2FIX(BACKGROUND_INTENSITY)); + +#ifndef COMMON_LVB_REVERSE_VIDEO +#define COMMON_LVB_REVERSE_VIDEO 0x4000 +#endif + rb_define_const(m, "REVERSE_VIDEO", INT2FIX(COMMON_LVB_REVERSE_VIDEO)); +} diff --git a/ext/-test-/win32/console/depend b/ext/-test-/win32/console/depend new file mode 100644 index 0000000000..f4f65adf9a --- /dev/null +++ b/ext/-test-/win32/console/depend @@ -0,0 +1 @@ +attribute.o: $(ruby_headers) $(hdrdir)/ruby/win32.h diff --git a/ext/-test-/win32/console/extconf.rb b/ext/-test-/win32/console/extconf.rb new file mode 100644 index 0000000000..5162172890 --- /dev/null +++ b/ext/-test-/win32/console/extconf.rb @@ -0,0 +1,5 @@ +# frozen_string_literal: false +if $mingw or $mswin + require_relative "../../auto_ext.rb" + auto_ext +end diff --git a/ext/-test-/win32/console/init.c b/ext/-test-/win32/console/init.c new file mode 100644 index 0000000000..f2e0d1c821 --- /dev/null +++ b/ext/-test-/win32/console/init.c @@ -0,0 +1,11 @@ +#include "ruby.h" + +#define init(n) {void Init_##n(VALUE m); Init_##n(m);} + +void +Init_console(void) +{ + VALUE mBug = rb_define_module("Bug"); + VALUE m = rb_define_module_under(mBug, "Win32"); + TEST_INIT_FUNCS(init); +} diff --git a/ext/-test-/win32/dln/depend b/ext/-test-/win32/dln/depend new file mode 100644 index 0000000000..c3f14db4f7 --- /dev/null +++ b/ext/-test-/win32/dln/depend @@ -0,0 +1,9 @@ +$(TARGET_SO): $(DLNTESTLIB) + +$(DLNTESTLIB): dlntest.dll + +dlntest.dll: libdlntest.o libdlntest.def + $(ECHO) linking shared-object $(@F) + -$(Q)$(RM) $@ + -$(Q)$(MAKEDIRS) $(@D) + $(Q) $(DLNTEST_LDSHARED) diff --git a/ext/-test-/win32/dln/dlntest.c b/ext/-test-/win32/dln/dlntest.c new file mode 100644 index 0000000000..3e6037ac07 --- /dev/null +++ b/ext/-test-/win32/dln/dlntest.c @@ -0,0 +1,17 @@ +#include <ruby.h> + +extern __declspec(dllimport) void dlntest_ordinal(void); + +static VALUE +dln_dlntest(VALUE self) +{ + dlntest_ordinal(); + return self; +} + +void +Init_dln(void) +{ + VALUE m = rb_define_module_under(rb_define_module("Bug"), "Win32"); + rb_define_module_function(m, "dlntest", dln_dlntest, 0); +} diff --git a/ext/-test-/win32/dln/extconf.rb b/ext/-test-/win32/dln/extconf.rb new file mode 100644 index 0000000000..bea52cfec3 --- /dev/null +++ b/ext/-test-/win32/dln/extconf.rb @@ -0,0 +1,34 @@ +# frozen_string_literal: false +if $mingw or $mswin + dlntestlib = "dlntest.#{$LIBEXT}" + $LOCAL_LIBS << " #{dlntestlib}" + $srcs = ["dlntest.c"] + $objs = ["dlntest.o"] + testdll = "dlntest.dll" + $cleanfiles << testdll + $cleanfiles << "dlntest.#{$LIBEXT}" + $cleanfiles << "libdlntest.#{$OBJEXT}" + config_string('cleanobjs') {|t| $cleanfiles.concat(t.gsub(/\$\*/, 'dlntest').split)} + + create_makefile("-test-/win32/dln") do |m| + m << "\n""DLNTESTLIB = #{dlntestlib}\n" + if $mingw + m << "\n" + m << "dlntest.dll: DEFFILE := $(srcdir)/libdlntest.def\n" + m << "dlntest.dll: DLDFLAGS += -Wl,--out-implib,$(DLNTESTLIB)\n" + end + m + end + m = File.read("Makefile") + m.sub!(/(.*)\$\(DLNTEST_LDSHARED\)$/) do + pre = $1 + link_so = LINK_SO.gsub(/^/) {pre} + link_so.sub!(/\$\(LOCAL_LIBS\)/, '') + link_so.gsub!(/-\$\(arch\)/, '') + link_so.gsub!(/:.so=/, ':.dll=') + link_so.sub!(/\$\(OBJS\)/, "libdlntest.#{$OBJEXT}") + link_so.sub!(/\$\(DEFFILE\)/, "$(srcdir)/libdlntest.def") + link_so + end and File.binwrite("Makefile", m) + FileUtils.rm_f(RbConfig.expand(testdll.dup)) +end diff --git a/ext/-test-/win32/dln/libdlntest.c b/ext/-test-/win32/dln/libdlntest.c new file mode 100644 index 0000000000..5923b732c8 --- /dev/null +++ b/ext/-test-/win32/dln/libdlntest.c @@ -0,0 +1,4 @@ +void +dlntest_ordinal(void) +{ +} diff --git a/ext/-test-/win32/dln/libdlntest.def b/ext/-test-/win32/dln/libdlntest.def new file mode 100644 index 0000000000..85bc9c7a55 --- /dev/null +++ b/ext/-test-/win32/dln/libdlntest.def @@ -0,0 +1,2 @@ +EXPORTS +dlntest_ordinal @1 NONAME diff --git a/ext/-test-/win32/fd_setsize/depend b/ext/-test-/win32/fd_setsize/depend new file mode 100644 index 0000000000..7d40e8d572 --- /dev/null +++ b/ext/-test-/win32/fd_setsize/depend @@ -0,0 +1 @@ +fd_setsize.o: $(ruby_headers) $(hdrdir)/ruby/win32.h diff --git a/ext/-test-/win32/fd_setsize/extconf.rb b/ext/-test-/win32/fd_setsize/extconf.rb new file mode 100644 index 0000000000..caa4b85a1b --- /dev/null +++ b/ext/-test-/win32/fd_setsize/extconf.rb @@ -0,0 +1,4 @@ +# frozen_string_literal: false +if $mingw or $mswin + create_makefile("-test-/win32/fd_setsize") +end diff --git a/ext/-test-/win32/fd_setsize/fd_setsize.c b/ext/-test-/win32/fd_setsize/fd_setsize.c new file mode 100644 index 0000000000..e29114a0ca --- /dev/null +++ b/ext/-test-/win32/fd_setsize/fd_setsize.c @@ -0,0 +1,55 @@ +#undef FD_SETSIZE +/* redefine smaller size then default 64 */ +#define FD_SETSIZE 32 +#include <ruby.h> + +static VALUE +test_select(VALUE self) +{ + int sd = socket(AF_INET, SOCK_DGRAM, 0); + struct timeval zero; + fd_set read; + fd_set write; + fd_set error; + + zero.tv_sec = 0; + zero.tv_usec = 0; + + FD_ZERO(&read); + FD_ZERO(&write); + FD_ZERO(&error); + + FD_SET(sd, &read); + FD_SET(sd, &write); + FD_SET(sd, &error); + + select(sd+1, &read, &write, &error, &zero); + + return Qtrue; +} + +static VALUE +test_fdset(VALUE self) +{ + int i; + fd_set set; + + FD_ZERO(&set); + + for (i = 0; i < FD_SETSIZE * 2; i++) { + int sd = socket(AF_INET, SOCK_DGRAM, 0); + FD_SET(sd, &set); + if (set.fd_count > FD_SETSIZE) { + return Qfalse; + } + } + return Qtrue; +} + +void +Init_fd_setsize(void) +{ + VALUE m = rb_define_module_under(rb_define_module("Bug"), "Win32"); + rb_define_module_function(m, "test_select", test_select, 0); + rb_define_module_function(m, "test_fdset", test_fdset, 0); +} |
