summaryrefslogtreecommitdiff
path: root/spec/mspec/lib/mspec/helpers/numeric.rb
diff options
context:
space:
mode:
authorAlan Wu <[email protected]>2024-07-23 18:14:45 -0400
committerBenoit Daloze <[email protected]>2024-07-24 18:20:30 +0200
commit12e6cf77efae6804063dbebe84e4080ca78958e7 (patch)
tree010d5b0b824fb53722df576de43de8bd80d032cd /spec/mspec/lib/mspec/helpers/numeric.rb
parent1a18b03ee7b14771eae9eafa3c85a6bf5ccd9502 (diff)
Add "c_long_size" guard, supplanting "wordsize" and stop using Integer#size
What a "word" is when talking about sizes is confusing because it's a highly overloaded term. Intel, Microsoft, and GDB are just a few vendors that have their own definition of what a "word" is. Specs that used the "wordsize" guard actually were mostly testing for the size of the C `long` fundamental type, so rename the guard for clarity. Also, get the size of `long` directly from RbConfig instead of guessing using Integer#size. Integer#size is not guaranteed to have anything to do with the `long` type.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11130
Diffstat (limited to 'spec/mspec/lib/mspec/helpers/numeric.rb')
-rw-r--r--spec/mspec/lib/mspec/helpers/numeric.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/spec/mspec/lib/mspec/helpers/numeric.rb b/spec/mspec/lib/mspec/helpers/numeric.rb
index c1ed81a233..46d3d7b182 100644
--- a/spec/mspec/lib/mspec/helpers/numeric.rb
+++ b/spec/mspec/lib/mspec/helpers/numeric.rb
@@ -28,7 +28,7 @@ end
# specs based on the relationship between values rather than specific
# values.
if PlatformGuard.standard? or PlatformGuard.implementation? :topaz
- if PlatformGuard.wordsize? 32
+ if PlatformGuard.c_long_size? 32
def fixnum_max
(2**30) - 1
end
@@ -36,7 +36,7 @@ if PlatformGuard.standard? or PlatformGuard.implementation? :topaz
def fixnum_min
-(2**30)
end
- elsif PlatformGuard.wordsize? 64
+ elsif PlatformGuard.c_long_size? 64
def fixnum_max
(2**62) - 1
end