Hi,

On Wed, Mar 11, 2026 at 02:10:54PM -0400, Andres Freund wrote:
> Hi,
> 
> > it compiles fine with CFLAGS="-ffast-math" CC="gcc" meson setup meson_build 
> > but
> > produces issues during the regression tests.
> 
> This fails to build here as expected.
> 
> Are you sure that you actually specified it during meson setup and then didn't
> reconfigure while the CFLAGs aren't specified?

I was doing:

CFLAGS="-ffast-math" CC="gcc" meson setup meson_build
cd meson_build
meson configure -Db_coverage=true -Dbuildtype=debug -Dprefix=${PGINSTROOT} 
-Dpgport=${PGPORT} -Ddtrace=enabled -Dc_args="-Og -frecord-gcc-switches"
ninja -v
ninja -v install

to produce the oddity.

> 
> > I just had a closer look and it looks like that the reason is that it's 
> > being
> > added at link time:
> > 
> > $ cat meson_build/build.ninja | grep LINK_ARGS | grep -c "ffast-math"
> > 254
> 
> It's added to both, compile and link args, afaict?
> 
> andres@awork3:/tmp/pg-fast-math$ grep ffast-math build.ninja |awk '{print 
> $1}'|sort|uniq -c
>    1679 ARGS
>     255 LINK_ARGS

That's right (and fails at compilation time) if doing a one step approach:

CFLAGS="-ffast-math -Og -frecord-gcc-switches" CC="gcc" meson setup meson_build 
-Db_coverage=true -Dbuildtype=debug -Dprefix=${PGINSTROOT} -Dpgport=${PGPORT} 
-Ddtrace=enabled

So, it's possible to produce this oddity with meson with the 2 steps approach,
while I don't think that would be possible with autoconf. That's why I think
the guard in meson.build would be a good thing to have, thoughts?

Regards,

-- 
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com


Reply via email to