From 1f77f84799e45fcb48f41d7637d3858feb510849 Mon Sep 17 00:00:00 2001 From: kazu Date: Sat, 10 Mar 2018 00:33:11 +0000 Subject: Fix error: implicit conversion loses integer precision http://ci.rvm.jp/results/trunk_clang_50@silicon-docker/627906 ``` iseq.h:41:36: error: implicit conversion loses integer precision: 'rb_num_t' (aka 'unsigned long') to 'int' [-Werror,-Wshorten-64-to-32] int cnt = iseq->body->variable.flip_count; ~~~ ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~ ``` git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62708 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- compile.c | 2 +- iseq.h | 4 ++-- vm_core.h | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/compile.c b/compile.c index 3ebf502007..7b784b8560 100644 --- a/compile.c +++ b/compile.c @@ -8751,7 +8751,7 @@ ibf_load_iseq_each(const struct ibf_load *load, rb_iseq_t *iseq, ibf_offset_t of ISEQ_COVERAGE_SET(iseq, Qnil); ISEQ_ORIGINAL_ISEQ_CLEAR(iseq); - iseq->body->variable.flip_count = (int)body->variable.flip_count; + iseq->body->variable.flip_count = body->variable.flip_count; { VALUE realpath = Qnil, path = ibf_load_object(load, body->location.pathobj); diff --git a/iseq.h b/iseq.h index a39d827670..0a0edd9b7a 100644 --- a/iseq.h +++ b/iseq.h @@ -35,10 +35,10 @@ rb_call_info_kw_arg_bytes(int keyword_len) #define ISEQ_FLIP_CNT(iseq) (iseq)->body->variable.flip_count -static inline int +static inline rb_snum_t ISEQ_FLIP_CNT_INCREMENT(const rb_iseq_t *iseq) { - int cnt = iseq->body->variable.flip_count; + rb_snum_t cnt = iseq->body->variable.flip_count; iseq->body->variable.flip_count += 1; return cnt; } diff --git a/vm_core.h b/vm_core.h index 24ecc9be54..9b8aede35c 100644 --- a/vm_core.h +++ b/vm_core.h @@ -412,7 +412,7 @@ struct rb_iseq_constant_body { struct rb_call_cache *cc_entries; /* size is ci_size = ci_kw_size */ struct { - rb_num_t flip_count; + rb_snum_t flip_count; VALUE coverage; VALUE original_iseq; } variable; -- cgit v1.2.3