Always evaluate the expression RUBY_ASSERT_MESG_WHEN just once
This commit is contained in:
parent
c20445ab56
commit
b452c03a14
@ -23,7 +23,7 @@ NORETURN(void rb_assert_failure(const char *, int, const char *, const char *));
|
|||||||
((RUBY_DEBUG+0) ? RUBY_ASSERT_MESG((expr), mesg) : \
|
((RUBY_DEBUG+0) ? RUBY_ASSERT_MESG((expr), mesg) : \
|
||||||
__builtin_choose_expr( \
|
__builtin_choose_expr( \
|
||||||
__builtin_constant_p(cond), \
|
__builtin_constant_p(cond), \
|
||||||
__builtin_choose_expr(cond, RUBY_ASSERT_MESG(expr, mesg), (void)0), \
|
__builtin_choose_expr(cond, RUBY_ASSERT_MESG(expr, mesg), (void)(expr)), \
|
||||||
RUBY_ASSERT_MESG(!(cond) || (expr), mesg)))
|
RUBY_ASSERT_MESG(!(cond) || (expr), mesg)))
|
||||||
#else
|
#else
|
||||||
# define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
|
# define RUBY_ASSERT_MESG_WHEN(cond, expr, mesg) \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user