Commit 17240422 authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #766 from masuidrive/mrbint64

Fixed MRB_INT64 warning
parents e18a9c0a 5a681874
...@@ -76,7 +76,8 @@ ...@@ -76,7 +76,8 @@
typedef int32_t mrb_int; typedef int32_t mrb_int;
# define MRB_INT_MIN INT32_MIN # define MRB_INT_MIN INT32_MIN
# define MRB_INT_MAX INT32_MAX # define MRB_INT_MAX INT32_MAX
# define mrb_int_to_str(buf, i) sprintf((buf), "%d", (i)) # define MRB_INT_FORMAT PRId32
# define mrb_int_to_str(buf, i) sprintf((buf), "%" MRB_INT_FORMAT, (i))
# define str_to_mrb_int(buf) (mrb_int)strtol((buf), NULL, 10) # define str_to_mrb_int(buf) (mrb_int)strtol((buf), NULL, 10)
# endif # endif
#else #else
...@@ -84,13 +85,15 @@ ...@@ -84,13 +85,15 @@
typedef int64_t mrb_int; typedef int64_t mrb_int;
# define MRB_INT_MIN INT64_MIN # define MRB_INT_MIN INT64_MIN
# define MRB_INT_MAX INT64_MAX # define MRB_INT_MAX INT64_MAX
# define mrb_int_to_str(buf, i) sprintf((buf), "%ld", (i)) # define MRB_INT_FORMAT PRId64
# define mrb_int_to_str(buf, i) sprintf((buf), "%" MRB_INT_FORMAT, (i))
# define str_to_mrb_int(buf) (mrb_int)strtoll((buf), NULL, 10) # define str_to_mrb_int(buf) (mrb_int)strtoll((buf), NULL, 10)
# else # else
typedef int mrb_int; typedef int32_t mrb_int;
# define MRB_INT_MIN INT_MIN # define MRB_INT_MIN INT32_MIN
# define MRB_INT_MAX INT_MAX # define MRB_INT_MAX INT32_MAX
# define mrb_int_to_str(buf, i) sprintf((buf), "%d", (i)) # define MRB_INT_FORMAT PRId32
# define mrb_int_to_str(buf, i) sprintf((buf), "%" MRB_INT_FORMAT, (i))
# define str_to_mrb_int(buf) (mrb_int)strtol((buf), NULL, 10) # define str_to_mrb_int(buf) (mrb_int)strtol((buf), NULL, 10)
# endif # endif
#endif #endif
...@@ -131,6 +134,10 @@ typedef short mrb_sym; ...@@ -131,6 +134,10 @@ typedef short mrb_sym;
# define isnan _isnan # define isnan _isnan
# define isinf(n) (!_finite(n) && !_isnan(n)) # define isinf(n) (!_finite(n) && !_isnan(n))
# define strtoll _strtoi64 # define strtoll _strtoi64
# define PRId32 "I32d"
# define PRId64 "I64d"
#else
# include <inttypes.h>
#endif #endif
#endif /* MRUBYCONF_H */ #endif /* MRUBYCONF_H */
...@@ -145,7 +145,7 @@ make_cdump_irep(mrb_state *mrb, int irep_no, FILE *f) ...@@ -145,7 +145,7 @@ make_cdump_irep(mrb_state *mrb, int irep_no, FILE *f)
case MRB_TT_FLOAT: case MRB_TT_FLOAT:
SOURCE_CODE(" irep->pool[%d] = mrb_float_value(%.16e);", n, mrb_float(irep->pool[n])); break; SOURCE_CODE(" irep->pool[%d] = mrb_float_value(%.16e);", n, mrb_float(irep->pool[n])); break;
case MRB_TT_FIXNUM: case MRB_TT_FIXNUM:
SOURCE_CODE(" irep->pool[%d] = mrb_fixnum_value(%d);", n, mrb_fixnum(irep->pool[n])); break; SOURCE_CODE(" irep->pool[%d] = mrb_fixnum_value(%" MRB_INT_FORMAT ");", n, mrb_fixnum(irep->pool[n])); break;
case MRB_TT_STRING: case MRB_TT_STRING:
str_len = str_format_len(irep->pool[n]) + 1; str_len = str_format_len(irep->pool[n]) + 1;
if ( str_len > buf_len ) { if ( str_len > buf_len ) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment