diff options
author | Koichi Sasada <ko1@atdot.net> | 2019-07-15 10:19:25 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2019-07-15 10:21:41 +0900 |
commit | f6f09cbc76c3e47aec23898e024ff5bb5f061bc4 (patch) | |
tree | ceaf8a3203b0c2addbb7958d29cbad8ec17ef00f | |
parent | 0af897ab59dfa3d06724f898f17bbf8a1970abd1 (diff) | |
download | ruby-f6f09cbc76c3e47aec23898e024ff5bb5f061bc4.tar.gz |
introduce RUBY_ASSERT_ALWAYS(expr).
RUBY_ASSERT_ALWAYS(expr) ignores NDEBUG (we cannot remove this
assertion).
-rw-r--r-- | array.c | 2 | ||||
-rw-r--r-- | include/ruby/assert.h | 1 |
2 files changed, 2 insertions, 1 deletions
@@ -1125,7 +1125,7 @@ ary_take_first_or_last(int argc, const VALUE *argv, VALUE ary, enum ary_take_pos /* the case optional argument is omitted should be handled in * callers of this function. if another arity case is added, * this arity check needs to rewrite. */ - RUBY_ASSERT_WHEN(TRUE, argc == 1); + RUBY_ASSERT_ALWAYS(argc == 1); n = NUM2LONG(argv[0]); len = RARRAY_LEN(ary); diff --git a/include/ruby/assert.h b/include/ruby/assert.h index f8930a7bba..a5ee396f6b 100644 --- a/include/ruby/assert.h +++ b/include/ruby/assert.h @@ -30,6 +30,7 @@ NORETURN(void rb_assert_failure(const char *, int, const char *, const char *)); #endif #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_ALWAYS(expr) RUBY_ASSERT_MESG_WHEN(TRUE, expr, #expr) #ifndef RUBY_DEBUG # define RUBY_DEBUG 0 |