From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Sat, 21 Jul 2012 23:39:03 +0000 (-0400)
Subject: Suppress volatile-related warning seen in some compilers.
X-Git-Tag: REL9_3_BETA1~1172
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1f115d98b984c80e635392aed10cc6185d1f8f4b;p=postgresql

Suppress volatile-related warning seen in some compilers.

Antique versions of gcc complain about vars that are initialized outside
PG_TRY and then modified within it.  Rather than marking the var volatile,
expend one more line of code.
---

diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c
index 905fff0b31..63c3abd9b0 100644
--- a/src/pl/plpgsql/src/pl_handler.c
+++ b/src/pl/plpgsql/src/pl_handler.c
@@ -91,7 +91,7 @@ plpgsql_call_handler(PG_FUNCTION_ARGS)
 {
 	PLpgSQL_function *func;
 	PLpgSQL_execstate *save_cur_estate;
-	Datum		retval = 0;		/* make compiler happy */
+	Datum		retval;
 	int			rc;
 
 	/*
@@ -119,8 +119,11 @@ plpgsql_call_handler(PG_FUNCTION_ARGS)
 			retval = PointerGetDatum(plpgsql_exec_trigger(func,
 										   (TriggerData *) fcinfo->context));
 		else if (CALLED_AS_EVENT_TRIGGER(fcinfo))
+		{
 			plpgsql_exec_event_trigger(func,
 									   (EventTriggerData *) fcinfo->context);
+			retval = (Datum) 0;
+		}
 		else
 			retval = plpgsql_exec_function(func, fcinfo);
 	}