Re: clang and _Noreturn

2017-04-24 Thread Bruno Haible
Hi Paul, > > If we want to offer a short macro name, such as _GL_NORETURN, it should > > be usable in both places, function declarations and function pointers. > > That is, make it an alias of _GL_NORETURN_FUNCPTR. > ... > Function pointers are relatively rare compared to function definitions > a

Re: clang and _Noreturn

2017-04-24 Thread Paul Eggert
On 04/24/2017 01:38 PM, Bruno Haible wrote: Hi Paul, the only position that works for both C and C++ is the first one: _GL_NORETURN_FUNC extern void foo (void); Maybe a shorter name for this usage: _GL_NORETURN, perhaps? If we want to offer a short macro name, such as _GL_NORETURN, it sho

what shall we do with the drunken time_t ?

2017-04-24 Thread Bruno Haible
Hi Paul, all, I'm trying to port utimens and futimens to native Windows. A major problem is the semantic of time_t on native Windows. An experiment (at the end of this mail) shows that: * While on POSIX systems, time_t is the number of seconds since 1970-01-01 00:00:00 UTC/GMT [1][2], on native

nap.h: port to native Windows

2017-04-24 Thread Bruno Haible
2017-04-23 Bruno Haible nap.h: Port to native Windows. * tests/nap.h (nap_get_stat): Renamed from get_stat. Remove argument fd; use nap_fd instead. On native Windows, close and reopen nap_fd. (nap_works): Don't compare the ctimes, because on native Windows, these

fix nap.h logic

2017-04-24 Thread Bruno Haible
With MSVC 14, test-utimens fails: ../../gltests/nap.h:69: assertion 'nanosleep (&delay_spec, 0) == 0' failed Obviously a negative delay has been passed to nanosleep. The code in nap.h is wrong: it multiplies the delay by 2, but a signed integer eventually wraps around and becomes negative. This

strerror_r breakage on mingw

2017-04-24 Thread Bruno Haible
When I create a testdir $ ./gnulib-tool --create-testdir --dir=../testdir-utime --single-configure fdutimensat futimens utimensat utimens and compile it on mingw, I get this warning and compilation error: i686-w64-mingw32-gcc -DHAVE_CONFIG_H -I. -I../../gllib -I.. -DGNULIB_STRICT_CHECKING=1

Re: clang and _Noreturn

2017-04-24 Thread Bruno Haible
Hi Paul, > > the only position that works for both C and C++ is the first one: > >_GL_NORETURN_FUNC extern void foo (void); > > Maybe a shorter name for this usage: _GL_NORETURN, perhaps? If we want to offer a short macro name, such as _GL_NORETURN, it should be usable in both places, functi