summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--debug.c11
-rw-r--r--internal.h2
3 files changed, 15 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index c9927ce2c9..5b0613efd0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+Tue Nov 18 23:45:52 2014 Tanaka Akira <akr@fsij.org>
+
+ * debug.c (SET_WHEN): Don't declare debug variables here.
+ ruby_initial_gc_stress_ptr is changed int* to VALUE* at r41406.
+
+ * internal.h (ruby_initial_gc_stress_ptr): Declared.
+ (ruby_enable_coredump): Ditto.
+
Tue Nov 18 18:06:43 2014 Tanaka Akira <akr@fsij.org>
* include/ruby/io.h (FMODE_WSPLIT): Removed. The write() system call
diff --git a/debug.c b/debug.c
index 15c1ea8b9e..4eaae0d978 100644
--- a/debug.c
+++ b/debug.c
@@ -140,18 +140,17 @@ ruby_debug_breakpoint(void)
static void
set_debug_option(const char *str, int len, void *arg)
{
-#define SET_WHEN(name, var) do { \
+#define SET_WHEN(name, var, val) do { \
if (len == sizeof(name) - 1 && \
strncmp(str, (name), len) == 0) { \
- extern int var; \
- var = 1; \
+ (var) = (val); \
return; \
} \
} while (0)
- SET_WHEN("gc_stress", *ruby_initial_gc_stress_ptr);
- SET_WHEN("core", ruby_enable_coredump);
+ SET_WHEN("gc_stress", *ruby_initial_gc_stress_ptr, Qtrue);
+ SET_WHEN("core", ruby_enable_coredump, 1);
#if defined _WIN32 && defined _MSC_VER && _MSC_VER >= 1400
- SET_WHEN("rtc_error", ruby_w32_rtc_error);
+ SET_WHEN("rtc_error", ruby_w32_rtc_error, 1);
#endif
fprintf(stderr, "unexpected debug option: %.*s\n", len, str);
}
diff --git a/internal.h b/internal.h
index feca244ee3..ab2cb8d798 100644
--- a/internal.h
+++ b/internal.h
@@ -645,6 +645,7 @@ NORETURN(void rb_syserr_fail_path_in(const char *func_name, int err, VALUE path)
#endif
/* gc.c */
+extern VALUE *ruby_initial_gc_stress_ptr;
void Init_heap(void);
void *ruby_mimmalloc(size_t size);
void ruby_mimfree(void *ptr);
@@ -911,6 +912,7 @@ long rb_reg_search0(VALUE, VALUE, long, int, int);
void rb_backref_set_string(VALUE string, long pos, long len);
/* signal.c */
+extern int ruby_enable_coredump;
int rb_get_next_signal(void);
int rb_sigaltstack_size(void);