summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-06-29 01:01:17 -0700
committerYukihiro "Matz" Matsumoto <[email protected]>2013-06-29 01:01:17 -0700
commit5698852e1c3002f40198abf5e7a37c3ef1392690 (patch)
tree6fc0c4ca660e88669d0bd2f6f15656c49263ac31 /include
parent9f154dd7f47a64dcce867115ed92145e833e8f6e (diff)
parentbc91bcefcfc0b509cdfa2cd550a395314e280566 (diff)
downloadmruby-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.h38
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