diff --git a/ChangeLog b/ChangeLog index 8ee94ae26d..ed361a9eb7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Thu Mar 18 04:40:56 2010 Nobuyoshi Nakada + + * parse.y (rb_intern3): get rid of type-punning cast. + Thu Mar 18 02:29:42 2010 Yusuke Endoh * compile.c (iseq_build_body): add mark to jump table hash of case. diff --git a/parse.y b/parse.y index 6a0e431083..340a825387 100644 --- a/parse.y +++ b/parse.y @@ -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;