diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-06-29 01:01:17 -0700 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2013-06-29 01:01:17 -0700 |
| commit | 5698852e1c3002f40198abf5e7a37c3ef1392690 (patch) | |
| tree | 6fc0c4ca660e88669d0bd2f6f15656c49263ac31 /include | |
| parent | 9f154dd7f47a64dcce867115ed92145e833e8f6e (diff) | |
| parent | bc91bcefcfc0b509cdfa2cd550a395314e280566 (diff) | |
| download | mruby-5698852e1c3002f40198abf5e7a37c3ef1392690.tar.gz mruby-5698852e1c3002f40198abf5e7a37c3ef1392690.zip | |
Merge pull request #1311 from cremno/msvc-2013-support
Visual Studio 2013 support (and two other fixes)
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby/value.h | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/include/mruby/value.h b/include/mruby/value.h index 06241ec76..e78035b5f 100644 --- a/include/mruby/value.h +++ b/include/mruby/value.h @@ -51,23 +51,29 @@ typedef short mrb_sym; #ifdef _MSC_VER -# define _ALLOW_KEYWORD_MACROS -# include <float.h> -# define inline __inline +# ifndef __cplusplus +# define inline __inline +# endif # define snprintf _snprintf -# define isnan _isnan -# define isinf(n) (!_finite(n) && !_isnan(n)) -# define strtoll _strtoi64 -# define PRId32 "I32d" -# define PRIi32 "I32i" -# define PRIo32 "I32o" -# define PRIx32 "I32x" -# define PRIX32 "I32X" -# define PRId64 "I64d" -# define PRIi64 "I64i" -# define PRIo64 "I64o" -# define PRIx64 "I64x" -# define PRIX64 "I64X" +# if _MSC_VER < 1800 +# include <float.h> +# define isnan _isnan +# define isinf(n) (!_finite(n) && !_isnan(n)) +# define strtoll _strtoi64 +# define strtof (float)strtod +# define PRId32 "I32d" +# define PRIi32 "I32i" +# define PRIo32 "I32o" +# define PRIx32 "I32x" +# define PRIX32 "I32X" +# define PRId64 "I64d" +# define PRIi64 "I64i" +# define PRIo64 "I64o" +# define PRIx64 "I64x" +# define PRIX64 "I64X" +# else +# include <inttypes.h> +# endif #else # include <inttypes.h> #endif |
