diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-27 07:41:07 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-10-27 07:41:07 +0000 |
commit | 9ab24004fced310db13cd3cb7eb7bac46900db0c (patch) | |
tree | e1cb27bbc111093110696254bf2fa6d674703946 | |
parent | f72380e9314bccac51ae09743a107f8544384d89 (diff) | |
download | ruby-9ab24004fced310db13cd3cb7eb7bac46900db0c.tar.gz |
error.c: suppress warnings
* error.c (rb_error_frozen_object): use rb_attr_get instead of
rb_ivar_get to get rid of warnings for string objects created
when frozen-string-literal-debug is disabled.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | error.c | 8 |
2 files changed, 12 insertions, 2 deletions
@@ -1,3 +1,9 @@ +Tue Oct 27 16:41:05 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * error.c (rb_error_frozen_object): use rb_attr_get instead of + rb_ivar_get to get rid of warnings for string objects created + when frozen-string-literal-debug is disabled. + Tue Oct 27 16:18:12 2015 Nobuyoshi Nakada <nobu@ruby-lang.org> * lib/logger.rb (Logger::Period#previous_period_end): as weekly @@ -2227,8 +2227,12 @@ void rb_error_frozen_object(VALUE frozen_obj) { VALUE path, line; - if ((path = rb_iv_get(frozen_obj, "__object_created_path__")) != Qnil && - (line = rb_iv_get(frozen_obj, "__object_created_line__")) != Qnil) { + ID created_path, created_line; + + CONST_ID(created_path, "__object_created_path__"); + CONST_ID(created_line, "__object_created_line__"); + if (!NIL_P(path = rb_attr_get(frozen_obj, created_path)) && + !NIL_P(line = rb_attr_get(frozen_obj, created_line))) { rb_raise(rb_eRuntimeError, "can't modify frozen %"PRIsVALUE", created at %"PRIsVALUE":%"PRIsVALUE, CLASS_OF(frozen_obj), path, line); } |