* vm_eval.c (eval_string_with_cref): move cref inside EXEC_TAG block
  to suppress a warning that 'cref' might be clobbered by 'longjmp',
  on gcc 4.7 or later.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-08-16 08:04:38 +00:00
Родитель 564f77cad8
Коммит 3ea0a5bd3e
1 изменённых файлов: 2 добавлений и 1 удалений

Просмотреть файл

@ -1176,7 +1176,7 @@ rb_each(VALUE obj)
}
static VALUE
eval_string_with_cref(VALUE self, VALUE src, VALUE scope, NODE *cref, volatile VALUE file, volatile int line)
eval_string_with_cref(VALUE self, VALUE src, VALUE scope, NODE *const cref_arg, volatile VALUE file, volatile int line)
{
int state;
VALUE result = Qundef;
@ -1198,6 +1198,7 @@ eval_string_with_cref(VALUE self, VALUE src, VALUE scope, NODE *cref, volatile V
mild_compile_error = th->mild_compile_error;
TH_PUSH_TAG(th);
if ((state = TH_EXEC_TAG()) == 0) {
NODE *cref = cref_arg;
rb_binding_t *bind = 0;
rb_iseq_t *iseq;
volatile VALUE iseqval;