mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate
values have VALUE type. there is an environment where sizeof(VALUE) != sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS and received by 64bit integer (VALUE), upper bits may have garbage value. [ruby-dev:27513] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9465 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a31918d635
commit
ed91275a98
2 changed files with 12 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
|||
Tue Oct 25 20:06:59 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
|
||||
|
||||
* ruby.h (Qfalse, Qtrue, Qnil, Qundef): make sure these immediate
|
||||
values have VALUE type. there is an environment where sizeof(VALUE)
|
||||
!= sizeof(int) like IA64. if 32bit integer (Qtrue) is passed to ANYARGS
|
||||
and received by 64bit integer (VALUE), upper bits may have garbage value.
|
||||
[ruby-dev:27513]
|
||||
|
||||
Tue Oct 25 14:21:46 2005 Hirokazu Yamamoto <ocean@m2.ccsnet.ne.jp>
|
||||
|
||||
* gc.c (garbage_collect): sorry, previous commit was incorrect.
|
||||
|
|
8
ruby.h
8
ruby.h
|
@ -187,10 +187,10 @@ VALUE rb_ull2inum(unsigned LONG_LONG);
|
|||
#define SYM2ID(x) RSHIFT((long)x,8)
|
||||
|
||||
/* special contants - i.e. non-zero and non-fixnum constants */
|
||||
#define Qfalse 0
|
||||
#define Qtrue 2
|
||||
#define Qnil 4
|
||||
#define Qundef 6 /* undefined value for placeholder */
|
||||
#define Qfalse ((VALUE)0)
|
||||
#define Qtrue ((VALUE)2)
|
||||
#define Qnil ((VALUE)4)
|
||||
#define Qundef ((VALUE)6) /* undefined value for placeholder */
|
||||
|
||||
#define RTEST(v) (((VALUE)(v) & ~Qnil) != 0)
|
||||
#define NIL_P(v) ((VALUE)(v) == Qnil)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue