mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Update mrb_bool definition; close #2385
- move `TRUE/FALSE` definition from `mrbconf.h` (not configurable) - use C/C++ definition of boolean type for `mrb_bool` The fix is originally written by @take-cheeze.
This commit is contained in:
@@ -181,14 +181,6 @@
|
||||
# include <stdio.h>
|
||||
#endif
|
||||
|
||||
#ifndef FALSE
|
||||
# define FALSE 0
|
||||
#endif
|
||||
|
||||
#ifndef TRUE
|
||||
# define TRUE 1
|
||||
#endif
|
||||
|
||||
/*
|
||||
** mruby tuning profiles
|
||||
**/
|
||||
|
||||
@@ -31,7 +31,30 @@ typedef uint32_t mrb_sym;
|
||||
* Not to be confused with Ruby's boolean classes, which can be
|
||||
* obtained using mrb_false_value() and mrb_true_value()
|
||||
*/
|
||||
#if defined(__cplusplus) || (defined(__bool_true_false_are_defined) && __bool_true_false_are_defined)
|
||||
typedef bool mrb_bool;
|
||||
|
||||
# ifndef FALSE
|
||||
# define FALSE false
|
||||
# endif
|
||||
# ifndef TRUE
|
||||
# define TRUE true
|
||||
# endif
|
||||
#else
|
||||
# if __STDC_VERSION__ >= 199901L
|
||||
typedef _Bool mrb_bool;
|
||||
# else
|
||||
typedef uint8_t mrb_bool;
|
||||
# endif
|
||||
|
||||
# ifndef FALSE
|
||||
# define FALSE 0
|
||||
# endif
|
||||
# ifndef TRUE
|
||||
# define TRUE 1
|
||||
# endif
|
||||
#endif
|
||||
|
||||
struct mrb_state;
|
||||
|
||||
#if defined _MSC_VER && _MSC_VER < 1800
|
||||
|
||||
Reference in New Issue
Block a user