16-bit wchar_t on Windows and Cygwin

2011-01-30 Thread Bruno Haible
Hi, It is known for a long time that on native Windows, the wchar_t[] encoding on strings is UTF-16. [1] Now, Corinna Vinschen has confirmed that it is the same for Cygwin >= 1.7. [2] Other platforms have either a 32-bit wchar_t (such as glibc, Solaris, *BSD, and many others), or have a 16-bit wc

Re: mktime() hangs for dates before 1970

2011-01-30 Thread Ralf Wildenhues
* Paul Eggert wrote on Sun, Jan 30, 2011 at 08:19:09PM CET: > On 01/30/2011 10:20 AM, Ralf Wildenhues wrote: > >> +verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2); > > This doesn't make sense to me. If long_int has the same width as int, > > then the right hand side overflo

Re: mktime() hangs for dates before 1970

2011-01-30 Thread Paul Eggert
On 01/30/2011 10:20 AM, Ralf Wildenhues wrote: >> +verify (long_int_is_wide_enough, INT_MAX == INT_MAX * (long_int) 2 / 2); > This doesn't make sense to me. If long_int has the same width as int, > then the right hand side overflows thus invokes undefined behavior. No, because this is a constant

Re: mktime() hangs for dates before 1970

2011-01-30 Thread Ralf Wildenhues
Hello Paul, * Paul Eggert wrote on Sun, Jan 30, 2011 at 06:45:24PM CET: > --- a/lib/mktime.c > +++ b/lib/mktime.c > @@ -64,12 +64,16 @@ > # define mktime my_mktime > #endif /* DEBUG */ > > +/* Verify a requirement at compile-time (unlike assert, which is runtime). > */ > +#define verify(name

Re: mktime() hangs for dates before 1970

2011-01-30 Thread Paul Eggert
On 01/30/2011 01:17 AM, Ralf Wildenhues wrote: > just to avoid surprises on new > systems, why not use this: > > #elif defined(LLONG_MAX) && INT_MAX <= LLONG_MAX / 2 > typedef long long int long_int; > #else > # error "need a type that is wider than int" > #endif Thanks for mentioning t

Re: Document reasonable portability targets

2011-01-30 Thread Simon Josefsson
Ralf Wildenhues writes: >> I can't find any recent information about UNICOS at cray.com so I >> suspect it disappeared off the radar some time ago. We could consider >> removing some old cruft in gnulib if that is the case. > > That would make sense, if gnulib aggressively wants to remove old st

Re: Document reasonable portability targets

2011-01-30 Thread Ralf Wildenhues
Hi Simon, * Simon Josefsson wrote on Sun, Jan 30, 2011 at 10:37:48AM CET: > Ralf Wildenhues writes: > > * Simon Josefsson wrote on Sat, Jan 29, 2011 at 10:39:34PM CET: > >> Btw, there is nothing about Cray UNICOS in your text but there is Cray > >> platform specific stuff in the gnulib code. Doe

Re: Document reasonable portability targets

2011-01-30 Thread Simon Josefsson
Ralf Wildenhues writes: > * Simon Josefsson wrote on Sat, Jan 29, 2011 at 10:39:34PM CET: >> Btw, there is nothing about Cray UNICOS in your text but there is Cray >> platform specific stuff in the gnulib code. Does anyone know about >> status of Cray architectures? > > FWIW, I don't know about

Re: mktime() hangs for dates before 1970

2011-01-30 Thread Ralf Wildenhues
Hello Paul, * Paul Eggert wrote on Sun, Jan 30, 2011 at 12:51:47AM CET: > --- a/lib/mktime.c > +++ b/lib/mktime.c > @@ -45,6 +63,13 @@ > # define mktime my_mktime > #endif /* DEBUG */ > > +/* A signed type that is at least one bit wider than int. */ > +#if INT_MAX <= LONG_MAX / 2 > +typedef

Re: Document reasonable portability targets

2011-01-30 Thread Ralf Wildenhues
* Simon Josefsson wrote on Sat, Jan 29, 2011 at 10:39:34PM CET: > Btw, there is nothing about Cray UNICOS in your text but there is Cray > platform specific stuff in the gnulib code. Does anyone know about > status of Cray architectures? FWIW, I don't know about gnulib's level of support of UNICO

Re: mktime() hangs for dates before 1970

2011-01-30 Thread Paul Eggert
On 01/29/2011 03:51 PM, Paul Eggert wrote: > I'll let you know > when I'm done, and have a mktime.c that it would be helpful if > you could try on your platform. OK, I'm done now. Can you please try the latest gnulib mktime.c and see whether it solves the problem on your platform? You can fetch i

ignore-value vs off_t

2011-01-30 Thread Simon Josefsson
Looks like the off_t definition is not getting pulled in by test-ignore-value.c? I pushed the patch below. /Simon jas@latte:~/src/gnulib$ gnulib-tool --test --with-tests ignore-value ... gcc -DHAVE_CONFIG_H -I. -I../../gltests -DGNULIB_STRICT_CHECKING=1 -I. -I../../gltests -I.. -I../../gltests

Re: bug#7928: mktime test in configure: UB resulting in infinite loop

2011-01-30 Thread Paul Eggert
On 01/27/2011 11:42 PM, Paul Eggert wrote: > If it could be done just as clearly by other means, that would > be OK too. To try to do that, I installed the following: --- ChangeLog| 13 + lib/intprops.h |4 ++-- lib/mktime.c |2 +- lib/strtol.c