Andres Freund <> writes:
> On 2016-04-13 23:31:21 -0700, Andres Freund wrote:
>> I'm also putting up an animal with clang that uses
>> CFLAGS='-std=c89 -Wc99-extensions -Werror=c99-extensions'
>> which actually catches this.

> Hm. Doing so I found the following in 9.3:

> /home/andres/src/postgresql-9.3/src/bin/pg_dump/parallel.c:561:23: error: 
> initializer for aggregate is not a compile-time constant 
> [-Werror,-Wc99-extensions]
>                         int                     pipefd[2] = 
> {pipeMW[PIPE_READ], pipeWM[PIPE_WRITE]};
>                                                              ^~~~~~~~~~~~~~~~~

> which is, afaics, the same class of issue we're hitting on master right
> now. I apparently fixed that, via Robert, back in 59202fae0. I'd planned
> to put up that animal (mylodon) for all branches, but given that that's
> been unfixed for years I'm not sure. What do you think?

Huh.  I just tried pademelon's compiler on the 9.3 branch, and sure
enough it spits up on that:

cc: "parallel.c", line 561: error 1521: Incorrect initialization.
cc: "parallel.c", line 561: error 1521: Incorrect initialization.
make: *** [parallel.o] Error 1

I am not sure how come I missed seeing that at the time, but I certainly
would have complained about it if I had chanced to try that compiler
later in 9.3 development.  I stopped using that machine actively in
mid-2013, though, so maybe I just failed to try that compiler for a
period of a few months.  IIRC, when I got around to setting up pademelon
as a buildfarm animal, I didn't have it building anything older than 9.4,
so I missed seeing it on that end too.

I'd vote for back-patching 59202fae0 and enforcing c89 compatibility
all along the line.

                        regards, tom lane

Sent via pgsql-hackers mailing list (
To make changes to your subscription:

Reply via email to