diff options
| author | Tomasz Dąbrowski <[email protected]> | 2016-11-22 13:19:05 +0100 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2016-11-24 09:28:00 +0900 |
| commit | 1af9e363f28810e46e263cd13da918cdf779d71d (patch) | |
| tree | b0bc03c71721bc62a5435111c3bf0f9c9dc0ce0d /include | |
| parent | 477e12c1821b5d6c845b5c80c7dd238bebc61f73 (diff) | |
| download | mruby-1af9e363f28810e46e263cd13da918cdf779d71d.tar.gz mruby-1af9e363f28810e46e263cd13da918cdf779d71d.zip | |
Fixes for compiling mruby as C++
Diffstat (limited to 'include')
| -rw-r--r-- | include/mruby.h | 16 | ||||
| -rw-r--r-- | include/mruby/boxing_nan.h | 2 |
2 files changed, 17 insertions, 1 deletions
diff --git a/include/mruby.h b/include/mruby.h index e6eaf7f27..d40dce6d9 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -28,10 +28,26 @@ #ifndef MRUBY_H #define MRUBY_H +#ifdef __cplusplus +#define __STDC_LIMIT_MACROS +#define __STDC_CONSTANT_MACROS +#define __STDC_FORMAT_MACROS +#endif + #include <stdint.h> #include <stddef.h> #include <limits.h> +#ifdef __cplusplus +#ifndef SIZE_MAX +#ifdef __SIZE_MAX__ +#define SIZE_MAX __SIZE_MAX__ +#else +#define SIZE_MAX std::numeric_limits<size_t>::max() +#endif +#endif +#endif + #ifdef MRB_DEBUG #include <assert.h> #define mrb_assert(p) assert(p) diff --git a/include/mruby/boxing_nan.h b/include/mruby/boxing_nan.h index 154150ece..052164ffc 100644 --- a/include/mruby/boxing_nan.h +++ b/include/mruby/boxing_nan.h @@ -53,7 +53,7 @@ typedef struct mrb_value { #define mrb_float_pool(mrb,f) mrb_float_value(mrb,f) #define mrb_tt(o) ((enum mrb_vtype)(((o).value.ttt & 0xfc000)>>14)-1) -#define mrb_type(o) ((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT) +#define mrb_type(o) (enum mrb_vtype)((uint32_t)0xfff00000 < (o).value.ttt ? mrb_tt(o) : MRB_TT_FLOAT) #define mrb_ptr(o) ((void*)((((uintptr_t)0x3fffffffffff)&((uintptr_t)((o).value.p)))<<2)) #define mrb_float(o) (o).f #define mrb_cptr(o) mrb_ptr(o) |
