diff --git a/ChangeLog b/ChangeLog index c93ea20767..704934cce8 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jul 2 21:25:55 2012 Tanaka Akira + + * time.c (timew_out_of_timet_range): specialization for + SIZEOF_TIME_T == SIZEOF_INT64_T. + Mon Jul 2 17:06:32 2012 Nobuyoshi Nakada * class.c (rb_include_module): include modules after the origin. diff --git a/time.c b/time.c index 5a50808553..b27ad95b92 100644 --- a/time.c +++ b/time.c @@ -1740,6 +1740,19 @@ timew_out_of_timet_range(wideval_t timew) return 1; return 0; } +#endif +#if SIZEOF_TIME_T == SIZEOF_INT64_T + if (FIXWV_P(timew)) { + wideint_t t = FIXWV2WINT(timew); + if (~(time_t)0 <= 0) { + return 0; + } + else { + if (t < 0) + return 1; + return 0; + } + } #endif timexv = w2v(timew); if (lt(timexv, mul(INT2FIX(TIME_SCALE), TIMET2NUM(TIMET_MIN))) ||