summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-12-22 18:02:31 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-12-22 18:02:31 +0900
commit7e4a7abf5f2396acc1eb302da75f79b296aa3b31 (patch)
tree16f444f586b644175032c34253a14e1e2cb403c2
parentd0727be6eb22932aaf67447d09c9b3751516e891 (diff)
parent7cc33af2dc1137ef819b589e51e3756bdaa222e1 (diff)
downloadmruby-7e4a7abf5f2396acc1eb302da75f79b296aa3b31.tar.gz
mruby-7e4a7abf5f2396acc1eb302da75f79b296aa3b31.zip
Merge pull request #3055 from mattn/fix-msvc-warnings
fix build on VS2012
-rwxr-xr-xmrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c4
-rw-r--r--mrbgems/mruby-math/src/math.c2
-rw-r--r--src/dump.c2
-rw-r--r--src/fmt_fp.c6
-rw-r--r--src/string.c8
5 files changed, 13 insertions, 9 deletions
diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c b/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c
index 986c69d82..67b4e8422 100755
--- a/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c
+++ b/mrbgems/mruby-bin-debugger/tools/mrdb/apibreak.c
@@ -450,7 +450,7 @@ mrb_debug_check_breakpoint_line( mrb_state *mrb, mrb_debug_context *dbg, const c
{
mrb_debug_breakpoint *bp;
mrb_debug_linepoint *line_p;
- int i;
+ uint32_t i;
if((mrb == NULL) || (dbg == NULL) || (file == NULL) || (line <= 0)) {
return MRB_DEBUG_INVALID_ARGUMENT;
@@ -488,7 +488,7 @@ mrb_debug_check_breakpoint_method( mrb_state *mrb, mrb_debug_context *dbg, struc
{
mrb_debug_breakpoint *bp;
int32_t bpno;
- int i;
+ uint32_t i;
if((mrb == NULL) || (dbg == NULL) || (class_obj == NULL)) {
return MRB_DEBUG_INVALID_ARGUMENT;
diff --git a/mrbgems/mruby-math/src/math.c b/mrbgems/mruby-math/src/math.c
index b2bd81e4e..7302b92d7 100644
--- a/mrbgems/mruby-math/src/math.c
+++ b/mrbgems/mruby-math/src/math.c
@@ -19,7 +19,7 @@ domain_error(mrb_state *mrb, const char *func)
}
/* math functions not provided by Microsoft Visual C++ 2012 or older */
-#if defined _MSC_VER && _MSC_VER < 1700
+#if defined _MSC_VER && _MSC_VER <= 1700
#include <float.h>
diff --git a/src/dump.c b/src/dump.c
index 8870c6c65..ea1cd5596 100644
--- a/src/dump.c
+++ b/src/dump.c
@@ -54,7 +54,7 @@ write_irep_header(mrb_state *mrb, mrb_irep *irep, uint8_t *buf)
{
uint8_t *cur = buf;
- cur += uint32_to_bin(get_irep_record_size_1(mrb, irep), cur); /* record size */
+ cur += uint32_to_bin((uint32_t)get_irep_record_size_1(mrb, irep), cur); /* record size */
cur += uint16_to_bin((uint16_t)irep->nlocals, cur); /* number of local variable */
cur += uint16_to_bin((uint16_t)irep->nregs, cur); /* number of register variable */
cur += uint16_to_bin((uint16_t)irep->rlen, cur); /* number of child irep */
diff --git a/src/fmt_fp.c b/src/fmt_fp.c
index b20eb895f..61c7a4cc9 100644
--- a/src/fmt_fp.c
+++ b/src/fmt_fp.c
@@ -156,7 +156,7 @@ fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t)
s=buf;
do {
- int x=y;
+ int x=(int)y;
*s++=xdigits[x]|(t&32);
y=16*(y-x);
if (s-buf==1 && (y||p>0||(fl&ALT_FORM))) *s++='.';
@@ -184,7 +184,7 @@ fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t)
else a=r=z=big+sizeof(big)/sizeof(*big) - LDBL_MANT_DIG - 1;
do {
- *z = y;
+ *z = (uint32_t)y;
y = 1000000000*(y-*z++);
} while (y);
@@ -194,7 +194,7 @@ fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t)
for (d=z-1; d>=a; d--) {
uint64_t x = ((uint64_t)*d<<sh)+carry;
*d = x % 1000000000;
- carry = x / 1000000000;
+ carry = (uint32_t)(x / 1000000000);
}
if (carry) *--a = carry;
while (z>a && !z[-1]) z--;
diff --git a/src/string.c b/src/string.c
index 2638fa04e..6664eabd6 100644
--- a/src/string.c
+++ b/src/string.c
@@ -4,6 +4,10 @@
** See Copyright Notice in mruby.h
*/
+#ifdef _MSC_VER
+# define _CRT_NONSTDC_NO_DEPRECATE
+#endif
+
#include <float.h>
#include <limits.h>
#include <stddef.h>
@@ -2170,12 +2174,12 @@ mrb_str_len_to_inum(mrb_state *mrb, const char *str, size_t len, int base, int b
}
n *= base;
n += c;
- if (n > (int64_t)MRB_INT_MAX + (sign ? 0 : 1)) {
+ if (n > (uint64_t)MRB_INT_MAX + (sign ? 0 : 1)) {
mrb_raisef(mrb, E_ARGUMENT_ERROR, "string (%S) too big for integer",
mrb_str_new(mrb, str, pend-str));
}
}
- val = n;
+ val = (mrb_int)n;
if (badcheck) {
if (p == str) goto bad; /* no number */
while (p<pend && ISSPACE(*p)) p++;