1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

Introduce RUBY_DEBUG flag macro

When RUBY_DEBUG is turned on, all RUBY_ASSERT() macros will be
enabled regardless RUBY_NDEBUG.
This commit is contained in:
Nobuyoshi Nakada 2019-07-14 14:44:59 +09:00
parent 715955ff27
commit 08c2a9dc59
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60

View file

@ -28,9 +28,12 @@ NORETURN(void rb_assert_failure(const char *, int, const char *, const char *));
# define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \ # define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
RUBY_ASSERT_MESG(!(cond) || (expr), mesg) RUBY_ASSERT_MESG(!(cond) || (expr), mesg)
#endif #endif
#define RUBY_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(!RUBY_NDEBUG+0, expr, #expr) #define RUBY_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(RUBY_DEBUG+(!RUBY_NDEBUG+0), expr, #expr)
#define RUBY_ASSERT_WHEN(cond, expr) RUBY_ASSERT_MESG_WHEN(cond, expr, #expr) #define RUBY_ASSERT_WHEN(cond, expr) RUBY_ASSERT_MESG_WHEN(cond, expr, #expr)
#ifndef RUBY_DEBUG
# define RUBY_DEBUG 0
#endif
#ifndef RUBY_NDEBUG #ifndef RUBY_NDEBUG
# ifdef NDEBUG # ifdef NDEBUG
# define RUBY_NDEBUG 1 # define RUBY_NDEBUG 1