"John D. Baker" <[email protected]> wrote: > -c /x/current/src/sys/net/if_loop.c In file included > from /x/current/src/sys/net/if_loop.c:88:0: /x/current/src/sys/net/if_loop.c: > In function 'lostart': /x/current/src/sys/net/if.h:429:30: error: 'ifq' > may be used uninitialized in this function [-Werror=maybe-uninitialized] > #define IF_QFULL(ifq) ((ifq)->ifq_len >= (ifq)->ifq_maxlen) > ^ > /x/current/src/sys/net/if_loop.c:362:19: note: 'ifq' was declared here > struct ifqueue *ifq; > ^ > /x/current/src/sys/net/if_loop.c:425:14: error: 'isr' may be used > uninitialized in this function [-Werror=maybe-uninitialized] schednetisr > (isr); ^ > cc1: all warnings being treated as errors > *** [if_loop.o] Error code 1 > > nbmake: stopped in /d0/build/current/obj/i386/sys/arch/i386/compile/FAYE > > > In "if_loop.c", function lostart(), "ifq" and "isr" are uninitialized > unless at least either of "options IPX" or "options NETATALK" is present > in the kernel configuration AND the address family matches AF_IPX or > AF_APPLETALK, in the switch() statement, respectively. > > For the INET{,6} cases, they remain uninitialized should control reach > the statements shown in the error messages above.
Fixed. gcc is not being clever here: if those options are not present, then the path taking ifq/isr would not be taken. -- Mindaugas
