diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | parse.y | 5 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Thu Mar 18 04:40:56 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * parse.y (rb_intern3): get rid of type-punning cast. + Thu Mar 18 02:29:42 2010 Yusuke Endoh <mame@tsg.ne.jp> * compile.c (iseq_build_body): add mark to jump table hash of case. @@ -9496,6 +9496,7 @@ rb_intern3(const char *name, long len, rb_encoding *enc) ID id; long last; int mb; + st_data_t data; struct RString fake_str; fake_str.basic.flags = T_STRING|RSTRING_NOEMBED|FL_FREEZE; fake_str.basic.klass = rb_cString; @@ -9509,8 +9510,8 @@ rb_intern3(const char *name, long len, rb_encoding *enc) rb_raise(rb_eEncodingError, "invalid encoding symbol"); } - if (st_lookup(global_symbols.sym_id, str, (st_data_t *)&id)) - return id; + if (st_lookup(global_symbols.sym_id, str, &data)) + return (ID)data; if (rb_cString && !rb_enc_asciicompat(enc)) { id = ID_JUNK; |