From 2d9a4afb137d18bf16ec99f5a841b0f232b05a16 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 26 Jul 2013 13:14:22 +0000 Subject: [PATCH] vm_exec.h: fix CHECK_VM_STACK_OVERFLOW_FOR_INSN * vm_exec.h (CHECK_VM_STACK_OVERFLOW_FOR_INSN): surround with do/while (0), and remove unnecessary casts. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ vm_exec.h | 11 +++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4eb41db18d..6b84b766a4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 26 22:14:10 2013 Nobuyoshi Nakada + + * vm_exec.h (CHECK_VM_STACK_OVERFLOW_FOR_INSN): surround with + do/while (0), and remove unnecessary casts. + Fri Jul 26 20:12:07 2013 Akinori MUSHA * ext/syslog/lib/syslog/logger.rb (Syslog::Logger): Add facility diff --git a/vm_exec.h b/vm_exec.h index b785c4fdd3..c92f715594 100644 --- a/vm_exec.h +++ b/vm_exec.h @@ -169,9 +169,12 @@ default: \ #endif #define SCREG(r) (reg_##r) -#define CHECK_VM_STACK_OVERFLOW_FOR_INSN(cfp, margin) \ - if ((VALUE *)((char *)(((VALUE *)(cfp)->sp) + (margin)) + sizeof(rb_control_frame_t)) >= ((VALUE *)(cfp))) { \ - rb_bug("CHECK_VM_STACK_OVERFLOW_FOR_INSN: should not overflow here. Please contact ruby-core/dev with your (a part of) script. This check will be removed soon."); \ - } while (0); +#define CHECK_VM_STACK_OVERFLOW_FOR_INSN(cfp, margin) do { \ + if (((rb_control_frame_t *)(((cfp)->sp) + (margin)) + 1) >= (cfp)) { \ + rb_bug("CHECK_VM_STACK_OVERFLOW_FOR_INSN: should not overflow here. " \ + "Please contact ruby-core/dev with your (a part of) script. " \ + "This check will be removed soon."); \ + } \ +} while (0) #endif /* RUBY_VM_EXEC_H */