aboutsummaryrefslogtreecommitdiffstats
path: root/process.c
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2023-12-25 01:36:06 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2023-12-25 01:36:28 -0800
commita164a34110940456a223959b0b17465ff796283c (patch)
tree371b0a5a681d8605730538d53297daa896dedac1 /process.c
parent596db9c1f486d6609a4e97d82c8c71b54609fb6f (diff)
downloadruby-a164a34110940456a223959b0b17465ff796283c.tar.gz
Resurrect a deprecated code for fixing tests for now
Revert "Remove deprecated code to fix RUBY_DEBUG build failures" This reverts commit 9614bea2cd59902a051a7387e354e23a52fe5396. And changed 3.4 to 3.5. To be fixed properly later.
Diffstat (limited to 'process.c')
-rw-r--r--process.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/process.c b/process.c
index 0877a7d01f..8024588b69 100644
--- a/process.c
+++ b/process.c
@@ -900,6 +900,27 @@ pst_bitand(VALUE st1, VALUE st2)
if (mask < 0) {
rb_raise(rb_eArgError, "negative mask value: %d", mask);
}
+#define WARN_SUGGEST(suggest) \
+ rb_warn_deprecated_to_remove_at(3.5, "Process::Status#&", suggest)
+
+ switch (mask) {
+ case 0x80:
+ WARN_SUGGEST("Process::Status#coredump?");
+ break;
+ case 0x7f:
+ WARN_SUGGEST("Process::Status#signaled? or Process::Status#termsig");
+ break;
+ case 0xff:
+ WARN_SUGGEST("Process::Status#exited?, Process::Status#stopped? or Process::Status#coredump?");
+ break;
+ case 0xff00:
+ WARN_SUGGEST("Process::Status#exitstatus or Process::Status#stopsig");
+ break;
+ default:
+ WARN_SUGGEST("other Process::Status predicates");
+ break;
+ }
+#undef WARN_SUGGEST
status &= mask;
return INT2NUM(status);
@@ -934,6 +955,21 @@ pst_rshift(VALUE st1, VALUE st2)
if (places < 0) {
rb_raise(rb_eArgError, "negative shift value: %d", places);
}
+#define WARN_SUGGEST(suggest) \
+ rb_warn_deprecated_to_remove_at(3.5, "Process::Status#>>", suggest)
+
+ switch (places) {
+ case 7:
+ WARN_SUGGEST("Process::Status#coredump?");
+ break;
+ case 8:
+ WARN_SUGGEST("Process::Status#exitstatus or Process::Status#stopsig");
+ break;
+ default:
+ WARN_SUGGEST("other Process::Status attributes");
+ break;
+ }
+#undef WARN_SUGGEST
status >>= places;
return INT2NUM(status);