diff options
author | Koichi Sasada <ko1@atdot.net> | 2020-09-25 09:08:54 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2020-09-25 12:52:53 +0900 |
commit | fde136152eacca454bfb978347abfa67bd73ac4d (patch) | |
tree | f7842f6647138c0f9e526b2bb346f75d098c9c9a | |
parent | c6c241e49c35a2bf0079499459f60f470f97395a (diff) | |
download | ruby-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.h | 1 | ||||
-rw-r--r-- | spec/ruby/optional/capi/ext/rbasic_spec.c | 4 | ||||
-rw-r--r-- | spec/ruby/optional/capi/shared/rbasic.rb | 4 |
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 |