diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-07-31 14:10:09 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-07-31 14:10:09 +0000 |
commit | 41d6bc37e95bb51456d0d27da832c51cf701b5ee (patch) | |
tree | be547c9f45474332e1e5fbf48a08bd545be4f61b /symbol.h | |
parent | 4e12051fe885f93eb5ce8eb114f6ee944b417035 (diff) |
merge revision(s) d0ba4abf1a00339ebbb5d405db3240a8bdb7b68b,54eac83b2ad77ddea84fa6d66c09e0bb014cf61e: [Backport #15786]
Add RB_ID_SERIAL_MAX
Hide internal IDs
* parse.y (internal_id): number the ID serial for internal use by
counting down from the neary maximum value, not to accidentally
match permanent IDs.
[Bug #15768]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67718 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'symbol.h')
-rw-r--r-- | symbol.h | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -53,6 +53,10 @@ id_type(ID id) } typedef uint32_t rb_id_serial_t; +static const uint32_t RB_ID_SERIAL_MAX = /* 256M on LP32 */ + UINT32_MAX >> + ((sizeof(ID)-sizeof(rb_id_serial_t))*CHAR_BIT < RUBY_ID_SCOPE_SHIFT ? + RUBY_ID_SCOPE_SHIFT : 0); static inline rb_id_serial_t rb_id_to_serial(ID id) |