Re: stdlib tweak

2009-12-23 Thread Jim Meyering
Bruno Haible wrote: >> Considering that this will appear in nearly every .c file in gnulib/lib, > > You mean, in gnulib/tests/, I guess? Yes. >> Then, each use would be more concise: >> >> GL_SIG_CHECK (atexit, int, (void (*) (void))); > > I like the idea: it provides an abstraction over this

Re: stdlib tweak

2009-12-23 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Bruno Haible on 12/23/2009 5:22 AM: >> Considering that this will appear in nearly every .c file in gnulib/lib, > > You mean, in gnulib/tests/, I guess? My use of the signature check was only in gnulib/tests. > >> Then, each use would

Re: stdlib tweak

2009-12-23 Thread Eric Blake
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 According to Bruno Haible on 12/23/2009 3:32 AM: >> I went with signature_check. > > I like it. And yes, we need to make it non-'static', like so many other stuff > in unit tests that we don't want gcc to warn about. I can go either way on static vs.

Re: stdlib tweak

2009-12-23 Thread Bruno Haible
Hi Jim, >> > +static int (* _UNUSED_PARAMETER_ signature_check) (void (*) (void)) = >> > atexit; > > Considering that this will appear in nearly every .c file in gnulib/lib, You mean, in gnulib/tests/, I guess? > Then, each use would be more concise: > > GL_SIG_CHECK (atexit, int, (void (

Re: stdlib tweak

2009-12-23 Thread Jim Meyering
Eric Blake wrote: > Jim Meyering meyering.net> writes: > >> > +int (*signature_check) (void (*) (void)) = atexit; >> >> I haven't looked carefully at each or tested, but... >> please use the "static" attribute on all of those, >> as in your example above. > > I thought about that, but with: > > +s

Re: stdlib tweak

2009-12-23 Thread Bruno Haible
Hi Eric, > > > in order to validate that a function is correctly declared when the user > > > includes just the one header named in the standards. We can then fix the > > > fallout by making the *.in.h headers pull in the necessary pre-requisites > > > for > > > functions that declared in the wr

Re: stdlib tweak

2009-12-23 Thread Bruno Haible
Hi Eric, > --- a/lib/unistd.in.h > +++ b/lib/unistd.in.h > @@ -346,9 +346,6 @@ extern int ftruncate (int fd, off_t length); > > > #if @GNULIB_GETCWD@ > -/* Include the headers that might declare getcwd so that they will not > - cause confusion if included after this file. */ > -# include >

Re: stdlib tweak

2009-12-22 Thread Eric Blake
Jim Meyering meyering.net> writes: > > +int (*signature_check) (void (*) (void)) = atexit; > > I haven't looked carefully at each or tested, but... > please use the "static" attribute on all of those, > as in your example above. I thought about that, but with: +static int (*signature_check) (

Re: stdlib tweak

2009-12-22 Thread Jim Meyering
Eric Blake wrote: > Jim Meyering meyering.net> writes: > >> > +static int (*check) (char const *, int, char const *) = symlinkat; >> > + >> > in order to validate that a function is correctly declared when the user >> > includes just the one header named in the standards. We can then fix the >> >

Re: stdlib tweak

2009-12-22 Thread Jim Meyering
Eric Blake wrote: > +static int (*check) (char const *, int, char const *) = symlinkat; > + > #include > #include > #include > > in order to validate that a function is correctly declared when the user > includes just the one header named in the standards. We can then fix the > fallout by ma

Re: stdlib tweak

2009-12-21 Thread Eric Blake
Eric Blake byu.net> writes: > I got this failure on cygwin, when building m4 with -DGNULIB_POSIXCHECK (m4 > does not use the getsubopt module): > > gcc -std=gnu99 -I. -I../../lib -I/cygdrive/c/cygwin/usr/local/include - > DGNULIB_POSIXCHECK=1 -MT gl_avltree_oset.o -MD -MP - > MF .deps/gl_av

Re: stdlib tweak

2009-12-21 Thread Eric Blake
Eric Blake byu.net> writes: > On cygwin, compiling with -DGNULIB_POSIXCHECK failed because > the getsubopt link warning definition interfered with the > inclusion of the system header. The fix, as always in these > types of problems, is to ensure that system headers are > completely included bef