From 81ba9348d85fdf87e84cc02112933b592845bda2 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Mon, 11 Apr 2016 11:49:48 -0400 Subject: [PATCH] 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. --- src/pl/plpython/plpy_plpymodule.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pl/plpython/plpy_plpymodule.c b/src/pl/plpython/plpy_plpymodule.c index 16d508943f..e3322d12ba 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; -- 2.39.5