summaryrefslogtreecommitdiff
path: root/ruby_assert.h
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2020-05-20 11:38:44 +0900
committerKoichi Sasada <ko1@atdot.net>2020-05-26 03:21:14 +0900
commit21991e6ca59274e41a472b5256bd3245f6596c90 (patch)
treeb4cf1b0f059dc2a5b49abd44f4487224d38d0cb7 /ruby_assert.h
parentb10b37924aef33426ea6e2fda5ce17804796ecc4 (diff)
Use RUBY_DEBUG instead of NDEBUG
Assertions in header files slows down an interpreter, so they should be turned off by default (simple `make`). To enable them, define a macro `RUBY_DEBUG=1` (e.g. `make cppflags=-DRUBY_DEBUG` or use `#define` at the very beggining of the file. Note that even if `NDEBUG=1` is defined, `RUBY_DEBUG=1` enables all assertions. [Feature #16837] related: https://github.com/ruby/ruby/pull/3120 `assert()` lines in MRI *.c is not disabled even if `RUBY_DEBUG=0` and it can be disabled with `NDEBUG=1`. So please consider to use `RUBY_ASSERT()` if you want to disable them when `RUBY_DEBUG=0`.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/3124
Diffstat (limited to 'ruby_assert.h')
-rw-r--r--ruby_assert.h11
1 files changed, 3 insertions, 8 deletions
diff --git a/ruby_assert.h b/ruby_assert.h
index 52b56771cc..5ccc6158d1 100644
--- a/ruby_assert.h
+++ b/ruby_assert.h
@@ -8,14 +8,9 @@
* modify this file, provided that the conditions mentioned in the
* file COPYING are met. Consult the file for details.
*/
-#include "ruby/assert.h"
-#if !defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L)
-/* C89 compilers are required to support strings of only 509 chars. */
-/* can't use RUBY_ASSERT for such compilers. */
-#include <assert.h>
-#else
+#include "ruby/assert.h"
#undef assert
-#define assert RUBY_ASSERT
-#endif
+#define assert RUBY_ASSERT_NDEBUG
+
#endif /* RUBY_TOPLEVEL_ASSERT_H */