From 1a98512831588e30864e6c98040724e53ab3687c Mon Sep 17 00:00:00 2001 From: cremno Date: Tue, 7 Jul 2015 00:30:03 +0200 Subject: always call frexp() instead of frexpl() No values that can only be represented as long double are passed since mrb_float is either float or double. --- src/fmt_fp.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'src') diff --git a/src/fmt_fp.c b/src/fmt_fp.c index b27ebd6e9..0df0bb5cc 100644 --- a/src/fmt_fp.c +++ b/src/fmt_fp.c @@ -90,11 +90,6 @@ fmt_u(uint32_t x, char *s) typedef char compiler_defines_long_double_incorrectly[9-(int)sizeof(long double)]; #endif -#if ((defined(__CYGWIN__) || defined(__NetBSD__) || defined(mips)) && !defined(__linux__)) || defined(__android__) -#undef frexpl -#define frexpl frexp -#endif - static int fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t) { @@ -127,7 +122,7 @@ fmt_fp(struct fmt_args *f, long double y, int w, int p, int fl, int t) return MAX(w, 3+pl); } - y = frexpl(y, &e2) * 2; + y = frexp((double)y, &e2) * 2; if (y) e2--; if ((t|32)=='a') { -- cgit v1.2.3 From fc4f0b9be7133dc901d02bb938e90ffd1487e50a Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Tue, 20 Oct 2015 07:22:55 +0900 Subject: do not assert is_dead() during mark phase; close #2825 ref #2996 #2769 --- src/gc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/gc.c b/src/gc.c index 885368f37..d55a8901e 100644 --- a/src/gc.c +++ b/src/gc.c @@ -1153,7 +1153,7 @@ mrb_field_write_barrier(mrb_state *mrb, struct RBasic *obj, struct RBasic *value if (!is_black(obj)) return; if (!is_white(value)) return; - mrb_assert(!is_dead(mrb, value) && !is_dead(mrb, obj)); + mrb_assert(mrb->gc_state == GC_STATE_MARK || (!is_dead(mrb, value) && !is_dead(mrb, obj))); mrb_assert(is_generational(mrb) || mrb->gc_state != GC_STATE_ROOT); if (is_generational(mrb) || mrb->gc_state == GC_STATE_MARK) { -- cgit v1.2.3