From 58bc48179b3cad0793ae20b002d60289c8bf0b9b Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Thu, 28 Mar 2013 13:19:49 -0400 Subject: [PATCH] Avoid "variable might be clobbered by longjmp" warning. 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. --- src/backend/tcop/utility.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c index 77b4e5368e7..954040cfb85 100644 --- a/src/backend/tcop/utility.c +++ b/src/backend/tcop/utility.c @@ -380,12 +380,9 @@ ProcessUtility(Node *parsetree, */ #define UTILITY_BEGIN_QUERY(isComplete) \ do { \ - bool _needCleanup = false; \ + bool _needCleanup; \ \ - if (isComplete) \ - { \ - _needCleanup = EventTriggerBeginCompleteQuery(); \ - } \ + _needCleanup = (isComplete) && EventTriggerBeginCompleteQuery(); \ \ PG_TRY(); \ { \ -- 2.39.5