On ons, 2012-01-04 at 00:39 +0000, Peter Geoghegan wrote: > This should work: > > ./configure --prefix=/home/peter/pgsql CFLAGS="-Werror > -Wno-error=unused-but-set-variable" > > However, it does not (with or without the -Wno-error): > > checking whether getpwuid_r takes a fifth argument... no > checking whether strerror_r returns int... no > checking test program... ok > checking whether long int is 64 bits... no > checking whether long long int is 64 bits... no > configure: error: Cannot find a working 64-bit integer type. > > Obviously it breaks this one configure test. However, I got it to work > in 2 minutes by hacking up config.log. It would be nice if someone > could fix the test (and possibly later ones) so that it doesn't > produce a warning/error when invoking the compiler, and it finds a > 64-bit int type as expected.
I've tried this in the past, it's pretty difficult to make this work throughout. I think and easier approach would be to filter out -Werror out of CFLAGS early in configure and put it back at the end. > That way, it could sort of become folk wisdom that you should build > Postgres with those flags during > development, and maybe even, on some limited basis, on the build farm, > and we'd all be sightly better off. I think in practice many developers do this anyway, so you do get that level of testing already. > There is an entry in the parser Makefile to support this sort of use, > which makes it look like my -Wno-error=unused-but-set-variable use > would be redundant if it worked: > > # Latest flex causes warnings in this file. > ifeq ($(GCC),yes) > gram.o: CFLAGS += -Wno-error > endif > > (although we could discriminate better within the parse here by using my > flag). The -Wno-error=something flag doesn't work in older versions of GCC. But feel free to research which ones. > As if to prove my point, I found this warning which I didn't > previously notice, just from 5 minutes of playing around: > > hashovfl.c: In function ‘_hash_freeovflpage’: > hashovfl.c:394:10: error: variable ‘bucket’ set but not used > [-Werror=unused-but-set-variable] > cc1: all warnings being treated as errors > > (plus others) See thread "[HACKERS] lots of unused variable warnings in assert-free builds" for the reason. -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers