From c23e5976744f1984b309f0af724fbd8ddea2c56a Mon Sep 17 00:00:00 2001 From: Koichi Sasada Date: Mon, 15 Jul 2019 11:27:38 +0900 Subject: respect RUBY_DEBUG. see RUBY_DEBUG for each debug options. --- hash.c | 4 ++-- internal.h | 2 +- vm_core.h | 7 +++++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/hash.c b/hash.c index df77e898a1..9c2da83fee 100644 --- a/hash.c +++ b/hash.c @@ -394,9 +394,10 @@ ar_empty_entry(ar_table_entry *entry) #define RHASH_TYPE(hash) (RHASH_AR_TABLE_P(hash) ? &objhash : RHASH_ST_TABLE(hash)->type) #define RHASH_AR_TABLE_REF(hash, n) (&RHASH_AR_TABLE(hash)->entries[n]) +#define HASH_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(1, expr, #expr) + #if HASH_DEBUG #define hash_verify(hash) hash_verify_(hash, __FILE__, __LINE__) -#define HASH_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(1, expr, #expr) void rb_hash_dump(VALUE hash) @@ -471,7 +472,6 @@ hash_verify_(VALUE hash, const char *file, int line) #else #define hash_verify(h) ((void)0) -#define HASH_ASSERT(e) ((void)0) #endif static inline int diff --git a/internal.h b/internal.h index 0539d49f5b..fb184e290c 100644 --- a/internal.h +++ b/internal.h @@ -1302,7 +1302,7 @@ VALUE rb_gvar_defined(struct rb_global_entry *); /* array.c */ #ifndef ARRAY_DEBUG -#define ARRAY_DEBUG 0 +#define ARRAY_DEBUG (0+RUBY_DEBUG) #endif #ifdef ARRAY_DEBUG diff --git a/vm_core.h b/vm_core.h index 8ebdadb08a..0120f21831 100644 --- a/vm_core.h +++ b/vm_core.h @@ -17,7 +17,11 @@ * 1: enable local assertions. */ #ifndef VM_CHECK_MODE -#define VM_CHECK_MODE 0 + +// respect RUBY_DUBUG: if given n is 0, then use RUBY_DEBUG +#define N_OR_RUBY_DEBUG(n) (((n) > 0) ? (n) : RUBY_DEBUG) + +#define VM_CHECK_MODE N_OR_RUBY_DEBUG(0) #endif /** @@ -46,7 +50,6 @@ #if VM_CHECK_MODE > 0 #define VM_ASSERT(expr) RUBY_ASSERT_MESG_WHEN(VM_CHECK_MODE > 0, expr, #expr) - #define VM_UNREACHABLE(func) rb_bug(#func ": unreachable") #else -- cgit v1.2.3