On Sun, Feb 03, 2019 at 10:31:26AM -0500, Tom Lane wrote:
> Noah Misch <noah@leadboat.com> writes:
> > The -Wno-declaration-after-statement approach takes eight lines of code, and
> > the filter-out approach takes one. On the other hand, using $(filter-out)
> > changes any runs of whitespace to single spaces ("$(filter-out foo,a b c)"
> > yields "a b c"). We do risk that with CPPFLAGS and LDFLAGS in a few places.
> > I don't want to proliferate that practice, because it changes semantics of
> > CFLAGS containing -DFOO="arbitrary text".
>
> I don't particularly buy that argument, because CPPFLAGS is where any -D
> switches ought to be put. So we've already exposed ourselves to this
> risk, in the unlikely scenario where it's not hypothetical.
The $(filter-out) corruption is unlikely to matter, indeed. The question is
whether to use eight lines of code to inject -Wno-declaration-after-statement
or one line to remove -Wdeclaration-after-statement using $(filter-out). I
see negligible drawbacks on either side; both approaches are tolerable. The
above-described hypothetical problem tips the scale in favor of
-Wno-declaration-after-statement.