On Wed, 12 Mar 2025 at 18:18, Tom Lane <t...@sss.pgh.pa.us> wrote: > I don't know of an easy way. I experimented with doing this: > > diff --git a/src/include/c.h b/src/include/c.h > index a14c6315162..467b1f58ae8 100644 > --- a/src/include/c.h > +++ b/src/include/c.h > @@ -315,7 +315,7 @@ > #elif defined(_MSC_VER) && !defined(USE_ASSERT_CHECKING) > #define pg_unreachable() __assume(0) > #else > -#define pg_unreachable() abort() > +#define pg_unreachable() ((void) 0) > #endif > > /* > > which seems like it ought to be enough to provoke such warnings > (in assert-enabled builds). I got upwards of sixty build warnings > this way, but the place David mentions was *not* among them. > So I'm confused.
Doing that for me does show the new warning. drowley@amd7945hx:~/pg_src$ meson setup -Dcassert=true build > /dev/null && cd build && ninja | grep pg_logicalinspect.c [1962/2356] Compiling C object contrib/pg_logicalinspect/pg_logicalinspect.so.p/pg_logicalinspect.c.o ../contrib/pg_logicalinspect/pg_logicalinspect.c: In function ‘parse_snapshot_filename’: ../contrib/pg_logicalinspect/pg_logicalinspect.c:88:1: warning: control reaches end of non-void function [-Wreturn-type] drowley@amd7945hx:~/pg_src$ gcc --version gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 David