From: Tom Lane Date: Mon, 11 Apr 2016 15:49:48 +0000 (-0400) Subject: Fix missing "volatile" in PLy_output(). X-Git-Tag: REL9_6_BETA1~195 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=81ba9348d85fdf87e84cc02112933b592845bda2;p=thirdparty%2Fpostgresql.git Fix missing "volatile" in PLy_output(). Commit 5c3c3cd0a3046339 plastered "volatile" on a bunch of variables in PLy_output(), but removed the one that actually mattered, ie the one on "oldcontext". This allows some versions of clang to generate code in which "oldcontext" has been trashed when control reaches the PG_CATCH block. Per buildfarm member tick. --- diff --git a/src/pl/plpython/plpy_plpymodule.c b/src/pl/plpython/plpy_plpymodule.c index 16d508943f0..e3322d12bad 100644 --- a/src/pl/plpython/plpy_plpymodule.c +++ b/src/pl/plpython/plpy_plpymodule.c @@ -404,7 +404,7 @@ PLy_output(volatile int level, PyObject *self, PyObject *args, PyObject *kw) char *volatile datatype = NULL; char *volatile table = NULL; char *volatile schema = NULL; - MemoryContext oldcontext ; + volatile MemoryContext oldcontext; PyObject *key, *value; PyObject *volatile so; Py_ssize_t pos = 0;