diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-10 23:25:30 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2015-06-10 23:25:30 +0000 |
commit | 6fcc74aec18693f669adcb2d9f90b73ac383701e (patch) | |
tree | 5533f43c9957655f62e7be4cc2c5f1bb4c6ed75e /vm_core.h | |
parent | 1ce8abe9c8682dd3ea27bde8ee90910f1d53fa59 (diff) | |
download | ruby-6fcc74aec18693f669adcb2d9f90b73ac383701e.tar.gz |
* vm_core.h: define VM_ASSERT() for assertion
enabled only when (VM_CHECK_MODE > 0).
* vm_insnhelper.c: move definition VM_CHECK_MODE
from vm_insnhelper.c to vm_core.h.
* vm.c: remove <assert.h>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50821 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm_core.h')
-rw-r--r-- | vm_core.h | 16 |
1 files changed, 16 insertions, 0 deletions
@@ -12,6 +12,22 @@ #ifndef RUBY_VM_CORE_H #define RUBY_VM_CORE_H +/* + * Enable check mode. + * 1: enable local assertions. + */ +#ifndef VM_CHECK_MODE +#define VM_CHECK_MODE 0 +#endif + +#if VM_CHECK_MODE > 0 +#define VM_ASSERT(expr) do { \ + if(!(expr)) rb_bug("%s:%d assertion violation - %s", __FILE__, __LINE__, #expr); \ +} while (0) +#else +#define VM_ASSERT(expr) +#endif + #define RUBY_VM_THREAD_MODEL 2 #include "ruby/ruby.h" |