From 5cbefb96b998480208b26ea260658c985bf7b861 Mon Sep 17 00:00:00 2001 From: ko1 Date: Fri, 15 Jun 2007 06:55:36 +0000 Subject: [PATCH] * insns.def(setconstant, toregexp): fix to mark object correctly. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ insns.def | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index bdec9ca33f..6f7b9d2768 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Fri Jun 15 15:55:55 2007 Koichi Sasada + + * insns.def(setconstant, toregexp): fix to mark object correctly. + Fri Jun 15 13:24:18 2007 Koichi Sasada * hash.c: exchange semantics of Hash#each and Hash#each_pair. diff --git a/insns.def b/insns.def index 02ffe11673..91607ef952 100644 --- a/insns.def +++ b/insns.def @@ -285,9 +285,11 @@ setconstant case T_CLASS: case T_MODULE: break; - default: + default: { + volatile VALUE tmp = rb_obj_as_string(klass); rb_raise(rb_eTypeError, "%s is not a class/module", - RSTRING_PTR(rb_obj_as_string(klass))); + RSTRING_PTR(tmp)); + } } rb_const_set(klass, id, val); @@ -446,6 +448,7 @@ toregexp (VALUE str) (VALUE val) { + volatile VALUE tmp = str; val = rb_reg_new(RSTRING_PTR(str), RSTRING_LEN(str), flag); }