summaryrefslogtreecommitdiff
path: root/ruby.c
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-19 18:45:26 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2022-10-19 22:55:42 +0900
commit412e3c7a8db275567eaceece6c48dde3aedf2ae6 (patch)
treec67ba76d040fb1b7a312165b99f5b95300d797b5 /ruby.c
parent86096a91d55f72620e0f8ca8634da5fa342dc35b (diff)
downloadruby-412e3c7a8db275567eaceece6c48dde3aedf2ae6.tar.gz
Assert for RTEST that Qnil and Qfalse differ just 1 bit
Diffstat (limited to 'ruby.c')
-rw-r--r--ruby.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/ruby.c b/ruby.c
index 0a3248f95f..03aeb9b75b 100644
--- a/ruby.c
+++ b/ruby.c
@@ -62,6 +62,9 @@
#include "ruby/version.h"
#include "ruby/internal/error.h"
+#define singlebit_only_p(x) !((x) & ((x)-1))
+STATIC_ASSERT(Qnil_1bit_from_Qfalse, singlebit_only_p(Qnil^Qfalse));
+
#ifndef MAXPATHLEN
# define MAXPATHLEN 1024
#endif