aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2020-09-25 09:08:54 +0900
committerKoichi Sasada <ko1@atdot.net>2020-09-25 12:52:53 +0900
commitfde136152eacca454bfb978347abfa67bd73ac4d (patch)
treef7842f6647138c0f9e526b2bb346f75d098c9c9a
parentc6c241e49c35a2bf0079499459f60f470f97395a (diff)
downloadruby-fde136152eacca454bfb978347abfa67bd73ac4d.tar.gz
should not check taint flag on rubyspec.
Now taint flag is obsolete and it is used fro shareaable flag. So we should not check this flag.
-rw-r--r--include/ruby/internal/fl_type.h1
-rw-r--r--spec/ruby/optional/capi/ext/rbasic_spec.c4
-rw-r--r--spec/ruby/optional/capi/shared/rbasic.rb4
3 files changed, 7 insertions, 2 deletions
diff --git a/include/ruby/internal/fl_type.h b/include/ruby/internal/fl_type.h
index 6d8df59a25..455448fe8d 100644
--- a/include/ruby/internal/fl_type.h
+++ b/include/ruby/internal/fl_type.h
@@ -52,6 +52,7 @@
#define FL_PROMOTED1 RBIMPL_CAST((VALUE)RUBY_FL_PROMOTED1)
#define FL_FINALIZE RBIMPL_CAST((VALUE)RUBY_FL_FINALIZE)
#define FL_TAINT RBIMPL_CAST((VALUE)RUBY_FL_TAINT)
+#define FL_SHAREABLE RBIMPL_CAST((VALUE)RUBY_FL_SHAREABLE)
#define FL_UNTRUSTED RBIMPL_CAST((VALUE)RUBY_FL_UNTRUSTED)
#define FL_SEEN_OBJ_ID RBIMPL_CAST((VALUE)RUBY_FL_SEEN_OBJ_ID)
#define FL_EXIVAR RBIMPL_CAST((VALUE)RUBY_FL_EXIVAR)
diff --git a/spec/ruby/optional/capi/ext/rbasic_spec.c b/spec/ruby/optional/capi/ext/rbasic_spec.c
index 05eca76ba7..cf10904294 100644
--- a/spec/ruby/optional/capi/ext/rbasic_spec.c
+++ b/spec/ruby/optional/capi/ext/rbasic_spec.c
@@ -5,7 +5,11 @@
extern "C" {
#endif
+#ifndef FL_SHAREABLE
static const VALUE VISIBLE_BITS = FL_TAINT | FL_FREEZE | ~(FL_USER0 - 1);
+#else
+static const VALUE VISIBLE_BITS = FL_FREEZE | ~(FL_USER0 - 1);
+#endif
#if SIZEOF_VALUE == SIZEOF_LONG
#define VALUE2NUM(v) ULONG2NUM(v)
diff --git a/spec/ruby/optional/capi/shared/rbasic.rb b/spec/ruby/optional/capi/shared/rbasic.rb
index c25733f862..f202b72f33 100644
--- a/spec/ruby/optional/capi/shared/rbasic.rb
+++ b/spec/ruby/optional/capi/shared/rbasic.rb
@@ -66,9 +66,9 @@ describe :rbasic, shared: true do
obj1, obj2 = @data.call
initial = @specs.get_flags(obj1)
@specs.get_flags(obj2).should == initial
- @specs.set_flags(obj1, @taint | 1 << 14 | 1 << 16 | initial)
+ @specs.set_flags(obj1, 1 << 14 | 1 << 16 | initial)
@specs.copy_flags(obj2, obj1)
- @specs.get_flags(obj2).should == @taint | 1 << 14 | 1 << 16 | initial
+ @specs.get_flags(obj2).should == 1 << 14 | 1 << 16 | initial
@specs.set_flags(obj1, initial)
@specs.copy_flags(obj2, obj1)
@specs.get_flags(obj2).should == initial