On older-model gcc, the original coding of UTILITY_BEGIN_QUERY() can
draw this error because of multiple assignments to _needCleanup.
Rather than mark that variable volatile, we can suppress the warning
by arranging to have just one unconditional assignment before PG_TRY.
*/
#define UTILITY_BEGIN_QUERY(isComplete) \
do { \
- bool _needCleanup = false; \
+ bool _needCleanup; \
\
- if (isComplete) \
- { \
- _needCleanup = EventTriggerBeginCompleteQuery(); \
- } \
+ _needCleanup = (isComplete) && EventTriggerBeginCompleteQuery(); \
\
PG_TRY(); \
{ \