summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2017-08-12 09:35:35 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2017-08-12 09:35:35 +0900
commit8bf492f12707777c321dcf40494f757947649f62 (patch)
treed03211047847039b1f3387a00d2a76c53e46c98e /src
parentbaa5d2e3f72cb036c8c4e4f434b584998caaaa2c (diff)
downloadmruby-8bf492f12707777c321dcf40494f757947649f62.tar.gz
mruby-8bf492f12707777c321dcf40494f757947649f62.zip
Reduce integer type mismatch warnings in VC.
Diffstat (limited to 'src')
-rw-r--r--src/backtrace.c4
-rw-r--r--src/codedump.c2
-rw-r--r--src/debug.c4
-rw-r--r--src/dump.c36
-rw-r--r--src/error.c4
-rw-r--r--src/fmt_fp.c7
-rw-r--r--src/load.c19
-rw-r--r--src/state.c2
8 files changed, 41 insertions, 37 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index 58e113665..3e4e1a438 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -56,8 +56,8 @@ each_backtrace(mrb_state *mrb, ptrdiff_t ciidx, mrb_code *pc0, each_backtrace_fu
else {
pc = pc0;
}
- loc.filename = mrb_debug_get_filename(irep, (uint32_t)(pc - irep->iseq));
- loc.lineno = mrb_debug_get_line(irep, (uint32_t)(pc - irep->iseq));
+ loc.filename = mrb_debug_get_filename(irep, pc - irep->iseq);
+ loc.lineno = mrb_debug_get_line(irep, pc - irep->iseq);
if (loc.lineno == -1) continue;
diff --git a/src/codedump.c b/src/codedump.c
index 6b2c43b48..e3a33419c 100644
--- a/src/codedump.c
+++ b/src/codedump.c
@@ -459,7 +459,7 @@ codedump(mrb_state *mrb, mrb_irep *irep)
static void
codedump_recur(mrb_state *mrb, mrb_irep *irep)
{
- size_t i;
+ int i;
codedump(mrb, irep);
for (i=0; i<irep->rlen; i++) {
diff --git a/src/debug.c b/src/debug.c
index 8e431af95..7c04ad148 100644
--- a/src/debug.c
+++ b/src/debug.c
@@ -51,7 +51,7 @@ select_line_type(const uint16_t *lines, size_t lines_len)
}
MRB_API char const*
-mrb_debug_get_filename(mrb_irep *irep, uint32_t pc)
+mrb_debug_get_filename(mrb_irep *irep, ptrdiff_t pc)
{
if (irep && pc < irep->ilen) {
mrb_irep_debug_info_file* f = NULL;
@@ -64,7 +64,7 @@ mrb_debug_get_filename(mrb_irep *irep, uint32_t pc)
}
MRB_API int32_t
-mrb_debug_get_line(mrb_irep *irep, uint32_t pc)
+mrb_debug_get_line(mrb_irep *irep, ptrdiff_t pc)
{
if (irep && pc < irep->ilen) {
mrb_irep_debug_info_file* f = NULL;
diff --git a/src/dump.c b/src/dump.c
index bb9ed8c75..dcc5ed685 100644
--- a/src/dump.c
+++ b/src/dump.c
@@ -79,7 +79,7 @@ static ptrdiff_t
write_iseq_block(mrb_state *mrb, mrb_irep *irep, uint8_t *buf, uint8_t flags)
{
uint8_t *cur = buf;
- uint32_t iseq_no;
+ int iseq_no;
cur += uint32_to_bin(irep->ilen, cur); /* number of opcode */
cur += write_padding(cur);
@@ -111,8 +111,8 @@ write_iseq_block(mrb_state *mrb, mrb_irep *irep, uint8_t *buf, uint8_t flags)
static size_t
get_pool_block_size(mrb_state *mrb, mrb_irep *irep)
{
+ int pool_no;
size_t size = 0;
- size_t pool_no;
mrb_value str;
size += sizeof(uint32_t); /* plen */
@@ -160,7 +160,7 @@ get_pool_block_size(mrb_state *mrb, mrb_irep *irep)
static ptrdiff_t
write_pool_block(mrb_state *mrb, mrb_irep *irep, uint8_t *buf)
{
- size_t pool_no;
+ int pool_no;
uint8_t *cur = buf;
uint16_t len;
mrb_value str;
@@ -213,7 +213,7 @@ static size_t
get_syms_block_size(mrb_state *mrb, mrb_irep *irep)
{
size_t size = 0;
- uint32_t sym_no;
+ int sym_no;
mrb_int len;
size += sizeof(uint32_t); /* slen */
@@ -231,7 +231,7 @@ get_syms_block_size(mrb_state *mrb, mrb_irep *irep)
static ptrdiff_t
write_syms_block(mrb_state *mrb, mrb_irep *irep, uint8_t *buf)
{
- uint32_t sym_no;
+ int sym_no;
uint8_t *cur = buf;
const char *name;
@@ -273,7 +273,7 @@ static size_t
get_irep_record_size(mrb_state *mrb, mrb_irep *irep)
{
size_t size = 0;
- size_t irep_no;
+ int irep_no;
size = get_irep_record_size_1(mrb, irep);
for (irep_no = 0; irep_no < irep->rlen; irep_no++) {
@@ -285,7 +285,7 @@ get_irep_record_size(mrb_state *mrb, mrb_irep *irep)
static int
write_irep_record(mrb_state *mrb, mrb_irep *irep, uint8_t *bin, size_t *irep_record_size, uint8_t flags)
{
- uint32_t i;
+ int i;
uint8_t *src = bin;
if (irep == NULL) {
@@ -399,7 +399,7 @@ static size_t
write_lineno_record_1(mrb_state *mrb, mrb_irep *irep, uint8_t* bin)
{
uint8_t *cur = bin;
- size_t iseq_no;
+ int iseq_no;
size_t filename_len;
ptrdiff_t diff;
@@ -442,8 +442,8 @@ write_lineno_record_1(mrb_state *mrb, mrb_irep *irep, uint8_t* bin)
static size_t
write_lineno_record(mrb_state *mrb, mrb_irep *irep, uint8_t* bin)
{
- size_t i;
size_t rlen, size = 0;
+ int i;
rlen = write_lineno_record_1(mrb, irep, bin);
bin += rlen;
@@ -483,7 +483,7 @@ get_debug_record_size(mrb_state *mrb, mrb_irep *irep)
{
size_t ret = 0;
uint16_t f_idx;
- size_t i;
+ int i;
ret += sizeof(uint32_t); /* record size */
ret += sizeof(uint16_t); /* file count */
@@ -531,8 +531,9 @@ static size_t
get_filename_table_size(mrb_state *mrb, mrb_irep *irep, mrb_sym **fp, uint16_t *lp)
{
mrb_sym *filenames = *fp;
- size_t i, size = 0;
+ size_t size = 0;
mrb_irep_debug_info *di = irep->debug_info;
+ int i;
mrb_assert(lp);
for (i = 0; i < di->flen; ++i) {
@@ -615,7 +616,7 @@ static size_t
write_debug_record(mrb_state *mrb, mrb_irep *irep, uint8_t *bin, mrb_sym const* filenames, uint16_t filenames_len)
{
size_t size, len;
- size_t irep_no;
+ int irep_no;
size = len = write_debug_record_1(mrb, irep, bin, filenames, filenames_len);
bin += len;
@@ -673,7 +674,7 @@ write_section_debug(mrb_state *mrb, mrb_irep *irep, uint8_t *cur, mrb_sym const
static void
create_lv_sym_table(mrb_state *mrb, const mrb_irep *irep, mrb_sym **syms, uint32_t *syms_len)
{
- size_t i;
+ int i;
if (*syms == NULL) {
*syms = (mrb_sym*)mrb_malloc(mrb, sizeof(mrb_sym) * 1);
@@ -720,7 +721,7 @@ static int
write_lv_record(mrb_state *mrb, const mrb_irep *irep, uint8_t **start, mrb_sym const *syms, uint32_t syms_len)
{
uint8_t *cur = *start;
- size_t i;
+ int i;
for (i = 0; i + 1 < irep->nlocals; ++i) {
if (irep->lv[i].name == 0) {
@@ -748,7 +749,8 @@ write_lv_record(mrb_state *mrb, const mrb_irep *irep, uint8_t **start, mrb_sym c
static size_t
get_lv_record_size(mrb_state *mrb, mrb_irep *irep)
{
- size_t ret = 0, i;
+ size_t ret = 0;
+ int i;
ret += (sizeof(uint16_t) + sizeof(uint16_t)) * (irep->nlocals - 1);
@@ -851,7 +853,7 @@ write_rite_binary_header(mrb_state *mrb, size_t binary_size, uint8_t *bin, uint8
static mrb_bool
is_debug_info_defined(mrb_irep *irep)
{
- size_t i;
+ int i;
if (!irep->debug_info) return FALSE;
for (i=0; i<irep->rlen; i++) {
@@ -863,7 +865,7 @@ is_debug_info_defined(mrb_irep *irep)
static mrb_bool
is_lv_defined(mrb_irep *irep)
{
- size_t i;
+ int i;
if (irep->lv) { return TRUE; }
diff --git a/src/error.c b/src/error.c
index cd771dc2d..2c4fd1a40 100644
--- a/src/error.c
+++ b/src/error.c
@@ -207,8 +207,8 @@ exc_debug_info(mrb_state *mrb, struct RObject *exc)
if (err && ci->proc && !MRB_PROC_CFUNC_P(ci->proc)) {
mrb_irep *irep = ci->proc->body.irep;
- int32_t const line = mrb_debug_get_line(irep, (uint32_t)(err - irep->iseq));
- char const* file = mrb_debug_get_filename(irep, (uint32_t)(err - irep->iseq));
+ int32_t const line = mrb_debug_get_line(irep, err - irep->iseq);
+ char const* file = mrb_debug_get_filename(irep, err - irep->iseq);
if (line != -1 && file) {
mrb_obj_iv_set(mrb, exc, mrb_intern_lit(mrb, "file"), mrb_str_new_cstr(mrb, file));
mrb_obj_iv_set(mrb, exc, mrb_intern_lit(mrb, "line"), mrb_fixnum_value(line));
diff --git a/src/fmt_fp.c b/src/fmt_fp.c
index 483e04c39..440a50071 100644
--- a/src/fmt_fp.c
+++ b/src/fmt_fp.c
@@ -61,7 +61,7 @@ out(struct fmt_args *f, const char *s, size_t l)
#define PAD_SIZE 256
static void
-pad(struct fmt_args *f, char c, int w, int l, int fl)
+pad(struct fmt_args *f, char c, int w, int l, uint8_t fl)
{
char pad[PAD_SIZE];
if (fl & (LEFT_ADJ | ZERO_PAD) || l >= w) return;
@@ -91,13 +91,14 @@ typedef char compiler_defines_long_double_incorrectly[9-(int)sizeof(long double)
#endif
static int
-fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t)
+fmt_fp(struct fmt_args *f, long double y, int w, int p, uint8_t fl, int t)
{
uint32_t big[(LDBL_MANT_DIG+28)/29 + 1 // mantissa expansion
+ (LDBL_MAX_EXP+LDBL_MANT_DIG+28+8)/9]; // exponent expansion
uint32_t *a, *d, *r, *z;
uint32_t i;
- int e2=0, e, j, l;
+ int e2=0, e, j;
+ ptrdiff_t l;
char buf[9+LDBL_MANT_DIG/4], *s;
const char *prefix="-0X+0X 0X-0x+0x 0x";
int pl;
diff --git a/src/load.c b/src/load.c
index 4a0dcb0e8..dd06d5c21 100644
--- a/src/load.c
+++ b/src/load.c
@@ -24,7 +24,7 @@
#define FLAG_SRC_MALLOC 1
#define FLAG_SRC_STATIC 0
-#define SIZE_ERROR_MUL(nmemb, size) ((nmemb) > SIZE_MAX / (size))
+#define SIZE_ERROR_MUL(nmemb, size) ((size_t)(nmemb) > SIZE_MAX / (size))
static size_t
skip_padding(const uint8_t *buf)
@@ -43,11 +43,11 @@ offset_crc_body(void)
static mrb_irep*
read_irep_record_1(mrb_state *mrb, const uint8_t *bin, size_t *len, uint8_t flags)
{
- size_t i;
+ int i;
const uint8_t *src = bin;
ptrdiff_t diff;
uint16_t tt, pool_data_len, snl;
- size_t plen;
+ int plen;
int ai = mrb_gc_arena_save(mrb);
mrb_irep *irep = mrb_add_irep(mrb);
@@ -104,7 +104,7 @@ read_irep_record_1(mrb_state *mrb, const uint8_t *bin, size_t *len, uint8_t flag
}
/* POOL BLOCK */
- plen = (size_t)bin_to_uint32(src); /* number of pool */
+ plen = bin_to_uint32(src); /* number of pool */
src += sizeof(uint32_t);
if (plen > 0) {
if (SIZE_ERROR_MUL(plen, sizeof(mrb_value))) {
@@ -191,7 +191,7 @@ static mrb_irep*
read_irep_record(mrb_state *mrb, const uint8_t *bin, size_t *len, uint8_t flags)
{
mrb_irep *irep = read_irep_record_1(mrb, bin, len, flags);
- size_t i;
+ int i;
if (irep == NULL) {
return NULL;
@@ -262,7 +262,7 @@ static int
read_lineno_record(mrb_state *mrb, const uint8_t *bin, mrb_irep *irep, size_t *lenp)
{
int result = read_lineno_record_1(mrb, bin, irep, lenp);
- size_t i;
+ int i;
if (result != MRB_DUMP_OK) return result;
for (i = 0; i < irep->rlen; i++) {
@@ -293,13 +293,14 @@ read_debug_record(mrb_state *mrb, const uint8_t *start, mrb_irep* irep, size_t *
{
const uint8_t *bin = start;
ptrdiff_t diff;
- size_t record_size, i;
+ size_t record_size;
uint16_t f_idx;
+ int i;
if (irep->debug_info) { return MRB_DUMP_INVALID_IREP; }
irep->debug_info = (mrb_irep_debug_info*)mrb_malloc(mrb, sizeof(mrb_irep_debug_info));
- irep->debug_info->pc_count = irep->ilen;
+ irep->debug_info->pc_count = (uint32_t)irep->ilen;
record_size = (size_t)bin_to_uint32(bin);
bin += sizeof(uint32_t);
@@ -432,8 +433,8 @@ static int
read_lv_record(mrb_state *mrb, const uint8_t *start, mrb_irep *irep, size_t *record_len, mrb_sym const *syms, uint32_t syms_len)
{
const uint8_t *bin = start;
- size_t i;
ptrdiff_t diff;
+ int i;
irep->lv = (struct mrb_locals*)mrb_malloc(mrb, sizeof(struct mrb_locals) * (irep->nlocals - 1));
diff --git a/src/state.c b/src/state.c
index 0be5a184a..f09b20903 100644
--- a/src/state.c
+++ b/src/state.c
@@ -137,7 +137,7 @@ mrb_irep_decref(mrb_state *mrb, mrb_irep *irep)
void
mrb_irep_free(mrb_state *mrb, mrb_irep *irep)
{
- size_t i;
+ int i;
if (!(irep->flags & MRB_ISEQ_NO_FREE))
mrb_free(mrb, irep->iseq);