> On Feb 17, 2017, at 11:40 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> I wrote:
>> Yeah. I have longfin which is running Apple's clang, and is on a machine
>> that doesn't have much to do otherwise. I propose to turn on -Werror in
>> its configuration, and to configure a second critter on the same hardware
>> that runs with -Werror as well as --disable-integer-datetimes. Somebody
>> else should do similarly with a reasonably modern/stable gcc release.
>
> So I tried doing that by adding -Werror to longfin's CFLAGS environment,
> and it crashed and burned in configure. The most obvious problem is
> that we didn't bother to supply a prototype for does_int64_work() in
> the probes for 64-bit ints. However, even after fixing that, configure
> produces totally bollixed output because -Werror breaks many of its
> built-in tests. We could fix the int64 tests but we have no good way of
> fixing the built-in tests.
>
> AFAICS, if you want to build with -Werror, you have to configure without
> that and then inject it afterwards. I wonder how people who use -Werror
> are handling that. Is it possible to do at all in a buildfarm critter?
I ran into the same problem when adding -Werror, and fixed it as follows:
diff --git a/src/Makefile.global.in b/src/Makefile.global.in
index d39d6ca..96fbc60 100644
--- a/src/Makefile.global.in
+++ b/src/Makefile.global.in
@@ -240,7 +240,7 @@ endif # not PGXSCC = @CC@GCC = @GCC@SUN_STUDIO_CC = @SUN_STUDIO_CC@
-CFLAGS = @CFLAGS@
+CFLAGS = @CFLAGS@ -WerrorCFLAGS_VECTOR = @CFLAGS_VECTOR@CFLAGS_SSE42 = @CFLAGS_SSE42@
That adds -Werror to the compilation of sources but not to the compilation
of configure test programs. I'd be happy to hear if anybody has a cleaner
way of doing this.
Mark Dilger