Re: [COMMITTERS] pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner. - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [COMMITTERS] pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.
Date
Msg-id 12049.1460688361@sss.pgh.pa.us
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.  (Andres Freund <andres@anarazel.de>)
Responses Re: [COMMITTERS] pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
Andres Freund <andres@anarazel.de> 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-timeconstant [-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



pgsql-hackers by date:

Previous
From: David Rowley
Date:
Subject: Re: Disallow unique index on system columns
Next
From: Andres Freund
Date:
Subject: Re: [COMMITTERS] pgsql: Allow Pin/UnpinBuffer to operate in a lockfree manner.