• Tom Lane's avatar
    Suppress variable-set-but-not-used warnings from clang 15. · 2e124d85
    Tom Lane authored
    clang 15+ will issue a set-but-not-used warning when the only
    use of a variable is in autoincrements (e.g., "foo++;").
    That's perfectly sensible, but it detects a few more cases that
    we'd not noticed before.  Silence the warnings with our usual
    methods, such as PG_USED_FOR_ASSERTS_ONLY, or in one case by
    actually removing a useless variable.
    
    One thing that we can't nicely get rid of is that with %pure-parser,
    Bison emits "yynerrs" as a local variable that falls foul of this
    warning.  To silence those, I inserted "(void) yynerrs;" in the
    top-level productions of affected grammars.
    
    Per recently-established project policy, this is a candidate
    for back-patching into out-of-support branches: it suppresses
    annoying compiler warnings but changes no behavior.  Hence,
    back-patch to 9.5, which is as far as these patches go without
    issues.  (A preliminary check shows that the prior branches
    need some other set-but-not-used cleanups too, so I'll leave
    them for another day.)
    
    Discussion: https://postgr.es/m/514615.1663615243@sss.pgh.pa.us
    2e124d85
gistxlog.c 17.8 KB