[master] 597a34c2d Fix a Flexelint warning which has bothered me for ages.

Poul-Henning Kamp phk at FreeBSD.org
Mon Oct 19 09:38:07 UTC 2020

commit 597a34c2d8b6e8d9e97bb24ccf14361e178440b5
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Mon Oct 19 09:32:22 2020 +0000

    Fix a Flexelint warning which has bothered me for ages.
    The message makes very little sense when you read it, and it was only
    a pure accident which finally resolved what it means:
        Info 768: global struct member 'backend' (line 51, file cache/cache_backend.h) not referenced
        cache/cache_backend.h  51  Info 830: Location cited in prior message
    If you have:
            struct backend;
            void somefunc(struct backend *);
            struct backend {
    All is fine.
    But without the `somefunc` prototype, the first vacuous mention of
    `struct backend` is unused, and FlexeLint uses the name *of* the
    struct as the name of a field *in* the struct, and compounds the
    confusion by emitting the message on the line where struct backend
    is finally flushed out.

diff --git a/bin/varnishd/cache/cache.h b/bin/varnishd/cache/cache.h
index 4497d20dd..22acb7c7f 100644
--- a/bin/varnishd/cache/cache.h
+++ b/bin/varnishd/cache/cache.h
@@ -90,7 +90,6 @@ enum {
 struct VSC_lck;
 struct VSC_main;
 struct VSC_main_wrk;
-struct backend;
 struct ban;
 struct ban_proto;
 struct cli;

More information about the varnish-commit mailing list