Suppress variable-set-but-not-used warning from clang 13.

In the normal configuration where GEQO_DEBUG isn't defined,
recent clang versions have started to complain that geqo_main.c
accumulates the edge_failures count but never does anything
with it.  As a minimal back-patchable fix, insert a void cast
to silence this warning.  (I'd speculated about ripping out the
GEQO_DEBUG logic altogether, but I don't think we'd wish to
back-patch that.)

Per recently-established project policy, this is a candidate
for back-patching into out-of-support branches: it suppresses
an annoying compiler warning but changes no behavior.  Hence,
back-patch all the way to 9.2.

Discussion: https://postgr.es/m/CA+hUKGLTSZQwES8VNPmWO9AO0wSeLt36OCPDAZTccT1h7Q7kTQ@mail.gmail.com
This commit is contained in:
Tom Lane 2022-01-23 11:09:00 -05:00
parent 60ca4eec8d
commit f90b9998b1
1 changed files with 6 additions and 1 deletions

View File

@ -227,12 +227,17 @@ geqo(PlannerInfo *root, int number_of_rels, List *initial_rels)
} }
#if defined(ERX) && defined(GEQO_DEBUG) #if defined(ERX)
#if defined(GEQO_DEBUG)
if (edge_failures != 0) if (edge_failures != 0)
elog(LOG, "[GEQO] failures: %d, average: %d", elog(LOG, "[GEQO] failures: %d, average: %d",
edge_failures, (int) number_generations / edge_failures); edge_failures, (int) number_generations / edge_failures);
else else
elog(LOG, "[GEQO] no edge failures detected"); elog(LOG, "[GEQO] no edge failures detected");
#else
/* suppress variable-set-but-not-used warnings from some compilers */
(void) edge_failures;
#endif
#endif #endif
#if defined(CX) && defined(GEQO_DEBUG) #if defined(CX) && defined(GEQO_DEBUG)