>>> Building on exopi-4 under net/bird/2 BDEPENDS = [devel/bison;devel/gmake;devel/dwz;devel/m4;security/libssh] DIST = [net/bird/2:bird-2.16.tar.gz;net/bird/2:bird-doc-2.16.tar.gz] FULLPKGNAME = bird-2.16 RDEPENDS = [security/libssh] (Junk lock obtained for exopi-4 at 1734980655.19) >>> Running depends in net/bird/2 at 1734980655.23 last junk was in devel/py-littleutils /usr/sbin/pkg_add -aI -Drepair bison-3.8.2 dwz-0.15 gmake-4.4.1 libssh-0.11.1 m4-1.4.19 was: /usr/sbin/pkg_add -aI -Drepair bison-3.8.2 dwz-0.15 gmake-4.4.1 libssh-0.11.1 m4-1.4.19 /usr/sbin/pkg_add -aI -Drepair bison-3.8.2 dwz-0.15 gmake-4.4.1 libssh-0.11.1 m4-1.4.19 >>> Running show-prepare-results in net/bird/2 at 1734980657.71 ===> net/bird/2 ===> Building from scratch bird-2.16 ===> bird-2.16 depends on: m4-* -> m4-1.4.19 ===> bird-2.16 depends on: bison-* -> bison-3.8.2 ===> bird-2.16 depends on: gmake-* -> gmake-4.4.1 ===> bird-2.16 depends on: dwz-* -> dwz-0.15 ===> bird-2.16 depends on: libssh-* -> libssh-0.11.1 ===> Verifying specs: c curses pthread readline ssh ===> found c.100.3 curses.15.0 pthread.27.1 readline.5.0 ssh.4.3 bison-3.8.2 dwz-0.15 gmake-4.4.1 libssh-0.11.1 m4-1.4.19 (Junk lock released for exopi-4 at 1734980659.24) distfiles size=2432923 >>> Running build in net/bird/2 at 1734980659.26 ===> net/bird/2 ===> Checking files for bird-2.16 `/exopi-cvs/ports/distfiles/bird-2.16.tar.gz' is up to date. `/exopi-cvs/ports/distfiles/bird-doc-2.16.tar.gz' is up to date. >> (SHA256) all files: OK ===> Extracting for bird-2.16 ===> Patching for bird-2.16 ===> Applying OpenBSD patch patch-sysdep_bsd_setkey_h Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |- the local address must be configured in config file |- uses hardcoded SPI (same for each direction); see comments for |correct way to do this, but this is less complex and seems ok in practice. | |Index: sysdep/bsd/setkey.h |--- sysdep/bsd/setkey.h.orig |+++ sysdep/bsd/setkey.h -------------------------- Patching file sysdep/bsd/setkey.h using Plan A... Hunk #1 succeeded at 8. Hunk #2 succeeded at 52. Hunk #3 succeeded at 84. Hunk #4 succeeded at 105. Hunk #5 succeeded at 116. Hunk #6 succeeded at 161. done ===> Applying OpenBSD patch patch-sysdep_bsd_sysio_h Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: sysdep/bsd/sysio.h |--- sysdep/bsd/sysio.h.orig |+++ sysdep/bsd/sysio.h -------------------------- Patching file sysdep/bsd/sysio.h using Plan A... Hunk #1 succeeded at 236. done ===> Applying OpenBSD patch patch-sysdep_unix_random_c Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: sysdep/unix/random.c |--- sysdep/unix/random.c.orig |+++ sysdep/unix/random.c -------------------------- Patching file sysdep/unix/random.c using Plan A... Hunk #1 succeeded at 24. done ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ ===> Generating configure for bird-2.16 ===> Configuring for bird-2.16 Using /exopi-obj/pobj/bird-2.16/config.site (generated) configure: WARNING: unrecognized options: --enable-ssh, --disable-silent-rules, --disable-gtk-doc configure: loading site script /exopi-obj/pobj/bird-2.16/config.site checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... (cached) o checking whether the compiler supports GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to enable C11 features... none needed checking for library containing clock_gettime... none required checking build system type... x86_64-unknown-openbsd7.6 checking host system type... x86_64-unknown-openbsd7.6 checking for gcc... (cached) cc checking whether the compiler supports GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to enable C11 features... (cached) none needed checking whether _Thread_local is known... yes checking whether POSIX threads are available... yes checking CFLAGS... -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow checking LDFLAGS... -pthread checking how to run the C preprocessor... cc -E checking for a BSD-compatible install... /exopi-obj/pobj/bird-2.16/bin/install -c checking for ranlib... (cached) ranlib checking for flex... flex checking for bison... bison checking for gm4... gm4 checking bison version... 3.8.2 checking which OS configuration should we use... ./sysdep/cf/bsd.h checking system-dependent directories... sysdep/unix sysdep/bsd checking for libssh/libssh.h... yes checking for ssh_connect in -lssh... yes checking for Linux MPLS headers... no checking protocols... ok checking for stdio.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for inttypes.h... (cached) yes checking for stdint.h... (cached) yes checking for strings.h... (cached) yes checking for sys/stat.h... (cached) yes checking for sys/types.h... (cached) yes checking for unistd.h... (cached) yes checking for alloca.h... no checking for syslog.h... (cached) yes checking for sys/mman.h... (cached) yes checking for struct sockaddr.sa_len... yes checking whether byte ordering is bigendian... no checking for glob.h... yes checking for syslog lib flags... yes checking for getrandom... no checking for getentropy... yes checking for curses.h... yes checking for library containing tgetent... -lncurses checking for readline/readline.h... (cached) yes checking for readline/history.h... (cached) yes checking for library containing rl_callback_read_char... -lreadline checking for rl_crlf in -lreadline... yes checking for rl_ding in -lreadline... yes configure: creating ./config.status config.status: creating Makefile config.status: creating obj/sysdep/autoconf.h configure: WARNING: unrecognized options: --enable-ssh, --disable-silent-rules, --disable-gtk-doc BIRD was configured with the following options: Source directory: . Object directory: obj Iproute2 directory: System configuration: ./sysdep/cf/bsd.h Debugging: no Compact tries: no POSIX threads: yes Routing protocols: aggregator bfd babel bgp l3vpn mrt ospf perf pipe radv rip rpki static LibSSH support in RPKI: yes Kernel MPLS support: no Client: yes ===> Building for bird-2.16 /bin/sh: git: not found mkdir -p obj/client obj/conf obj/doc obj/filter obj/lib obj/nest obj/test obj/proto/aggregator obj/proto/bfd obj/proto/babel obj/proto/bgp obj/proto/l3vpn obj/proto/mrt obj/proto/ospf obj/proto/perf obj/proto/pipe obj/proto/radv obj/proto/rip obj/proto/rpki obj/proto/static obj/sysdep/unix obj/sysdep/bsd obj/doc touch obj/.dir-stamp gm4 -s -P conf/gen_parser.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/aggregator/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/l3vpn/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/perf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd/krt-sock.Y >obj/conf/cf-parse.y bison -Dparse.lac=full -Dparse.error=verbose -dv -pcf_ -b obj/conf/cf-parse obj/conf/cf-parse.y obj/conf/cf-parse.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr] obj/conf/cf-parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples gm4 -s -P conf/gen_keywords.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/aggregator/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/l3vpn/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/perf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd/krt-sock.Y >obj/conf/keywords.h gm4 -s -P conf/gen_commands.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/aggregator/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/l3vpn/config.Y proto/mrt/config.Y proto/ospf/config.Y proto/perf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd/krt-sock.Y >obj/conf/commands.h gm4 -s -DTARGET=I -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-interpret.c gm4 -s -DTARGET=H -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-gen.h echo "void aggregator_build(void); void bfd_build(void); void babel_build(void); void bgp_build(void); void l3vpn_build(void); void mrt_build(void); void ospf_build(void); void perf_build(void); void pipe_build(void); void radv_build(void); void rip_build(void); void rpki_build(void); void static_build(void); void dev_build(void); void kif_build(void); void krt_build(void); void protos_build_gen(void) { aggregator_build(); bfd_build(); babel_build(); bgp_build(); l3vpn_build(); mrt_build(); ospf_build(); perf_build(); pipe_build(); radv_build(); rip_build(); rpki_build(); static_build(); dev_build(); kif_build(); krt_build(); }" > obj/nest/proto-build.c echo >obj/sysdep/paths.h "/* Generated by Makefile, don't edit manually! */" echo >>obj/sysdep/paths.h "#define PATH_CONFIG_FILE \"/etc/bird.conf\"" echo >>obj/sysdep/paths.h "#define PATH_CONTROL_SOCKET \"/var/run/bird.ctl\"" if test -n "" ; then echo >>obj/sysdep/paths.h "#define PATH_IPROUTE_DIR \"\"" ; fi cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/conf/cf-parse.tab.o -c obj/conf/cf-parse.tab.c In file included from conf/confbase.Y:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/bfd/config.Y:237:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/config.Y:237:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/bfd/config.Y:237:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:192:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:192:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:192:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:195:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:195:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:195:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:198:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:198:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:198:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:201:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:201:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:201:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:516:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:516:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:516:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:519:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:519:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:519:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:522:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:522:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:522:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:200:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:200:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:200:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:203:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:203:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:203:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/static/config.Y:204:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/static/config.Y:204:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } ^ ( ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/static/config.Y:204:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:301:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ 12 warnings generated. flex -f -s -B -8 -Pcf_ -oobj/conf/cf-lex.c conf/cf-lex.l cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -Wno-sign-compare -Wno-unused-function -MMD -MP -o obj/conf/cf-lex.o -c obj/conf/cf-lex.c In file included from conf/cf-lex.l:54: In file included from conf/confbase.Y:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/conf/conf.o -c conf/conf.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/filter.o -c filter/filter.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/data.o -c filter/data.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/f-util.o -c filter/f-util.c filter/f-util.c:247:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(ca_hash, CA, cas); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ filter/f-util.c:247:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ filter/f-util.c:247:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/tree.o -c filter/tree.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/trie.o -c filter/trie.c gm4 -s -DTARGET=C -P filter/decl.m4 filter/f-inst.c obj/.dir-stamp >obj/filter/inst-gen.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/inst-gen.o -c obj/filter/inst-gen.c filter/f-inst.c:287:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:287:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:287:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:288:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:288:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:288:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:292:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:292:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:292:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:293:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:293:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:293:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:297:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:297:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:297:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:298:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:298:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:298:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:302:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:302:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:302:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:303:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:303:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:303:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:308:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:308:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:308:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:318:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:318:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:318:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:329:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:329:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:329:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:330:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:330:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:330:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:339:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:339:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:339:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:340:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:340:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:340:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:379:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:379:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:379:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:380:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:380:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:380:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:381:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child3 = child3->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:381:17: note: place parentheses around the assignment to silence this warning } while (child3 = child3->next); ^ ( ) filter/f-inst.c:381:17: note: use '==' to turn this assignment into an equality comparison } while (child3 = child3->next); ^ == filter/f-inst.c:436:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:436:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:436:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:437:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:437:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:437:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:443:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:443:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:443:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:444:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:444:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:450:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:450:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:450:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:451:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:451:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:461:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:461:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:461:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:462:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:462:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:462:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:472:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:472:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:472:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:477:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:477:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:477:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:478:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:478:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:478:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:486:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:486:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:486:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:487:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:487:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:487:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:495:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:495:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:495:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:499:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:499:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:499:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:500:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:500:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:500:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:505:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:505:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:505:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:529:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:529:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:529:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:556:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:556:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:556:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:557:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:557:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:557:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:558:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:558:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:558:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:559:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:559:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:559:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:586:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:586:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:586:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:595:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:595:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:595:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:604:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:604:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:604:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:613:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:613:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:613:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:622:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:622:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:622:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:637:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:637:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:637:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:646:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:646:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:646:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:676:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:676:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:715:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:715:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:715:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:861:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:861:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:861:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:916:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:916:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:916:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:999:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:999:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:999:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1000:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1000:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1000:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1001:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1001:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1001:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1002:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1002:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1002:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1003:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1003:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1003:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1006:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1006:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1006:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1042:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1042:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1042:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1078:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1078:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1078:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1088:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1088:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1088:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1098:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1098:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1098:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1101:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1101:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1101:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1109:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1109:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1109:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1112:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1112:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1112:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1115:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1115:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1115:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1118:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1118:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1118:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1121:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1121:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1121:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1124:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1124:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1124:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1127:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1127:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1127:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1130:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1130:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1130:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1133:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1133:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1133:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1136:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1136:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1136:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1139:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1139:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1139:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1142:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1142:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1142:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1145:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1145:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1145:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1148:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1148:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1148:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1153:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1153:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1153:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1237:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1237:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1237:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1241:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1241:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1241:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1282:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1282:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1282:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1283:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1283:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1283:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1291:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1291:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1291:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1292:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1292:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1292:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1299:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1299:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1299:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1300:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1300:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1300:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1307:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1307:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1307:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1308:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1308:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1308:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1314:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1314:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1314:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1315:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1315:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1315:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1328:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1328:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1328:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1329:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1329:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1329:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1335:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1335:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1335:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1336:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1336:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1336:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1342:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1342:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1342:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1343:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1343:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1343:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1349:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1349:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1349:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1350:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1350:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1350:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1356:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1356:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1356:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1357:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1357:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1357:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1363:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1363:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1363:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1364:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1364:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1364:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1370:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1370:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1370:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1371:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1371:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1371:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1377:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1377:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1377:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1378:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1378:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1378:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1389:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1389:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1389:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1390:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1390:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1390:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1397:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1397:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1397:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1398:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1398:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1398:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1404:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1404:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1404:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1405:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1405:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1405:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1418:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1418:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1418:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1419:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1419:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1419:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1425:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1425:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1425:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1426:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1426:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1426:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1432:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1432:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1432:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1433:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1433:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1433:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1443:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1443:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1443:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1444:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1444:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1450:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1450:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1450:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1451:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1451:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1457:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1457:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1457:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1458:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1458:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1458:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1468:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1468:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1468:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1469:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1469:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1469:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1475:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1475:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1475:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1476:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1476:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1476:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1482:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1482:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1482:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1483:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1483:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1483:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1493:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1493:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1493:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1494:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1494:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1494:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1504:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1504:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1504:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1505:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1505:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1505:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1511:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1511:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1511:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1512:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1512:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1512:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1522:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1522:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1522:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1523:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1523:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1523:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1529:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1529:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1529:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1530:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1530:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1530:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1540:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1540:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1540:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1541:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1541:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1541:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1547:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1547:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1547:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1548:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1548:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1548:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1589:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1589:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1589:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1590:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1590:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1590:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1611:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1611:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1611:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1612:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1612:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1612:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1626:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1626:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1626:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1641:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1641:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1641:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1647:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1647:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1647:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == 149 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/bitmap.o -c lib/bitmap.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/bitops.o -c lib/bitops.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/blake2s.o -c lib/blake2s.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/blake2b.o -c lib/blake2b.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/checksum.o -c lib/checksum.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/event.o -c lib/event.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/flowspec.o -c lib/flowspec.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/idm.o -c lib/idm.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/ip.o -c lib/ip.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/lists.o -c lib/lists.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/mac.o -c lib/mac.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/md5.o -c lib/md5.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/mempool.o -c lib/mempool.c lib/mempool.c:202:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = m->first_large) ~~^~~~~~~~~~~~~~~~ lib/mempool.c:202:12: note: place parentheses around the assignment to silence this warning while (c = m->first_large) ^ ( ) lib/mempool.c:202:12: note: use '==' to turn this assignment into an equality comparison while (c = m->first_large) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/net.o -c lib/net.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/patmatch.o -c lib/patmatch.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/printf.o -c lib/printf.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/resource.o -c lib/resource.c lib/resource.c:92:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (rr = (resource *) r->n.next) ~~~^~~~~~~~~~~~~~~~~~~~~~~~ lib/resource.c:92:13: note: place parentheses around the assignment to silence this warning while (rr = (resource *) r->n.next) ^ ( ) lib/resource.c:92:13: note: use '==' to turn this assignment into an equality comparison while (rr = (resource *) r->n.next) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/sha1.o -c lib/sha1.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/sha256.o -c lib/sha256.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/sha512.o -c lib/sha512.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/slab.o -c lib/slab.c In file included from lib/slab.c:182: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == lib/slab.c:285:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (h = s->empty_heads.first) ~~^~~~~~~~~~~~~~~~~~~~~~ lib/slab.c:285:9: note: place parentheses around the assignment to silence this warning if (h = s->empty_heads.first) ^ ( ) lib/slab.c:285:9: note: use '==' to turn this assignment into an equality comparison if (h = s->empty_heads.first) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/slists.o -c lib/slists.c lib/slists.c:76:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = n->readers) ~~^~~~~~~~~~~~ lib/slists.c:76:9: note: place parentheses around the assignment to silence this warning if (f = n->readers) ^ ( ) lib/slists.c:76:9: note: use '==' to turn this assignment into an equality comparison if (f = n->readers) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/strtoul.o -c lib/strtoul.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/tbf.o -c lib/tbf.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/timer.o -c lib/timer.c lib/timer.c:211:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = timers_first(loop)) ~~^~~~~~~~~~~~~~~~~~~~ lib/timer.c:211:12: note: place parentheses around the assignment to silence this warning while (t = timers_first(loop)) ^ ( ) lib/timer.c:211:12: note: use '==' to turn this assignment into an equality comparison while (t = timers_first(loop)) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/xmalloc.o -c lib/xmalloc.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/a-path.o -c nest/a-path.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/a-set.o -c nest/a-set.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/cli.o -c nest/cli.c In file included from nest/cli.c:67: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/cli.c:209:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (o = c->tx_buf) ~~^~~~~~~~~~~ nest/cli.c:209:9: note: place parentheses around the assignment to silence this warning if (o = c->tx_buf) ^ ( ) nest/cli.c:209:9: note: use '==' to turn this assignment into an equality comparison if (o = c->tx_buf) ^ == nest/cli.c:212:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (p = o->next) ~~^~~~~~~~~ nest/cli.c:212:16: note: place parentheses around the assignment to silence this warning while (p = o->next) ^ ( ) nest/cli.c:212:16: note: use '==' to turn this assignment into an equality comparison while (p = o->next) ^ == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/cmds.o -c nest/cmds.c In file included from nest/cmds.c:12: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/iface.o -c nest/iface.c In file included from nest/iface.c:31: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/iface.c:377:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(a, b, i->addrs) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/iface.c:377:4: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(a, b, i->addrs) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/iface.c:377:4: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/locks.o -c nest/locks.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/mpls.o -c nest/mpls.c In file included from nest/mpls.c:87: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/mpls.c:254:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(r, r2, old_ranges) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/mpls.c:254:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(r, r2, old_ranges) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:254:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:335:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(m, m2, old_domains) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/mpls.c:335:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(m, m2, old_domains) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:335:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:964:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(m->net_hash, NET, m->pool, fec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ nest/mpls.c:964:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:964:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:969:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(m->rta_hash, RTA, m->pool, fec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ nest/mpls.c:969:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:969:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:995:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(m->label_hash, LABEL, m->pool, fec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ nest/mpls.c:995:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:995:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/neighbor.o -c nest/neighbor.c nest/neighbor.c:548:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, m, neigh_hash_table[i]) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/neighbor.c:548:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, m, neigh_hash_table[i]) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/neighbor.c:548:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/password.o -c nest/password.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/proto.o -c nest/proto.c In file included from nest/proto.c:22: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/proto.c:1447:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(p, n, proto_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/proto.c:1447:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(p, n, proto_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/proto.c:1447:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/proto.c:1770:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(p, p_next, proto_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/proto.c:1770:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(p, p_next, proto_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/proto.c:1770:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/proto-build.o -c obj/nest/proto-build.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-attr.o -c nest/rt-attr.c In file included from nest/rt-attr.c:51: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/rt-attr.c:154:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_WALK_FILTER(src_hash, next, src, sp) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) ~~^~~~~ nest/rt-attr.c:154:3: note: place parentheses around the assignment to silence this warning HASH_WALK_FILTER(src_hash, next, src, sp) ^ ( ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) ^ nest/rt-attr.c:154:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) ^ nest/rt-attr.c:976:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (p = class_to_protocol[EA_PROTO(e->id)]) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:976:14: note: place parentheses around the assignment to silence this warning else if (p = class_to_protocol[EA_PROTO(e->id)]) ^ ( ) nest/rt-attr.c:976:14: note: use '==' to turn this assignment into an equality comparison else if (p = class_to_protocol[EA_PROTO(e->id)]) ^ == nest/rt-attr.c:1079:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (e = e->next) ~~^~~~~~~~~ nest/rt-attr.c:1079:13: note: place parentheses around the assignment to silence this warning if (e = e->next) ^ ( ) nest/rt-attr.c:1079:13: note: use '==' to turn this assignment into an equality comparison if (e = e->next) ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-dev.o -c nest/rt-dev.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-fib.o -c nest/rt-fib.c nest/rt-fib.c:190:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (e = x) ~~^~~ nest/rt-fib.c:190:16: note: place parentheses around the assignment to silence this warning while (e = x) ^ ( ) nest/rt-fib.c:190:16: note: use '==' to turn this assignment into an equality comparison while (e = x) ^ == nest/rt-fib.c:465:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (it = e->readers) ~~~^~~~~~~~~~~~ nest/rt-fib.c:465:11: note: place parentheses around the assignment to silence this warning if (it = e->readers) ^ ( ) nest/rt-fib.c:465:11: note: use '==' to turn this assignment into an equality comparison if (it = e->readers) ^ == nest/rt-fib.c:515:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = f->hash_table[h]) ~~^~~~~~~~~~~~~~~~~~ nest/rt-fib.c:515:11: note: place parentheses around the assignment to silence this warning if (n = f->hash_table[h]) ^ ( ) nest/rt-fib.c:515:11: note: use '==' to turn this assignment into an equality comparison if (n = f->hash_table[h]) ^ == nest/rt-fib.c:518:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i->next = n->readers) ~~~~~~~~^~~~~~~~~~~~ nest/rt-fib.c:518:14: note: place parentheses around the assignment to silence this warning if (i->next = n->readers) ^ ( ) nest/rt-fib.c:518:14: note: use '==' to turn this assignment into an equality comparison if (i->next = n->readers) ^ == nest/rt-fib.c:550:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = i->next) ~~^~~~~~~~~ nest/rt-fib.c:550:9: note: place parentheses around the assignment to silence this warning if (k = i->next) ^ ( ) nest/rt-fib.c:550:9: note: use '==' to turn this assignment into an equality comparison if (k = i->next) ^ == nest/rt-fib.c:563:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = n->readers) ~~^~~~~~~~~~~~ nest/rt-fib.c:563:9: note: place parentheses around the assignment to silence this warning if (j = n->readers) ^ ( ) nest/rt-fib.c:563:9: note: use '==' to turn this assignment into an equality comparison if (j = n->readers) ^ == nest/rt-fib.c:573:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = n->next) ~~^~~~~~~~~ nest/rt-fib.c:573:9: note: place parentheses around the assignment to silence this warning if (n = n->next) ^ ( ) nest/rt-fib.c:573:9: note: use '==' to turn this assignment into an equality comparison if (n = n->next) ^ == nest/rt-fib.c:577:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = f->hash_table[hpos]) ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-fib.c:577:11: note: place parentheses around the assignment to silence this warning if (n = f->hash_table[hpos]) ^ ( ) nest/rt-fib.c:577:11: note: use '==' to turn this assignment into an equality comparison if (n = f->hash_table[hpos]) ^ == 8 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-show.o -c nest/rt-show.c In file included from nest/rt-show.c:15: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/rt-show.c:417:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(tab, tabx, d->tables) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/rt-show.c:417:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(tab, tabx, d->tables) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-show.c:417:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-table.o -c nest/rt-table.c nest/rt-table.c:249:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_IP4: TW(4, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:249:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:249:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:250:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_VPN4: TW(4, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:250:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:250:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:251:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_IP6: TW(6, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:251:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:251:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:252:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_VPN6: TW(6, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:252:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:252:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:261:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_IP4: FW(4, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:261:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:261:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:262:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_VPN4: FW(4, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:262:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:262:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:263:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_IP6: FW(6, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:263:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:263:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:264:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] case NET_VPN6: FW(6, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' net *r; if (r = net_find_valid(tab, (net_addr *) &var)) return r; ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:264:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:264:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:581:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (better = new->src->proto->rte_better) ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:581:14: note: place parentheses around the assignment to silence this warning if (better = new->src->proto->rte_better) ^ ( ) nest/rt-table.c:581:14: note: use '==' to turn this assignment into an equality comparison if (better = new->src->proto->rte_better) ^ == nest/rt-table.c:600:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mergable = pri->src->proto->rte_mergable) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:600:16: note: place parentheses around the assignment to silence this warning if (mergable = pri->src->proto->rte_mergable) ^ ( ) nest/rt-table.c:600:16: note: use '==' to turn this assignment into an equality comparison if (mergable = pri->src->proto->rte_mergable) ^ == nest/rt-table.c:828:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (new_best = export_filter(c, r, &new_free, 0)) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:828:20: note: place parentheses around the assignment to silence this warning if (new_best = export_filter(c, r, &new_free, 0)) ^ ( ) nest/rt-table.c:828:20: note: use '==' to turn this assignment into an equality comparison if (new_best = export_filter(c, r, &new_free, 0)) ^ == nest/rt-table.c:1164:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (old = *k) ~~~~^~~~ nest/rt-table.c:1164:14: note: place parentheses around the assignment to silence this warning while (old = *k) ^ ( ) nest/rt-table.c:1164:14: note: use '==' to turn this assignment into an equality comparison while (old = *k) ^ == nest/rt-table.c:1589:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (nn = net_find(c->table, n)) ~~~^~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1589:10: note: place parentheses around the assignment to silence this warning if (nn = net_find(c->table, n)) ^ ( ) nest/rt-table.c:1589:10: note: use '==' to turn this assignment into an equality comparison if (nn = net_find(c->table, n)) ^ == nest/rt-table.c:1684:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&t->fib, net, n) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1684:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&t->fib, net, n) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1684:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1710:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&t->fib, net, n) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1710:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&t->fib, net, n) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1710:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1731:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&t->fib, net, n) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1731:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&t->fib, net, n) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1731:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1776:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&t->fib, net, n) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1776:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&t->fib, net, n) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:1776:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ nest/rt-table.c:2471:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-table.c:2679:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (k = &n->routes; e = *k; k = &e->next) ~~^~~~ nest/rt-table.c:2679:26: note: place parentheses around the assignment to silence this warning for (k = &n->routes; e = *k; k = &e->next) ^ ( ) nest/rt-table.c:2679:26: note: use '==' to turn this assignment into an equality comparison for (k = &n->routes; e = *k; k = &e->next) ^ == nest/rt-table.c:2713:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (k = &n->routes; e = *k; k = &e->next) ~~^~~~ nest/rt-table.c:2713:26: note: place parentheses around the assignment to silence this warning for (k = &n->routes; e = *k; k = &e->next) ^ ( ) nest/rt-table.c:2713:26: note: use '==' to turn this assignment into an equality comparison for (k = &n->routes; e = *k; k = &e->next) ^ == nest/rt-table.c:3043:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (pos = &net->routes; old = *pos; pos = &old->next) ~~~~^~~~~~ nest/rt-table.c:3043:32: note: place parentheses around the assignment to silence this warning for (pos = &net->routes; old = *pos; pos = &old->next) ^ ( ) nest/rt-table.c:3043:32: note: use '==' to turn this assignment into an equality comparison for (pos = &net->routes; old = *pos; pos = &old->next) ^ == nest/rt-table.c:3172:30: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (c->reload_next_rte = n->routes) ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ nest/rt-table.c:3172:30: note: place parentheses around the assignment to silence this warning if (c->reload_next_rte = n->routes) ^ ( ) nest/rt-table.c:3172:30: note: use '==' to turn this assignment into an equality comparison if (c->reload_next_rte = n->routes) ^ == nest/rt-table.c:3210:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (e = *ee) ~~^~~~~ nest/rt-table.c:3210:14: note: place parentheses around the assignment to silence this warning while (e = *ee) ^ ( ) nest/rt-table.c:3210:14: note: use '==' to turn this assignment into an equality comparison while (e = *ee) ^ == nest/rt-table.c:3263:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (pos = &net->routes; old = *pos; pos = &old->next) ~~~~^~~~~~ nest/rt-table.c:3263:32: note: place parentheses around the assignment to silence this warning for (pos = &net->routes; old = *pos; pos = &old->next) ^ ( ) nest/rt-table.c:3263:32: note: use '==' to turn this assignment into an equality comparison for (pos = &net->routes; old = *pos; pos = &old->next) ^ == nest/rt-table.c:3573:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, x, hc->hostentries) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/rt-table.c:3573:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, x, hc->hostentries) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-table.c:3573:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 25 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/aggregator/aggregator.o -c proto/aggregator/aggregator.c proto/aggregator/aggregator.c:576:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/aggregator/aggregator.c:576:20: note: place parentheses around the assignment to silence this warning if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) ^ ( ) proto/aggregator/aggregator.c:576:20: note: use '==' to turn this assignment into an equality comparison if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) ^ == proto/aggregator/aggregator.c:613:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(p->routes, AGGR_RTE, p->p.pool, old_route); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:613:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:613:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:629:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(p->buckets, AGGR_BUCK, p->p.pool, old_bucket); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:629:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:629:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:726:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->routes, AGGR_RTE, arte); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:726:7: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:726:7: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:732:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->buckets, AGGR_BUCK, b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:732:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:732:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bfd/bfd.o -c proto/bfd/bfd.c In file included from proto/bfd/bfd.c:103: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/bfd/bfd.c:547:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->session_hash_id, HASH_ID, s); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bfd/bfd.c:547:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:547:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:548:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->session_hash_ip, HASH_IP, s); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bfd/bfd.c:548:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:548:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:752:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nn, bfd_wait_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:752:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nn, bfd_wait_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:752:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:990:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nn, s->request_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:990:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nn, s->request_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:990:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bfd/io.o -c proto/bfd/io.c proto/bfd/io.c:496:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (t = timers_first(&loop->time)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/io.c:496:16: note: place parentheses around the assignment to silence this warning else if (t = timers_first(&loop->time)) ^ ( ) proto/bfd/io.c:496:16: note: use '==' to turn this assignment into an equality comparison else if (t = timers_first(&loop->time)) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bfd/packets.o -c proto/bfd/packets.c In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/babel/babel.o -c proto/babel/babel.c In file included from proto/babel/babel.c:44: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/babel/babel.c:137:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nx, e->sources) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:137:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, e->sources) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:137:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:244:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(r, rx, e->routes) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:244:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(r, rx, e->routes) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:244:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:412:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(sr, srx, e->requests) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:412:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(sr, srx, e->requests) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:412:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:534:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:534:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:534:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:1011:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:1011:3: note: place parentheses around the assignment to silence this warning FIB_WALK(rtable, struct babel_entry, e) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:1011:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2174:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->ip4_rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2174:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->ip4_rtable, struct babel_entry, e) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2174:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2179:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->ip6_rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2179:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->ip6_rtable, struct babel_entry, e) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2179:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2304:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2304:3: note: place parentheses around the assignment to silence this warning FIB_WALK(rtable, struct babel_entry, e) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2304:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2319:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (r = e->selected) ~~^~~~~~~~~~~~~ proto/babel/babel.c:2319:16: note: place parentheses around the assignment to silence this warning else if (r = e->selected) ^ ( ) proto/babel/babel.c:2319:16: note: use '==' to turn this assignment into an equality comparison else if (r = e->selected) ^ == proto/babel/babel.c:2354:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2354:3: note: place parentheses around the assignment to silence this warning FIB_WALK(rtable, struct babel_entry, e) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2354:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/babel/packets.o -c proto/babel/packets.c In file included from proto/babel/packets.c:13: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bgp/attrs.o -c proto/bgp/attrs.c proto/bgp/attrs.c:1253:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ proto/bgp/attrs.c:1632:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bgp/attrs.c:1632:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:1632:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:1726:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(c->prefix_hash, PXH, c->pool, px); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bgp/attrs.c:1726:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:1726:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bgp/bgp.o -c proto/bgp/bgp.c In file included from proto/bgp/bgp.c:120: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/bgp/bgp.c:1948:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tab = cf->c.global->def_tables[type]) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/bgp.c:1948:11: note: place parentheses around the assignment to silence this warning if (tab = cf->c.global->def_tables[type]) ^ ( ) proto/bgp/bgp.c:1948:11: note: use '==' to turn this assignment into an equality comparison if (tab = cf->c.global->def_tables[type]) ^ == proto/bgp/bgp.c:2112:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ proto/bgp/bgp.c:2119:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ proto/bgp/bgp.c:2244:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(C, C2, p->p.channels) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:2244:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(C, C2, p->p.channels) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bgp/bgp.c:2244:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bgp/packets.o -c proto/bgp/packets.c In file included from proto/bgp/packets.c:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/l3vpn/l3vpn.o -c proto/l3vpn/l3vpn.c In file included from proto/l3vpn/l3vpn.c:41: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/mrt/mrt.o -c proto/mrt/mrt.c In file included from proto/mrt/mrt.c:48: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/mrt/mrt.c:195:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (last = src; next = strstr(last, key); last = next + klen) ~~~~~^~~~~~~~~~~~~~~~~~~ proto/mrt/mrt.c:195:25: note: place parentheses around the assignment to silence this warning for (last = src; next = strstr(last, key); last = next + klen) ^ ( ) proto/mrt/mrt.c:195:25: note: use '==' to turn this assignment into an equality comparison for (last = src; next = strstr(last, key); last = next + klen) ^ == proto/mrt/mrt.c:516:28: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rt0 = n->routes; rt = rt0; rt0 = rt0->next) ~~~^~~~~ proto/mrt/mrt.c:516:28: note: place parentheses around the assignment to silence this warning for (rt0 = n->routes; rt = rt0; rt0 = rt0->next) ^ ( ) proto/mrt/mrt.c:516:28: note: use '==' to turn this assignment into an equality comparison for (rt0 = n->routes; rt = rt0; rt0 = rt0->next) ^ == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/dbdes.o -c proto/ospf/dbdes.c In file included from proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/hello.o -c proto/ospf/hello.c In file included from proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/iface.o -c proto/ospf/iface.c In file included from proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/iface.c:267:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:267:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:267:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:791:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:791:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:791:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:910:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:910:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:910:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1165:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1165:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1165:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1200:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1200:7: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1200:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1387:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1387:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1387:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 7 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/lsack.o -c proto/ospf/lsack.c In file included from proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/lsalib.o -c proto/ospf/lsalib.c In file included from proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/lsalib.c:173:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (code = LOOKUP(opaque_lsa_types, id >> 24)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/lsalib.c:173:16: note: place parentheses around the assignment to silence this warning if (code = LOOKUP(opaque_lsa_types, id >> 24)) ^ ( ) proto/ospf/lsalib.c:173:16: note: use '==' to turn this assignment into an equality comparison if (code = LOOKUP(opaque_lsa_types, id >> 24)) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/lsreq.o -c proto/ospf/lsreq.c In file included from proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/lsupd.o -c proto/ospf/lsupd.c In file included from proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/lsupd.c:439:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~~ proto/ospf/lsupd.c:439:3: note: place parentheses around the assignment to silence this warning WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) ^ ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/lsupd.c:439:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/neighbor.o -c proto/ospf/neighbor.c In file included from proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/neighbor.c:541:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/neighbor.c:541:7: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/neighbor.c:541:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/ospf.o -c proto/ospf/ospf.c In file included from proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/ospf.c:531:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:531:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtf, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:531:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:642:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:642:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:642:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:759:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:759:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:759:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:766:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(oa, oax, p->area_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:766:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(oa, oax, p->area_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:766:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:853:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->net_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:853:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->net_fib, struct area_net, anet) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:853:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:866:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->enet_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:866:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->enet_fib, struct area_net, anet) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:866:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 7 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/packet.o -c proto/ospf/packet.c In file included from proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/rt.o -c proto/ospf/rt.c In file included from proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/rt.c:1008:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((nf->n.oa->areaid == oa->areaid)) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ proto/ospf/rt.c:1008:25: note: remove extraneous parentheses around the comparison to silence this warning if ((nf->n.oa->areaid == oa->areaid)) ~ ^ ~ proto/ospf/rt.c:1008:25: note: use '=' to turn this equality comparison into an assignment if ((nf->n.oa->areaid == oa->areaid)) ^~ = proto/ospf/rt.c:1212:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->backbone->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1212:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->backbone->rtr, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1212:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1220:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1220:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtf, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1220:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1286:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1286:7: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->rtr, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1286:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1297:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->backbone->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1297:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->backbone->rtr, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1297:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1337:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1337:7: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->rtr, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1337:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1382:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1382:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtf, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1382:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1410:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1410:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtf, ort, nf) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1410:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1630:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtf, ort, ri) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1630:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtf, ort, ri) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1630:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1653:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->rtr, ort, ri) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1653:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->rtr, ort, ri) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1653:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1662:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->net_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1662:7: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->net_fib, struct area_net, anet) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1662:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1669:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->enet_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1669:7: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->enet_fib, struct area_net, anet) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/rt.c:1669:7: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 13 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/topology.o -c proto/ospf/topology.c In file included from proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:26: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/ospf/topology.c:518:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_SLIST_DELSAFE(en, nxt, p->lsal) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~~ proto/ospf/topology.c:518:3: note: place parentheses around the assignment to silence this warning WALK_SLIST_DELSAFE(en, nxt, p->lsal) ^ ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/topology.c:518:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/topology.c:1741:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (en = ifa->link_lsa) ~~~^~~~~~~~~~~~~~~ proto/ospf/topology.c:1741:10: note: place parentheses around the assignment to silence this warning if (en = ifa->link_lsa) ^ ( ) proto/ospf/topology.c:1741:10: note: use '==' to turn this assignment into an equality comparison if (en = ifa->link_lsa) ^ == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/perf/perf.o -c proto/perf/perf.c In file included from proto/perf/perf.c:22: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/pipe/pipe.o -c proto/pipe/pipe.c In file included from proto/pipe/pipe.c:39: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/radv/packets.o -c proto/radv/packets.c In file included from proto/radv/packets.c:12: In file included from proto/radv/radv.h:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/radv/packets.c:400:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->routes, struct radv_route, rt) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/packets.c:400:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->routes, struct radv_route, rt) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/radv/packets.c:400:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/radv/radv.o -c proto/radv/radv.c In file included from proto/radv/radv.c:12: In file included from proto/radv/radv.h:23: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/radv/radv.c:167:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/radv/radv.c:167:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/radv/radv.c:167:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/radv/radv.c:190:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/radv/radv.c:190:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/radv/radv.c:190:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rip/packets.o -c proto/rip/packets.c In file included from proto/rip/packets.c:14: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rip/rip.o -c proto/rip/rip.c In file included from proto/rip/rip.c:81: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == proto/rip/rip.c:265:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rp = &en->routes; rt = *rp; rp = &rt->next) ~~~^~~~~ proto/rip/rip.c:265:29: note: place parentheses around the assignment to silence this warning for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ ( ) proto/rip/rip.c:265:29: note: use '==' to turn this assignment into an equality comparison for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ == proto/rip/rip.c:312:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rp = &en->routes; rt = *rp; rp = &rt->next) ~~~^~~~~ proto/rip/rip.c:312:29: note: place parentheses around the assignment to silence this warning for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ ( ) proto/rip/rip.c:312:29: note: use '==' to turn this assignment into an equality comparison for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ == proto/rip/rip.c:411:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtable, struct rip_entry, en) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:411:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtable, struct rip_entry, en) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/rip/rip.c:411:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/rip/rip.c:922:31: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) ~~~^~~~~ proto/rip/rip.c:922:31: note: place parentheses around the assignment to silence this warning for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) ^ ( ) proto/rip/rip.c:922:31: note: use '==' to turn this assignment into an equality comparison for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) ^ == proto/rip/rip.c:982:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/rip/rip.c:982:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/rip/rip.c:982:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/rip/rip.c:1325:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtable, struct rip_entry, en) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:1325:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtable, struct rip_entry, en) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/rip/rip.c:1325:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 7 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/rpki.o -c proto/rpki/rpki.c In file included from proto/rpki/rpki.c:98: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/packets.o -c proto/rpki/packets.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/tcp_transport.o -c proto/rpki/tcp_transport.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/ssh_transport.o -c proto/rpki/ssh_transport.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/transport.o -c proto/rpki/transport.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/static/static.o -c proto/static/static.c In file included from proto/static/static.c:43: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/alloc.o -c sysdep/unix/alloc.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/io.o -c sysdep/unix/io.c In file included from sysdep/unix/io.c:44: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == sysdep/unix/io.c:1380:15: warning: 'ssh_is_server_known' is deprecated [-Wdeprecated-declarations] switch (ssh_is_server_known(s->ssh->session)) ^ /usr/local/include/libssh/libssh.h:582:1: note: 'ssh_is_server_known' has been explicitly marked deprecated here SSH_DEPRECATED LIBSSH_API int ssh_is_server_known(ssh_session session); ^ /usr/local/include/libssh/libssh.h:81:40: note: expanded from macro 'SSH_DEPRECATED' #define SSH_DEPRECATED __attribute__ ((deprecated)) ^ sysdep/unix/io.c:2045:7: warning: 'ssh_channel_select' is deprecated [-Wdeprecated-declarations] if (ssh_channel_select(rchans, NULL, NULL, &timev) == SSH_EINTR) ^ /usr/local/include/libssh/libssh.h:584:1: note: 'ssh_channel_select' has been explicitly marked deprecated here SSH_DEPRECATED LIBSSH_API int ssh_channel_select(ssh_channel *readchans, ssh_channel *writechans, ssh_channel *exceptchans, struct ^ /usr/local/include/libssh/libssh.h:81:40: note: expanded from macro 'SSH_DEPRECATED' #define SSH_DEPRECATED __attribute__ ((deprecated)) ^ sysdep/unix/io.c:2450:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = timers_first(&main_timeloop)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io.c:2450:13: note: place parentheses around the assignment to silence this warning if (t = timers_first(&main_timeloop)) ^ ( ) sysdep/unix/io.c:2450:13: note: use '==' to turn this assignment into an equality comparison if (t = timers_first(&main_timeloop)) ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/krt.o -c sysdep/unix/krt.c sysdep/unix/krt.c:340:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for(mm=&n->routes; m = *mm; mm=&m->next) ~~^~~~~ sysdep/unix/krt.c:340:24: note: place parentheses around the assignment to silence this warning for(mm=&n->routes; m = *mm; mm=&m->next) ^ ( ) sysdep/unix/krt.c:340:24: note: use '==' to turn this assignment into an equality comparison for(mm=&n->routes; m = *mm; mm=&m->next) ^ == sysdep/unix/krt.c:393:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (e = *ee) ~~^~~~~ sysdep/unix/krt.c:393:16: note: place parentheses around the assignment to silence this warning while (e = *ee) ^ ( ) sysdep/unix/krt.c:393:16: note: use '==' to turn this assignment into an equality comparison while (e = *ee) ^ == sysdep/unix/krt.c:453:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for(gg=&n->routes; g = *gg; gg = &g->next) ~~^~~~~ sysdep/unix/krt.c:453:24: note: place parentheses around the assignment to silence this warning for(gg=&n->routes; g = *gg; gg = &g->next) ^ ( ) sysdep/unix/krt.c:453:24: note: use '==' to turn this assignment into an equality comparison for(gg=&n->routes; g = *gg; gg = &g->next) ^ == sysdep/unix/krt.c:491:23: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for(gg=&n->routes; g=*gg; gg=&g->next) ~^~~~ sysdep/unix/krt.c:491:23: note: place parentheses around the assignment to silence this warning for(gg=&n->routes; g=*gg; gg=&g->next) ^ ( ) sysdep/unix/krt.c:491:23: note: use '==' to turn this assignment into an equality comparison for(gg=&n->routes; g=*gg; gg=&g->next) ^ == sysdep/unix/krt.c:563:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&t->fib, net, n) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/krt.c:563:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&t->fib, net, n) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ sysdep/unix/krt.c:563:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ sysdep/unix/krt.c:733:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&t->fib, net, n) ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/krt.c:733:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&t->fib, net, n) ^ ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ sysdep/unix/krt.c:733:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/log.o -c sysdep/unix/log.c In file included from sysdep/unix/log.c:28: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/main.o -c sysdep/unix/main.c In file included from sysdep/unix/main.c:38: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c:442: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/random.o -c sysdep/unix/random.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/bsd/krt-sock.o -c sysdep/bsd/krt-sock.c cc -pthread -L/usr/local/lib -o bird obj/conf/cf-parse.tab.o obj/conf/cf-lex.o obj/conf/conf.o obj/filter/filter.o obj/filter/data.o obj/filter/f-util.o obj/filter/tree.o obj/filter/trie.o obj/filter/inst-gen.o obj/lib/bitmap.o obj/lib/bitops.o obj/lib/blake2s.o obj/lib/blake2b.o obj/lib/checksum.o obj/lib/event.o obj/lib/flowspec.o obj/lib/idm.o obj/lib/ip.o obj/lib/lists.o obj/lib/mac.o obj/lib/md5.o obj/lib/mempool.o obj/lib/net.o obj/lib/patmatch.o obj/lib/printf.o obj/lib/resource.o obj/lib/sha1.o obj/lib/sha256.o obj/lib/sha512.o obj/lib/slab.o obj/lib/slists.o obj/lib/strtoul.o obj/lib/tbf.o obj/lib/timer.o obj/lib/xmalloc.o obj/nest/a-path.o obj/nest/a-set.o obj/nest/cli.o obj/nest/cmds.o obj/nest/iface.o obj/nest/locks.o obj/nest/mpls.o obj/nest/neighbor.o obj/nest/password.o obj/nest/proto.o obj/nest/proto-build.o obj/nest/rt-attr.o obj/nest/rt-dev.o obj/nest/rt-fib.o obj/nest/rt-show.o obj/nest/rt-table.o obj/proto/aggregator/aggregator.o obj/proto/bfd/bfd.o obj/proto/bfd/io.o obj/proto/bfd/packets.o obj/proto/babel/babel.o obj/proto/babel/packets.o obj/proto/bgp/attrs.o obj/proto/bgp/bgp.o obj/proto/bgp/packets.o obj/proto/l3vpn/l3vpn.o obj/proto/mrt/mrt.o obj/proto/ospf/dbdes.o obj/proto/ospf/hello.o obj/proto/ospf/iface.o obj/proto/ospf/lsack.o obj/proto/ospf/lsalib.o obj/proto/ospf/lsreq.o obj/proto/ospf/lsupd.o obj/proto/ospf/neighbor.o obj/proto/ospf/ospf.o obj/proto/ospf/packet.o obj/proto/ospf/rt.o obj/proto/ospf/topology.o obj/proto/perf/perf.o obj/proto/pipe/pipe.o obj/proto/radv/packets.o obj/proto/radv/radv.o obj/proto/rip/packets.o obj/proto/rip/rip.o obj/proto/rpki/rpki.o obj/proto/rpki/packets.o obj/proto/rpki/tcp_transport.o obj/proto/rpki/ssh_transport.o obj/proto/rpki/transport.o obj/proto/static/static.o obj/sysdep/unix/alloc.o obj/sysdep/unix/io.o obj/sysdep/unix/krt.o obj/sysdep/unix/log.o obj/sysdep/unix/main.o obj/sysdep/unix/random.o obj/sysdep/bsd/krt-sock.o -lssh ld: warning: cf-lex.l:486 (conf/cf-lex.l:486)(obj/conf/cf-lex.o:(cf_include)): warning: sprintf() is often misused, please use snprintf() ld: warning: cf-lex.l:571 (conf/cf-lex.l:571)(obj/conf/cf-lex.o:(cf_new_symbol)): warning: strcpy() is almost always misused, please use strlcpy() ld: warning: timer.c:224 (lib/timer.c:224)(obj/lib/timer.o:(timers_fire)): warning: random() may return deterministic values, is that what you want? cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/client/commands.o -c client/commands.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/client/util.o -c client/util.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/client/client.o -c client/client.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/client/birdcl.o -c client/birdcl.c cc -pthread -L/usr/local/lib -o birdcl obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdcl.o ld: warning: commands.c:212 (client/commands.c:212)(obj/client/commands.o:(cmd_complete)): warning: strcpy() is almost always misused, please use strlcpy() ld: warning: commands.c:332 (client/commands.c:332)(obj/client/commands.o:(cmd_expand)): warning: sprintf() is often misused, please use snprintf() cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/client/birdc.o -c client/birdc.c cc -pthread -L/usr/local/lib -o birdc obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdc.o -lreadline -lncurses ld: warning: commands.c:212 (client/commands.c:212)(obj/client/commands.o:(cmd_complete)): warning: strcpy() is almost always misused, please use strlcpy() ld: warning: commands.c:332 (client/commands.c:332)(obj/client/commands.o:(cmd_expand)): warning: sprintf() is often misused, please use snprintf() >>> Running package in net/bird/2 at 1734980765.85 ===> net/bird/2 ===> Faking installation for bird-2.16 /bin/sh: git: not found /exopi-obj/pobj/bird-2.16/bin/install -c -d /exopi-obj/pobj/bird-2.16/fake-amd64//usr/local/sbin /exopi-obj/pobj/bird-2.16/fake-amd64//usr/local/share/examples/bird /exopi-obj/pobj/bird-2.16/fake-amd64//var/run for BIN in bird birdcl birdc ; do \ /exopi-obj/pobj/bird-2.16/bin/install -c -m 755 ./$BIN /exopi-obj/pobj/bird-2.16/fake-amd64//usr/local/sbin/$BIN ; \ done if ! test -f /exopi-obj/pobj/bird-2.16/fake-amd64//usr/local/share/examples/bird/bird.conf ; then \ /exopi-obj/pobj/bird-2.16/bin/install -c -m 644 ./doc/bird.conf.example /exopi-obj/pobj/bird-2.16/fake-amd64//usr/local/share/examples/bird/bird.conf ; \ else \ echo "Not overwriting old bird.conf" ; \ fi /exopi-obj/pobj/bird-2.16/bin/install -d -m 755 /exopi-obj/pobj/bird-2.16/fake-amd64/usr/local/share/doc/bird /exopi-obj/pobj/bird-2.16/bin/install -c -m 644 /exopi-obj/pobj/bird-2.16/bird-doc-*/doc/* /exopi-obj/pobj/bird-2.16/fake-amd64/usr/local/share/doc/bird/ /exopi-obj/pobj/bird-2.16/bin/install -c -m 644 /exopi-obj/pobj/bird-2.16/bird-2.16/doc/bird.conf.example2 /exopi-obj/pobj/bird-2.16/fake-amd64/usr/local/share/examples/bird/ Reading existing plist for bird-2.16 Writing /exopi-obj/pobj/bird-2.16/fake-amd64/debug-pkg/Makefile.new Writing /exopi-obj/pobj/bird-2.16/fake-amd64/debug-pkg/PLIST Renaming /exopi-obj/pobj/bird-2.16/fake-amd64/debug-pkg/Makefile.new to Makefile > Extracting debug info from /exopi-obj/pobj/bird-2.16/fake-amd64/usr/local/sbin/bird > Extracting debug info from /exopi-obj/pobj/bird-2.16/fake-amd64/usr/local/sbin/birdc > Extracting debug info from /exopi-obj/pobj/bird-2.16/fake-amd64/usr/local/sbin/birdcl Installing /exopi-cvs/ports/net/bird/2/pkg/bird.rc as /exopi-obj/pobj/bird-2.16/fake-amd64/etc/rc.d/bird ===> Building package for bird-2.16 Create /exopi-cvs/ports/packages/amd64/all/bird-2.16.tgz Creating package bird-2.16 reading plist| checking dependencies| checking dependencies|security/libssh checksumming| checksumming| | 0% checksumming|** | 4% checksumming|***** | 7% checksumming|******* | 11% checksumming|********* | 15% checksumming|*********** | 19% checksumming|************** | 22% checksumming|**************** | 26% checksumming|****************** | 30% checksumming|******************** | 33% checksumming|*********************** | 37% checksumming|************************* | 41% checksumming|*************************** | 44% checksumming|***************************** | 48% checksumming|******************************** | 52% checksumming|********************************** | 56% checksumming|************************************ | 59% checksumming|************************************** | 63% checksumming|***************************************** | 67% checksumming|******************************************* | 70% checksumming|********************************************* | 74% checksumming|*********************************************** | 78% checksumming|************************************************** | 81% checksumming|**************************************************** | 85% checksumming|****************************************************** | 89% checksumming|******************************************************** | 93% checksumming|*********************************************************** | 96% checksumming|*************************************************************|100% archiving| archiving| | 0% archiving|************************************ | 57% archiving|************************************* | 58% archiving|************************************** | 60% archiving|************************************************** | 79% archiving|****************************************************************|100% Creating package debug-bird-2.16 reading plist| checking dependencies| checking dependencies|net/bird/2 checking dependencies|security/libssh checksumming| checksumming| | 0% checksumming|*** | 5% checksumming|****** | 10% checksumming|********* | 14% checksumming|************ | 19% checksumming|*************** | 24% checksumming|***************** | 29% checksumming|******************** | 33% checksumming|*********************** | 38% checksumming|************************** | 43% checksumming|***************************** | 48% checksumming|******************************** | 52% checksumming|*********************************** | 57% checksumming|************************************** | 62% checksumming|***************************************** | 67% checksumming|******************************************** | 71% checksumming|********************************************** | 76% checksumming|************************************************* | 81% checksumming|**************************************************** | 86% checksumming|******************************************************* | 90% checksumming|********************************************************** | 95% checksumming|*************************************************************|100% archiving| archiving| | 0% archiving|******************************************* | 68% archiving|************************************************************** | 97% archiving|*************************************************************** | 99% archiving|****************************************************************|100% Link to /exopi-cvs/ports/packages/amd64/ftp/bird-2.16.tgz Link to /exopi-cvs/ports/packages/amd64/ftp/debug-bird-2.16.tgz >>> Running clean in net/bird/2 at 1734980773.34 ===> net/bird/2 ===> Cleaning for bird-2.16 >>> Ended at 1734980773.78 max_stuck=3.89/depends=2.48/show-prepare-results=1.56/build=106.58/package=7.50/clean=0.46