[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#9000: patch for higher-resolution time stamps
From: |
Eli Zaretskii |
Subject: |
bug#9000: patch for higher-resolution time stamps |
Date: |
Sun, 24 Jun 2012 05:57:57 +0300 |
> Date: Sat, 23 Jun 2012 15:45:26 -0700
> From: Paul Eggert <eggert@cs.ucla.edu>
> CC: 9000@debbugs.gnu.org
>
> On 06/23/2012 12:42 PM, Eli Zaretskii wrote:
> > Never mind, I fixed that myself.
>
> Unfortunately the patch that you installed can break
> Emacs on hosts where time_t is unsigned, because
> it assigns time_t values to intmax_t variables,
> and this does not always work correctly when
> INTMAX_MAX < TIME_T_MAX.
We could use (UINTMAX_MAX / 2) instead, would that work?
> Which version of GCC are you running?
3.4.2
> What is INTMAX_MAX defined to, on your platform?
It is defined to INT64_MAX (i.e., 9223372036854775807LL). The problem
is that EMACS_SECS returns a time_t, a 32-bit value, whereas
INTMAX_MAX is a 64-bit value.
> Does it work to pacify your old GCC if you
> replace this:
>
> intmax_t secs = EMACS_SECS (t);
>
> wait_reading_process_output (min (secs, INTMAX_MAX),
> EMACS_NSECS (t), 0, 0, Qnil, NULL, 0);
>
> with this?
>
> intmax_t max = INTMAX_MAX;
>
> wait_reading_process_output (min (secs, max),
> EMACS_NSECS (t), 0, 0, Qnil, NULL, 0);
You don't show what is 'secs' in this snippet. The key to avoiding
the warning is to have both arguments of 'min' be 64-bit values.
- bug#9000: patch for higher-resolution time stamps, Paul Eggert, 2012/06/22
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Paul Eggert, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Paul Eggert, 2012/06/23
- bug#9000: patch for higher-resolution time stamps,
Eli Zaretskii <=
- bug#9000: patch for higher-resolution time stamps, Paul Eggert, 2012/06/24
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/24
- bug#9000: patch for higher-resolution time stamps, Paul Eggert, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Paul Eggert, 2012/06/23
- bug#9000: patch for higher-resolution time stamps, Eli Zaretskii, 2012/06/24