mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
Suppress some "variable might be clobbered by longjmp" warnings.
Seen with an older gcc version. I'm not sure these represent any real risk factor, but still a bit scary. Anyway we have lots of other volatile-marked variables in this code, so a couple more won't hurt.
This commit is contained in:
parent
dfe18f18d2
commit
4172bd8830
@ -36,37 +36,38 @@
|
||||
static void
|
||||
do_util_elog(int level, SV *msg)
|
||||
{
|
||||
MemoryContext oldcontext = CurrentMemoryContext;
|
||||
char *cmsg = NULL;
|
||||
MemoryContext oldcontext = CurrentMemoryContext;
|
||||
char * volatile cmsg = NULL;
|
||||
|
||||
PG_TRY();
|
||||
{
|
||||
PG_TRY();
|
||||
{
|
||||
cmsg = sv2cstr(msg);
|
||||
elog(level, "%s", cmsg);
|
||||
elog(level, "%s", cmsg);
|
||||
pfree(cmsg);
|
||||
}
|
||||
PG_CATCH();
|
||||
{
|
||||
ErrorData *edata;
|
||||
}
|
||||
PG_CATCH();
|
||||
{
|
||||
ErrorData *edata;
|
||||
|
||||
/* Must reset elog.c's state */
|
||||
MemoryContextSwitchTo(oldcontext);
|
||||
edata = CopyErrorData();
|
||||
FlushErrorState();
|
||||
/* Must reset elog.c's state */
|
||||
MemoryContextSwitchTo(oldcontext);
|
||||
edata = CopyErrorData();
|
||||
FlushErrorState();
|
||||
|
||||
if (cmsg)
|
||||
pfree(cmsg);
|
||||
|
||||
/* Punt the error to Perl */
|
||||
croak("%s", edata->message);
|
||||
}
|
||||
PG_END_TRY();
|
||||
/* Punt the error to Perl */
|
||||
croak("%s", edata->message);
|
||||
}
|
||||
PG_END_TRY();
|
||||
}
|
||||
|
||||
static text *
|
||||
sv2text(SV *sv)
|
||||
{
|
||||
char *str = sv2cstr(sv);
|
||||
char *str = sv2cstr(sv);
|
||||
|
||||
return cstring_to_text(str);
|
||||
}
|
||||
|
||||
|
@ -1516,7 +1516,7 @@ static PLyProcedure *
|
||||
PLy_procedure_get(Oid fn_oid, bool is_trigger)
|
||||
{
|
||||
HeapTuple procTup;
|
||||
PLyProcedureEntry *entry;
|
||||
PLyProcedureEntry * volatile entry;
|
||||
bool found;
|
||||
|
||||
procTup = SearchSysCache1(PROCOID, ObjectIdGetDatum(fn_oid));
|
||||
@ -3234,7 +3234,7 @@ PLy_spi_prepare(PyObject *self, PyObject *args)
|
||||
void *tmpplan;
|
||||
volatile MemoryContext oldcontext;
|
||||
volatile ResourceOwner oldowner;
|
||||
int nargs;
|
||||
volatile int nargs;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "s|O", &query, &list))
|
||||
return NULL;
|
||||
@ -3470,7 +3470,7 @@ PLy_spi_execute_plan(PyObject *ob, PyObject *list, long limit)
|
||||
|
||||
PG_TRY();
|
||||
{
|
||||
char *nulls;
|
||||
char * volatile nulls;
|
||||
volatile int j;
|
||||
|
||||
if (nargs > 0)
|
||||
|
Loading…
Reference in New Issue
Block a user