Hi, On 2023-03-16 13:54:29 -0400, Tom Lane wrote: > Andres Freund <and...@anarazel.de> writes: > > On 2023-03-16 12:10:27 -0400, Tom Lane wrote: > >> It wouldn't be entirely surprising if meson is selecting some -W > >> switches that the configure script doesn't ... but I don't know > >> where to check or change that. > > > I think it's just that meson defaults to -O3 (fwiw, I see substantial gains > > of > > that over -O2). I see such warnings with autoconf as well if I make it use > > -O3. > > Oh, interesting. Should we try to standardize the two build systems > on the same -O level, and if so which one?
I'm on the fence on this one (and posed it as a question before). O3 does result in higher performance for me, but it also does take longer to build, and increases the numbers of warnings. So I just elected to leave it at the default for meson. > To my mind, you should ideally get the identical built bits out of > either system, so defaulting to a different -O level seems bad. I doubt that is attainable, unfortunately. My experience is that even trivial changes can lead to substantial changes in output. Even just being in a different directory (the root build directory for meson vs the subdirectory in make builds) apparently sometimes leads to different compiler output. > I'm not sure if we're prepared to go to -O3 by default though, > especially for some of the older buildfarm critters where that > might be buggy. (I'd imagine you take a hit in gdb-ability too.) My experience is that debuggability is already bad enough at O2 that the difference to O3 is pretty marginal. But it certainly depends a bit on the compiler version and what level of debug information one enables. Greetings, Andres Freund