Avoid mixing void and integer in a conditional expression.
authorTom Lane <[email protected]>
Sun, 2 Nov 2025 17:30:44 +0000 (12:30 -0500)
committerTom Lane <[email protected]>
Sun, 2 Nov 2025 17:30:44 +0000 (12:30 -0500)
commit645c1e2752d98dba2684a2c0d72aa788badb4908
tree29a0b18bf56f08835c2900d457adda67ecab73ce
parentb70cafd85fb5040d49a4e026fa9798d4ed5de17b
Avoid mixing void and integer in a conditional expression.

The C standard says that the second and third arguments of a
conditional operator shall be both void type or both not-void
type.  The Windows version of INTERRUPTS_PENDING_CONDITION()
got this wrong.  It's pretty harmless because the result of
the operator is ignored anyway, but apparently recent versions
of MSVC have started issuing a warning about it.  Silence the
warning by casting the dummy zero to void.

Reported-by: Christian Ullrich <[email protected]>
Author: Bryan Green <[email protected]>
Reviewed-by: Tom Lane <[email protected]>
Discussion: https://postgr.es/m/cc4ef8db-f8dc-4347-8a22-e7ebf44c0308@chrullrich.net
Backpatch-through: 13
src/include/miscadmin.h