>>> Building on exopi-5 under net/bird/2 BDEPENDS = [security/libssh;devel/dwz;devel/m4;devel/gmake;devel/bison] DIST = [net/bird/2:bird-doc-2.20.0.tar.gz;net/bird/2:bird-2.20.0.tar.gz] FULLPKGNAME = bird-2.20.0 RDEPENDS = [security/libssh] (Junk lock obtained for exopi-5 at 1793163560.37) >>> Running depends in net/bird/2 at 1793163560.41 last junk was in lang/njs /usr/sbin/pkg_add -aI -Drepair bison-3.8.2p0 dwz-0.16p2 libssh-0.12.2 m4-1.4.21 was: /usr/sbin/pkg_add -aI -Drepair bison-3.8.2p0 dwz-0.16p2 gmake-4.4.1p0 libssh-0.12.2 m4-1.4.21 /usr/sbin/pkg_add -aI -Drepair bison-3.8.2p0 dwz-0.16p2 libssh-0.12.2 m4-1.4.21 >>> Running show-prepare-results in net/bird/2 at 1793163563.76 ===> net/bird/2 ===> Building from scratch bird-2.20.0 ===> bird-2.20.0 depends on: m4-* -> m4-1.4.21 ===> bird-2.20.0 depends on: bison-* -> bison-3.8.2p0 ===> bird-2.20.0 depends on: gmake-* -> gmake-4.4.1p0 ===> bird-2.20.0 depends on: dwz-* -> dwz-0.16p2 ===> bird-2.20.0 depends on: libssh-* -> libssh-0.12.2 ===> Verifying specs: c curses pthread readline ssh ===> found c.104.0 curses.16.0 pthread.28.1 readline.6.0 ssh.4.5 bison-3.8.2p0 dwz-0.16p2 gmake-4.4.1p0 libssh-0.12.2 m4-1.4.21 (Junk lock released for exopi-5 at 1793163566.17) distfiles size=2809990 >>> Running build in net/bird/2 at 1793163566.20 ===> net/bird/2 ===> Checking files for bird-2.20.0 `/exopi-cvs/ports/distfiles/bird-2.20.0.tar.gz' is up to date. `/exopi-cvs/ports/distfiles/bird-doc-2.20.0.tar.gz' is up to date. >> (SHA256) all files: OK ===> Extracting for bird-2.20.0 ===> Patching for bird-2.20.0 ===> 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 299. 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.20.0 ===> Configuring for bird-2.20.0 Using /exopi-obj/pobj/bird-2.20.0/config.site (generated) configure: WARNING: unrecognized options: --enable-ssh, --disable-silent-rules, --disable-gtk-doc configure: loading site script /exopi-obj/pobj/bird-2.20.0/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-openbsd8.0 checking host system type... x86_64-unknown-openbsd8.0 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.20.0/bin/install -c checking for ranlib... (cached) ranlib checking for flex... flex checking for bison... bison checking for gm4... gm4 checking for pandoc... no 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 bmp evpn l3vpn mrt ospf perf pipe radv rip rpki static LibSSH support in RPKI: yes Kernel MPLS support: no Client: yes ===> Building for bird-2.20.0 mkdir -p obj/client obj/conf obj/doc obj/filter obj/lib obj/nest obj/test obj/gitlab obj/proto/aggregator obj/proto/bfd obj/proto/babel obj/proto/bgp obj/proto/bmp obj/proto/evpn 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/bmp/config.Y proto/evpn/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 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/bmp/config.Y proto/evpn/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/bmp/config.Y proto/evpn/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 ( P='aggregator bfd babel bgp bmp evpn l3vpn mrt ospf perf pipe radv rip rpki static dev kif krt' && printf "void %s_build(void);\n" $P && printf "\nvoid\nprotos_build_gen(void)\n{\n" && printf " %s_build();\n" $P && printf "}\n" ) > 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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/conf/cf-parse.tab.o -c obj/conf/cf-parse.tab.c In file included from conf/confbase.Y:24: 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == conf/confbase.Y:345:21: warning: allocation of insufficient size '16' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 345 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_vpn4)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ conf/confbase.Y:357:21: warning: allocation of insufficient size '16' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 357 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_roa4)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ conf/confbase.Y:373:21: warning: allocation of insufficient size '12' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 373 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_eth)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ conf/confbase.Y:379:21: warning: allocation of insufficient size '12' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 379 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_eth)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ conf/confbase.Y:385:21: warning: allocation of insufficient size '8' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 385 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_mpls)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ conf/confbase.Y:391:21: warning: allocation of insufficient size '8' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 391 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_aspa)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ nest/config.Y:799:23: warning: allocation of insufficient size '16' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 799 | (yyval.net_ptr) = cfg_alloc(sizeof(net_addr_vpn4)); | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ proto/bfd/config.Y:237:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 237 | { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 237 | { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 195 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 195 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 198 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 198 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 201 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 201 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:204:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 204 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:204:3: note: place parentheses around the assignment to silence this warning 204 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:204:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 516 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 516 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 519 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 519 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 522 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 522 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/radv/config.Y:206:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 206 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_radv, p) radv_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/config.Y:206:3: note: place parentheses around the assignment to silence this warning 206 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_radv, p) radv_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/radv/config.Y:206:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 200 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 200 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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] 203 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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 203 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #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:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/static/config.Y:207:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 207 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/static/config.Y:207:3: note: place parentheses around the assignment to silence this warning 207 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } | ^ | ( ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/static/config.Y:207:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:304:64: note: expanded from macro 'PROTO_WALK_CMD' 304 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ 20 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 -DBIRD_VERSION='"2.20.0"' -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:24: 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/filter/filter.o -c filter/filter.c In file included from filter/filter.c:206: filter/f-inst.c:1018:21: warning: allocation of insufficient size '20' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 1018 | net_addr *src = falloc(sizeof(net_addr_ip6)); | ^ filter/filter.c:201:23: note: expanded from macro 'falloc' 201 | #define falloc(size) lp_alloc(fs->pool, size) | ^ In file included from filter/filter.c:206: filter/f-inst.c:1054:21: warning: allocation of insufficient size '20' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 1054 | net_addr *dst = falloc(sizeof(net_addr_ip6)); | ^ filter/filter.c:201:23: note: expanded from macro 'falloc' 201 | #define falloc(size) lp_alloc(fs->pool, size) | ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 247 | HASH_REMOVE(ca_hash, CA, cas); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 79 | 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' 79 | if (_n = *_nn) \ | ^ 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 287 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:287:17: note: place parentheses around the assignment to silence this warning 287 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:287:17: note: use '==' to turn this assignment into an equality comparison 287 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:288:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 288 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:288:17: note: place parentheses around the assignment to silence this warning 288 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:288:17: note: use '==' to turn this assignment into an equality comparison 288 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:292:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 292 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:292:17: note: place parentheses around the assignment to silence this warning 292 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:292:17: note: use '==' to turn this assignment into an equality comparison 292 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:293:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 293 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:293:17: note: place parentheses around the assignment to silence this warning 293 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:293:17: note: use '==' to turn this assignment into an equality comparison 293 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:297:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 297 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:297:17: note: place parentheses around the assignment to silence this warning 297 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:297:17: note: use '==' to turn this assignment into an equality comparison 297 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:298:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 298 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:298:17: note: place parentheses around the assignment to silence this warning 298 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:298:17: note: use '==' to turn this assignment into an equality comparison 298 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:302:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 302 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:302:17: note: place parentheses around the assignment to silence this warning 302 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:302:17: note: use '==' to turn this assignment into an equality comparison 302 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:303:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 303 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:303:17: note: place parentheses around the assignment to silence this warning 303 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:303:17: note: use '==' to turn this assignment into an equality comparison 303 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:308:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 308 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:308:17: note: place parentheses around the assignment to silence this warning 308 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:308:17: note: use '==' to turn this assignment into an equality comparison 308 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:318:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 318 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:318:17: note: place parentheses around the assignment to silence this warning 318 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:318:17: note: use '==' to turn this assignment into an equality comparison 318 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:329:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 329 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:329:17: note: place parentheses around the assignment to silence this warning 329 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:329:17: note: use '==' to turn this assignment into an equality comparison 329 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:330:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 330 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:330:17: note: place parentheses around the assignment to silence this warning 330 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:330:17: note: use '==' to turn this assignment into an equality comparison 330 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:339:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 339 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:339:17: note: place parentheses around the assignment to silence this warning 339 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:339:17: note: use '==' to turn this assignment into an equality comparison 339 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:340:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 340 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:340:17: note: place parentheses around the assignment to silence this warning 340 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:340:17: note: use '==' to turn this assignment into an equality comparison 340 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:379:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 379 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:379:17: note: place parentheses around the assignment to silence this warning 379 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:379:17: note: use '==' to turn this assignment into an equality comparison 379 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:380:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 380 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:380:17: note: place parentheses around the assignment to silence this warning 380 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:380:17: note: use '==' to turn this assignment into an equality comparison 380 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:381:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 381 | } while (child3 = child3->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:381:17: note: place parentheses around the assignment to silence this warning 381 | } while (child3 = child3->next); | ^ | ( ) filter/f-inst.c:381:17: note: use '==' to turn this assignment into an equality comparison 381 | } while (child3 = child3->next); | ^ | == filter/f-inst.c:436:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 436 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:436:17: note: place parentheses around the assignment to silence this warning 436 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:436:17: note: use '==' to turn this assignment into an equality comparison 436 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:437:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 437 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:437:17: note: place parentheses around the assignment to silence this warning 437 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:437:17: note: use '==' to turn this assignment into an equality comparison 437 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:443:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 443 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:443:17: note: place parentheses around the assignment to silence this warning 443 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:443:17: note: use '==' to turn this assignment into an equality comparison 443 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 444 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:444:17: note: place parentheses around the assignment to silence this warning 444 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:444:17: note: use '==' to turn this assignment into an equality comparison 444 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:450:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 450 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:450:17: note: place parentheses around the assignment to silence this warning 450 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:450:17: note: use '==' to turn this assignment into an equality comparison 450 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 451 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:451:17: note: place parentheses around the assignment to silence this warning 451 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:451:17: note: use '==' to turn this assignment into an equality comparison 451 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:461:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 461 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:461:17: note: place parentheses around the assignment to silence this warning 461 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:461:17: note: use '==' to turn this assignment into an equality comparison 461 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:462:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 462 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:462:17: note: place parentheses around the assignment to silence this warning 462 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:462:17: note: use '==' to turn this assignment into an equality comparison 462 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:472:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 472 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:472:17: note: place parentheses around the assignment to silence this warning 472 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:472:17: note: use '==' to turn this assignment into an equality comparison 472 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:477:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 477 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:477:17: note: place parentheses around the assignment to silence this warning 477 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:477:17: note: use '==' to turn this assignment into an equality comparison 477 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:478:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 478 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:478:17: note: place parentheses around the assignment to silence this warning 478 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:478:17: note: use '==' to turn this assignment into an equality comparison 478 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:486:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 486 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:486:17: note: place parentheses around the assignment to silence this warning 486 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:486:17: note: use '==' to turn this assignment into an equality comparison 486 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:487:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 487 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:487:17: note: place parentheses around the assignment to silence this warning 487 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:487:17: note: use '==' to turn this assignment into an equality comparison 487 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:495:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 495 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:495:17: note: place parentheses around the assignment to silence this warning 495 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:495:17: note: use '==' to turn this assignment into an equality comparison 495 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:499:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 499 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:499:17: note: place parentheses around the assignment to silence this warning 499 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:499:17: note: use '==' to turn this assignment into an equality comparison 499 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:500:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 500 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:500:17: note: place parentheses around the assignment to silence this warning 500 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:500:17: note: use '==' to turn this assignment into an equality comparison 500 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:505:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 505 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:505:17: note: place parentheses around the assignment to silence this warning 505 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:505:17: note: use '==' to turn this assignment into an equality comparison 505 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:529:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 529 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:529:17: note: place parentheses around the assignment to silence this warning 529 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:529:17: note: use '==' to turn this assignment into an equality comparison 529 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:556:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 556 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:556:17: note: place parentheses around the assignment to silence this warning 556 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:556:17: note: use '==' to turn this assignment into an equality comparison 556 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:557:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 557 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:557:17: note: place parentheses around the assignment to silence this warning 557 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:557:17: note: use '==' to turn this assignment into an equality comparison 557 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:558:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 558 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:558:17: note: place parentheses around the assignment to silence this warning 558 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:558:17: note: use '==' to turn this assignment into an equality comparison 558 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:559:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 559 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:559:17: note: place parentheses around the assignment to silence this warning 559 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:559:17: note: use '==' to turn this assignment into an equality comparison 559 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:586:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 586 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:586:17: note: place parentheses around the assignment to silence this warning 586 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:586:17: note: use '==' to turn this assignment into an equality comparison 586 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:595:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 595 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:595:17: note: place parentheses around the assignment to silence this warning 595 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:595:17: note: use '==' to turn this assignment into an equality comparison 595 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:604:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 604 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:604:17: note: place parentheses around the assignment to silence this warning 604 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:604:17: note: use '==' to turn this assignment into an equality comparison 604 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:613:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 613 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:613:17: note: place parentheses around the assignment to silence this warning 613 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:613:17: note: use '==' to turn this assignment into an equality comparison 613 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:622:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 622 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:622:17: note: place parentheses around the assignment to silence this warning 622 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:622:17: note: use '==' to turn this assignment into an equality comparison 622 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:637:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 637 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:637:17: note: place parentheses around the assignment to silence this warning 637 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:637:17: note: use '==' to turn this assignment into an equality comparison 637 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:646:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 646 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:646:17: note: place parentheses around the assignment to silence this warning 646 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:646:17: note: use '==' to turn this assignment into an equality comparison 646 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:676:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 676 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:676:17: note: place parentheses around the assignment to silence this warning 676 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:676:17: note: use '==' to turn this assignment into an equality comparison 676 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:715:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 715 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:715:17: note: place parentheses around the assignment to silence this warning 715 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:715:17: note: use '==' to turn this assignment into an equality comparison 715 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:861:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 861 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:861:17: note: place parentheses around the assignment to silence this warning 861 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:861:17: note: use '==' to turn this assignment into an equality comparison 861 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:919:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 919 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:919:17: note: place parentheses around the assignment to silence this warning 919 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:919:17: note: use '==' to turn this assignment into an equality comparison 919 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1007:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1007 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1007:17: note: place parentheses around the assignment to silence this warning 1007 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1007:17: note: use '==' to turn this assignment into an equality comparison 1007 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1008:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1008 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1008:17: note: place parentheses around the assignment to silence this warning 1008 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1008:17: note: use '==' to turn this assignment into an equality comparison 1008 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1009:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1009 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1009:17: note: place parentheses around the assignment to silence this warning 1009 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1009:17: note: use '==' to turn this assignment into an equality comparison 1009 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1010:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1010 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1010:17: note: place parentheses around the assignment to silence this warning 1010 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1010:17: note: use '==' to turn this assignment into an equality comparison 1010 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1011:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1011 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1011:17: note: place parentheses around the assignment to silence this warning 1011 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1011:17: note: use '==' to turn this assignment into an equality comparison 1011 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1014:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1014 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1014:17: note: place parentheses around the assignment to silence this warning 1014 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1014:17: note: use '==' to turn this assignment into an equality comparison 1014 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1018:21: warning: allocation of insufficient size '20' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 1018 | net_addr *src = falloc(sizeof(net_addr_ip6)); | ^ filter/decl.m4:608:22: note: expanded from macro 'falloc' 608 | #define falloc(size) cfg_alloc(size) | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ filter/f-inst.c:1050:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1050 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1050:17: note: place parentheses around the assignment to silence this warning 1050 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1050:17: note: use '==' to turn this assignment into an equality comparison 1050 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1054:21: warning: allocation of insufficient size '20' for type 'net_addr' (aka 'struct net_addr') with size '24' [-Walloc-size] 1054 | net_addr *dst = falloc(sizeof(net_addr_ip6)); | ^ filter/decl.m4:608:22: note: expanded from macro 'falloc' 608 | #define falloc(size) cfg_alloc(size) | ^ ./conf/conf.h:107:25: note: expanded from macro 'cfg_alloc' 107 | #define cfg_alloc(size) lp_alloc(cfg_mem, size) | ^ filter/f-inst.c:1086:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1086 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1086:17: note: place parentheses around the assignment to silence this warning 1086 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1086:17: note: use '==' to turn this assignment into an equality comparison 1086 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1096:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1096 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1096:17: note: place parentheses around the assignment to silence this warning 1096 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1096:17: note: use '==' to turn this assignment into an equality comparison 1096 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1123:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1123 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1123:17: note: place parentheses around the assignment to silence this warning 1123 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1123:17: note: use '==' to turn this assignment into an equality comparison 1123 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1133:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1133 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1133:17: note: place parentheses around the assignment to silence this warning 1133 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1133:17: note: use '==' to turn this assignment into an equality comparison 1133 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1141:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1141 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1141:17: note: place parentheses around the assignment to silence this warning 1141 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1141:17: note: use '==' to turn this assignment into an equality comparison 1141 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1153:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1153 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1153:17: note: place parentheses around the assignment to silence this warning 1153 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1153:17: note: use '==' to turn this assignment into an equality comparison 1153 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1162:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1162 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1162:17: note: place parentheses around the assignment to silence this warning 1162 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1162:17: note: use '==' to turn this assignment into an equality comparison 1162 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1171:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1171 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1171:17: note: place parentheses around the assignment to silence this warning 1171 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1171:17: note: use '==' to turn this assignment into an equality comparison 1171 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1183:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1183 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1183:17: note: place parentheses around the assignment to silence this warning 1183 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1183:17: note: use '==' to turn this assignment into an equality comparison 1183 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1213:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1213 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1213:17: note: place parentheses around the assignment to silence this warning 1213 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1213:17: note: use '==' to turn this assignment into an equality comparison 1213 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1235:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1235 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1235:17: note: place parentheses around the assignment to silence this warning 1235 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1235:17: note: use '==' to turn this assignment into an equality comparison 1235 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1238:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1238 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1238:17: note: place parentheses around the assignment to silence this warning 1238 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1238:17: note: use '==' to turn this assignment into an equality comparison 1238 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1241:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1241 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1241:17: note: place parentheses around the assignment to silence this warning 1241 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1241:17: note: use '==' to turn this assignment into an equality comparison 1241 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1244:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1244 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1244:17: note: place parentheses around the assignment to silence this warning 1244 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1244:17: note: use '==' to turn this assignment into an equality comparison 1244 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1247:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1247 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1247:17: note: place parentheses around the assignment to silence this warning 1247 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1247:17: note: use '==' to turn this assignment into an equality comparison 1247 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1250:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1250 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1250:17: note: place parentheses around the assignment to silence this warning 1250 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1250:17: note: use '==' to turn this assignment into an equality comparison 1250 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1253:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1253 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1253:17: note: place parentheses around the assignment to silence this warning 1253 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1253:17: note: use '==' to turn this assignment into an equality comparison 1253 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1256:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1256 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1256:17: note: place parentheses around the assignment to silence this warning 1256 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1256:17: note: use '==' to turn this assignment into an equality comparison 1256 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1259:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1259 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1259:17: note: place parentheses around the assignment to silence this warning 1259 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1259:17: note: use '==' to turn this assignment into an equality comparison 1259 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1262:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1262 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1262:17: note: place parentheses around the assignment to silence this warning 1262 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1262:17: note: use '==' to turn this assignment into an equality comparison 1262 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1265:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1265 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1265:17: note: place parentheses around the assignment to silence this warning 1265 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1265:17: note: use '==' to turn this assignment into an equality comparison 1265 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1268:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1268 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1268:17: note: place parentheses around the assignment to silence this warning 1268 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1268:17: note: use '==' to turn this assignment into an equality comparison 1268 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1271:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1271 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1271:17: note: place parentheses around the assignment to silence this warning 1271 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1271:17: note: use '==' to turn this assignment into an equality comparison 1271 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1274:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1274 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1274:17: note: place parentheses around the assignment to silence this warning 1274 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1274:17: note: use '==' to turn this assignment into an equality comparison 1274 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1279:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1279 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1279:17: note: place parentheses around the assignment to silence this warning 1279 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1279:17: note: use '==' to turn this assignment into an equality comparison 1279 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1363:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1363 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1363:17: note: place parentheses around the assignment to silence this warning 1363 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1363:17: note: use '==' to turn this assignment into an equality comparison 1363 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1367:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1367 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1367:17: note: place parentheses around the assignment to silence this warning 1367 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1367:17: note: use '==' to turn this assignment into an equality comparison 1367 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1411:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1411 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1411:17: note: place parentheses around the assignment to silence this warning 1411 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1411:17: note: use '==' to turn this assignment into an equality comparison 1411 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1412:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1412 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1412:17: note: place parentheses around the assignment to silence this warning 1412 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1412:17: note: use '==' to turn this assignment into an equality comparison 1412 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1420:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1420 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1420:17: note: place parentheses around the assignment to silence this warning 1420 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1420:17: note: use '==' to turn this assignment into an equality comparison 1420 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1421:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1421 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1421:17: note: place parentheses around the assignment to silence this warning 1421 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1421:17: note: use '==' to turn this assignment into an equality comparison 1421 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1428:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1428 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1428:17: note: place parentheses around the assignment to silence this warning 1428 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1428:17: note: use '==' to turn this assignment into an equality comparison 1428 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1429:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1429 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1429:17: note: place parentheses around the assignment to silence this warning 1429 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1429:17: note: use '==' to turn this assignment into an equality comparison 1429 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1436:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1436 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1436:17: note: place parentheses around the assignment to silence this warning 1436 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1436:17: note: use '==' to turn this assignment into an equality comparison 1436 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1437:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1437 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1437:17: note: place parentheses around the assignment to silence this warning 1437 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1437:17: note: use '==' to turn this assignment into an equality comparison 1437 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1444 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1444:17: note: place parentheses around the assignment to silence this warning 1444 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1444:17: note: use '==' to turn this assignment into an equality comparison 1444 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1445:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1445 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1445:17: note: place parentheses around the assignment to silence this warning 1445 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1445:17: note: use '==' to turn this assignment into an equality comparison 1445 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1452:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1452 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1452:17: note: place parentheses around the assignment to silence this warning 1452 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1452:17: note: use '==' to turn this assignment into an equality comparison 1452 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1453:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1453 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1453:17: note: place parentheses around the assignment to silence this warning 1453 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1453:17: note: use '==' to turn this assignment into an equality comparison 1453 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1459:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1459 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1459:17: note: place parentheses around the assignment to silence this warning 1459 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1459:17: note: use '==' to turn this assignment into an equality comparison 1459 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1460:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1460 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1460:17: note: place parentheses around the assignment to silence this warning 1460 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1460:17: note: use '==' to turn this assignment into an equality comparison 1460 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1473:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1473 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1473:17: note: place parentheses around the assignment to silence this warning 1473 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1473:17: note: use '==' to turn this assignment into an equality comparison 1473 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1474:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1474 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1474:17: note: place parentheses around the assignment to silence this warning 1474 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1474:17: note: use '==' to turn this assignment into an equality comparison 1474 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1480:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1480 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1480:17: note: place parentheses around the assignment to silence this warning 1480 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1480:17: note: use '==' to turn this assignment into an equality comparison 1480 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1481:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1481 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1481:17: note: place parentheses around the assignment to silence this warning 1481 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1481:17: note: use '==' to turn this assignment into an equality comparison 1481 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1487:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1487 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1487:17: note: place parentheses around the assignment to silence this warning 1487 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1487:17: note: use '==' to turn this assignment into an equality comparison 1487 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1488:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1488 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1488:17: note: place parentheses around the assignment to silence this warning 1488 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1488:17: note: use '==' to turn this assignment into an equality comparison 1488 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1494:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1494 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1494:17: note: place parentheses around the assignment to silence this warning 1494 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1494:17: note: use '==' to turn this assignment into an equality comparison 1494 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1495:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1495 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1495:17: note: place parentheses around the assignment to silence this warning 1495 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1495:17: note: use '==' to turn this assignment into an equality comparison 1495 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1501:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1501 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1501:17: note: place parentheses around the assignment to silence this warning 1501 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1501:17: note: use '==' to turn this assignment into an equality comparison 1501 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1502:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1502 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1502:17: note: place parentheses around the assignment to silence this warning 1502 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1502:17: note: use '==' to turn this assignment into an equality comparison 1502 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1508:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1508 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1508:17: note: place parentheses around the assignment to silence this warning 1508 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1508:17: note: use '==' to turn this assignment into an equality comparison 1508 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1509:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1509 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1509:17: note: place parentheses around the assignment to silence this warning 1509 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1509:17: note: use '==' to turn this assignment into an equality comparison 1509 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1515:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1515 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1515:17: note: place parentheses around the assignment to silence this warning 1515 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1515:17: note: use '==' to turn this assignment into an equality comparison 1515 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1516:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1516 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1516:17: note: place parentheses around the assignment to silence this warning 1516 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1516:17: note: use '==' to turn this assignment into an equality comparison 1516 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1522:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1522 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1522:17: note: place parentheses around the assignment to silence this warning 1522 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1522:17: note: use '==' to turn this assignment into an equality comparison 1522 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1523:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1523 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1523:17: note: place parentheses around the assignment to silence this warning 1523 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1523:17: note: use '==' to turn this assignment into an equality comparison 1523 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1534:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1534 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1534:17: note: place parentheses around the assignment to silence this warning 1534 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1534:17: note: use '==' to turn this assignment into an equality comparison 1534 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1535:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1535 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1535:17: note: place parentheses around the assignment to silence this warning 1535 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1535:17: note: use '==' to turn this assignment into an equality comparison 1535 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1542:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1542 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1542:17: note: place parentheses around the assignment to silence this warning 1542 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1542:17: note: use '==' to turn this assignment into an equality comparison 1542 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1543:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1543 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1543:17: note: place parentheses around the assignment to silence this warning 1543 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1543:17: note: use '==' to turn this assignment into an equality comparison 1543 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1549:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1549 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1549:17: note: place parentheses around the assignment to silence this warning 1549 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1549:17: note: use '==' to turn this assignment into an equality comparison 1549 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1550:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1550 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1550:17: note: place parentheses around the assignment to silence this warning 1550 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1550:17: note: use '==' to turn this assignment into an equality comparison 1550 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1563:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1563 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1563:17: note: place parentheses around the assignment to silence this warning 1563 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1563:17: note: use '==' to turn this assignment into an equality comparison 1563 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1564:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1564 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1564:17: note: place parentheses around the assignment to silence this warning 1564 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1564:17: note: use '==' to turn this assignment into an equality comparison 1564 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1570:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1570 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1570:17: note: place parentheses around the assignment to silence this warning 1570 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1570:17: note: use '==' to turn this assignment into an equality comparison 1570 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1571:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1571 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1571:17: note: place parentheses around the assignment to silence this warning 1571 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1571:17: note: use '==' to turn this assignment into an equality comparison 1571 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1577:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1577 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1577:17: note: place parentheses around the assignment to silence this warning 1577 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1577:17: note: use '==' to turn this assignment into an equality comparison 1577 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1578:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1578 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1578:17: note: place parentheses around the assignment to silence this warning 1578 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1578:17: note: use '==' to turn this assignment into an equality comparison 1578 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1588:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1588 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1588:17: note: place parentheses around the assignment to silence this warning 1588 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1588:17: note: use '==' to turn this assignment into an equality comparison 1588 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1589:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1589 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1589:17: note: place parentheses around the assignment to silence this warning 1589 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1589:17: note: use '==' to turn this assignment into an equality comparison 1589 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1595:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1595 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1595:17: note: place parentheses around the assignment to silence this warning 1595 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1595:17: note: use '==' to turn this assignment into an equality comparison 1595 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1596:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1596 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1596:17: note: place parentheses around the assignment to silence this warning 1596 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1596:17: note: use '==' to turn this assignment into an equality comparison 1596 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1602:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1602 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1602:17: note: place parentheses around the assignment to silence this warning 1602 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1602:17: note: use '==' to turn this assignment into an equality comparison 1602 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1603:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1603 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1603:17: note: place parentheses around the assignment to silence this warning 1603 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1603:17: note: use '==' to turn this assignment into an equality comparison 1603 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1613:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1613 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1613:17: note: place parentheses around the assignment to silence this warning 1613 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1613:17: note: use '==' to turn this assignment into an equality comparison 1613 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1614:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1614 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1614:17: note: place parentheses around the assignment to silence this warning 1614 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1614:17: note: use '==' to turn this assignment into an equality comparison 1614 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1620:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1620 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1620:17: note: place parentheses around the assignment to silence this warning 1620 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1620:17: note: use '==' to turn this assignment into an equality comparison 1620 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1621:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1621 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1621:17: note: place parentheses around the assignment to silence this warning 1621 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1621:17: note: use '==' to turn this assignment into an equality comparison 1621 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1627:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1627 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1627:17: note: place parentheses around the assignment to silence this warning 1627 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1627:17: note: use '==' to turn this assignment into an equality comparison 1627 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1628:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1628 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1628:17: note: place parentheses around the assignment to silence this warning 1628 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1628:17: note: use '==' to turn this assignment into an equality comparison 1628 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1638:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1638 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1638:17: note: place parentheses around the assignment to silence this warning 1638 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1638:17: note: use '==' to turn this assignment into an equality comparison 1638 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1639:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1639 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1639:17: note: place parentheses around the assignment to silence this warning 1639 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1639:17: note: use '==' to turn this assignment into an equality comparison 1639 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1649:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1649 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1649:17: note: place parentheses around the assignment to silence this warning 1649 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1649:17: note: use '==' to turn this assignment into an equality comparison 1649 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1650:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1650 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1650:17: note: place parentheses around the assignment to silence this warning 1650 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1650:17: note: use '==' to turn this assignment into an equality comparison 1650 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1656:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1656 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1656:17: note: place parentheses around the assignment to silence this warning 1656 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1656:17: note: use '==' to turn this assignment into an equality comparison 1656 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1657:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1657 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1657:17: note: place parentheses around the assignment to silence this warning 1657 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1657:17: note: use '==' to turn this assignment into an equality comparison 1657 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1667:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1667 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1667:17: note: place parentheses around the assignment to silence this warning 1667 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1667:17: note: use '==' to turn this assignment into an equality comparison 1667 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1668:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1668 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1668:17: note: place parentheses around the assignment to silence this warning 1668 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1668:17: note: use '==' to turn this assignment into an equality comparison 1668 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1674:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1674 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1674:17: note: place parentheses around the assignment to silence this warning 1674 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1674:17: note: use '==' to turn this assignment into an equality comparison 1674 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1675:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1675 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1675:17: note: place parentheses around the assignment to silence this warning 1675 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1675:17: note: use '==' to turn this assignment into an equality comparison 1675 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1685:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1685 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1685:17: note: place parentheses around the assignment to silence this warning 1685 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1685:17: note: use '==' to turn this assignment into an equality comparison 1685 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1686:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1686 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1686:17: note: place parentheses around the assignment to silence this warning 1686 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1686:17: note: use '==' to turn this assignment into an equality comparison 1686 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1692:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1692 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1692:17: note: place parentheses around the assignment to silence this warning 1692 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1692:17: note: use '==' to turn this assignment into an equality comparison 1692 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1693:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1693 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1693:17: note: place parentheses around the assignment to silence this warning 1693 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1693:17: note: use '==' to turn this assignment into an equality comparison 1693 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1734:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1734 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1734:17: note: place parentheses around the assignment to silence this warning 1734 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1734:17: note: use '==' to turn this assignment into an equality comparison 1734 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1735:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1735 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1735:17: note: place parentheses around the assignment to silence this warning 1735 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1735:17: note: use '==' to turn this assignment into an equality comparison 1735 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1756:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1756 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1756:17: note: place parentheses around the assignment to silence this warning 1756 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1756:17: note: use '==' to turn this assignment into an equality comparison 1756 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1757:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1757 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1757:17: note: place parentheses around the assignment to silence this warning 1757 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1757:17: note: use '==' to turn this assignment into an equality comparison 1757 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1771:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1771 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1771:17: note: place parentheses around the assignment to silence this warning 1771 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1771:17: note: use '==' to turn this assignment into an equality comparison 1771 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1786:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1786 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1786:17: note: place parentheses around the assignment to silence this warning 1786 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1786:17: note: use '==' to turn this assignment into an equality comparison 1786 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1792:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1792 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1792:17: note: place parentheses around the assignment to silence this warning 1792 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1792:17: note: use '==' to turn this assignment into an equality comparison 1792 | } while (child1 = child1->next); | ^ | == 161 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/lib/evpn.o -c lib/evpn.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 202 | while (c = m->first_large) | ~~^~~~~~~~~~~~~~~~ lib/mempool.c:202:12: note: place parentheses around the assignment to silence this warning 202 | while (c = m->first_large) | ^ | ( ) lib/mempool.c:202:12: note: use '==' to turn this assignment into an equality comparison 202 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/lib/pubsub.o -c lib/pubsub.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/lib/resource.o -c lib/resource.c lib/resource.c:94:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 94 | while (rr = (resource *) r->n.next) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ lib/resource.c:94:13: note: place parentheses around the assignment to silence this warning 94 | while (rr = (resource *) r->n.next) | ^ | ( ) lib/resource.c:94:13: note: use '==' to turn this assignment into an equality comparison 94 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/lib/slab.o -c lib/slab.c In file included from lib/slab.c:176: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 97 | if (node->TLIST_ITEM.next = list->first) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning 97 | if (node->TLIST_ITEM.next = list->first) | ^ | ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison 97 | if (node->TLIST_ITEM.next = list->first) | ^ | == lib/slab.c:277:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 277 | if (h = s->empty_heads.first) | ~~^~~~~~~~~~~~~~~~~~~~~~ lib/slab.c:277:9: note: place parentheses around the assignment to silence this warning 277 | if (h = s->empty_heads.first) | ^ | ( ) lib/slab.c:277:9: note: use '==' to turn this assignment into an equality comparison 277 | 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 -DBIRD_VERSION='"2.20.0"' -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] 76 | if (f = n->readers) | ~~^~~~~~~~~~~~ lib/slists.c:76:9: note: place parentheses around the assignment to silence this warning 76 | if (f = n->readers) | ^ | ( ) lib/slists.c:76:9: note: use '==' to turn this assignment into an equality comparison 76 | if (f = n->readers) | ^ | == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/lib/timer.o -c lib/timer.c lib/timer.c:209:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 209 | while (t = timers_first(loop)) | ~~^~~~~~~~~~~~~~~~~~~~ lib/timer.c:209:12: note: place parentheses around the assignment to silence this warning 209 | while (t = timers_first(loop)) | ^ | ( ) lib/timer.c:209:12: note: use '==' to turn this assignment into an equality comparison 209 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 209 | if (o = c->tx_buf) | ~~^~~~~~~~~~~ nest/cli.c:209:9: note: place parentheses around the assignment to silence this warning 209 | if (o = c->tx_buf) | ^ | ( ) nest/cli.c:209:9: note: use '==' to turn this assignment into an equality comparison 209 | if (o = c->tx_buf) | ^ | == nest/cli.c:212:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 212 | while (p = o->next) | ~~^~~~~~~~~ nest/cli.c:212:16: note: place parentheses around the assignment to silence this warning 212 | while (p = o->next) | ^ | ( ) nest/cli.c:212:16: note: use '==' to turn this assignment into an equality comparison 212 | while (p = o->next) | ^ | == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/iface.c:391:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 391 | WALK_LIST_DELSAFE(a, b, i->addrs) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/iface.c:391:4: note: place parentheses around the assignment to silence this warning 391 | WALK_LIST_DELSAFE(a, b, i->addrs) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/iface.c:391:4: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 254 | WALK_LIST_DELSAFE(r, r2, old_ranges) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 254 | WALK_LIST_DELSAFE(r, r2, old_ranges) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 335 | WALK_LIST_DELSAFE(m, m2, old_domains) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 335 | WALK_LIST_DELSAFE(m, m2, old_domains) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 964 | HASH_REMOVE2(m->net_hash, NET, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:969:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 969 | HASH_REMOVE2(m->rta_hash, RTA, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ nest/mpls.c:995:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 995 | HASH_REMOVE2(m->label_hash, LABEL, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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] 548 | WALK_LIST_DELSAFE(n, m, neigh_hash_table[i]) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 548 | WALK_LIST_DELSAFE(n, m, neigh_hash_table[i]) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/proto.c:1491:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1491 | WALK_LIST_DELSAFE(p, n, proto_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/proto.c:1491:3: note: place parentheses around the assignment to silence this warning 1491 | WALK_LIST_DELSAFE(p, n, proto_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:1491:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:1814:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1814 | WALK_LIST_DELSAFE(p, p_next, proto_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/proto.c:1814:3: note: place parentheses around the assignment to silence this warning 1814 | WALK_LIST_DELSAFE(p, p_next, proto_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/proto.c:1814:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == nest/rt-attr.c:156:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 156 | HASH_WALK_FILTER(src_hash, next, src, sp) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ~~^~~~~ nest/rt-attr.c:156:3: note: place parentheses around the assignment to silence this warning 156 | HASH_WALK_FILTER(src_hash, next, src, sp) | ^ | ( ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ^ nest/rt-attr.c:156:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ^ nest/rt-attr.c:985:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 985 | else if (p = class_to_protocol[EA_PROTO(e->id)]) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:985:14: note: place parentheses around the assignment to silence this warning 985 | else if (p = class_to_protocol[EA_PROTO(e->id)]) | ^ | ( ) nest/rt-attr.c:985:14: note: use '==' to turn this assignment into an equality comparison 985 | else if (p = class_to_protocol[EA_PROTO(e->id)]) | ^ | == nest/rt-attr.c:1091:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1091 | if (e = e->next) | ~~^~~~~~~~~ nest/rt-attr.c:1091:13: note: place parentheses around the assignment to silence this warning 1091 | if (e = e->next) | ^ | ( ) nest/rt-attr.c:1091:13: note: use '==' to turn this assignment into an equality comparison 1091 | if (e = e->next) | ^ | == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 190 | while (e = x) | ~~^~~ nest/rt-fib.c:190:16: note: place parentheses around the assignment to silence this warning 190 | while (e = x) | ^ | ( ) nest/rt-fib.c:190:16: note: use '==' to turn this assignment into an equality comparison 190 | while (e = x) | ^ | == nest/rt-fib.c:471:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 471 | if (it = e->readers) | ~~~^~~~~~~~~~~~ nest/rt-fib.c:471:11: note: place parentheses around the assignment to silence this warning 471 | if (it = e->readers) | ^ | ( ) nest/rt-fib.c:471:11: note: use '==' to turn this assignment into an equality comparison 471 | if (it = e->readers) | ^ | == nest/rt-fib.c:521:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 521 | if (n = f->hash_table[h]) | ~~^~~~~~~~~~~~~~~~~~ nest/rt-fib.c:521:11: note: place parentheses around the assignment to silence this warning 521 | if (n = f->hash_table[h]) | ^ | ( ) nest/rt-fib.c:521:11: note: use '==' to turn this assignment into an equality comparison 521 | if (n = f->hash_table[h]) | ^ | == nest/rt-fib.c:524:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 524 | if (i->next = n->readers) | ~~~~~~~~^~~~~~~~~~~~ nest/rt-fib.c:524:14: note: place parentheses around the assignment to silence this warning 524 | if (i->next = n->readers) | ^ | ( ) nest/rt-fib.c:524:14: note: use '==' to turn this assignment into an equality comparison 524 | if (i->next = n->readers) | ^ | == nest/rt-fib.c:556:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 556 | if (k = i->next) | ~~^~~~~~~~~ nest/rt-fib.c:556:9: note: place parentheses around the assignment to silence this warning 556 | if (k = i->next) | ^ | ( ) nest/rt-fib.c:556:9: note: use '==' to turn this assignment into an equality comparison 556 | if (k = i->next) | ^ | == nest/rt-fib.c:569:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 569 | if (j = n->readers) | ~~^~~~~~~~~~~~ nest/rt-fib.c:569:9: note: place parentheses around the assignment to silence this warning 569 | if (j = n->readers) | ^ | ( ) nest/rt-fib.c:569:9: note: use '==' to turn this assignment into an equality comparison 569 | if (j = n->readers) | ^ | == nest/rt-fib.c:579:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 579 | if (n = n->next) | ~~^~~~~~~~~ nest/rt-fib.c:579:9: note: place parentheses around the assignment to silence this warning 579 | if (n = n->next) | ^ | ( ) nest/rt-fib.c:579:9: note: use '==' to turn this assignment into an equality comparison 579 | if (n = n->next) | ^ | == nest/rt-fib.c:583:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 583 | if (n = f->hash_table[hpos]) | ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-fib.c:583:11: note: place parentheses around the assignment to silence this warning 583 | if (n = f->hash_table[hpos]) | ^ | ( ) nest/rt-fib.c:583:11: note: use '==' to turn this assignment into an equality comparison 583 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 417 | WALK_LIST_DELSAFE(tab, tabx, d->tables) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 417 | WALK_LIST_DELSAFE(tab, tabx, d->tables) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -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] 249 | case NET_IP4: TW(4, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | 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] 250 | case NET_VPN4: TW(4, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | 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' 242 | 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] 251 | case NET_IP6: TW(6, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | 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] 252 | case NET_VPN6: TW(6, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:230:5: note: expanded from macro 'TW' 230 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | 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' 242 | 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] 261 | case NET_IP4: FW(4, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | 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] 262 | case NET_VPN4: FW(4, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | 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' 242 | 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] 263 | case NET_IP6: FW(6, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:242:19: note: expanded from macro 'FVR_IP' 242 | 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] 264 | case NET_VPN6: FW(6, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:236:5: note: expanded from macro 'FW' 236 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:245:90: note: expanded from macro 'FVR_VPN' 245 | 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' 242 | 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:731:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 731 | if (better = new->src->proto->rte_better) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:731:14: note: place parentheses around the assignment to silence this warning 731 | if (better = new->src->proto->rte_better) | ^ | ( ) nest/rt-table.c:731:14: note: use '==' to turn this assignment into an equality comparison 731 | if (better = new->src->proto->rte_better) | ^ | == nest/rt-table.c:750:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 750 | if (mergable = pri->src->proto->rte_mergable) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:750:16: note: place parentheses around the assignment to silence this warning 750 | if (mergable = pri->src->proto->rte_mergable) | ^ | ( ) nest/rt-table.c:750:16: note: use '==' to turn this assignment into an equality comparison 750 | if (mergable = pri->src->proto->rte_mergable) | ^ | == nest/rt-table.c:978:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 978 | if (new_best = export_filter(c, r, &new_free, 0)) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:978:20: note: place parentheses around the assignment to silence this warning 978 | if (new_best = export_filter(c, r, &new_free, 0)) | ^ | ( ) nest/rt-table.c:978:20: note: use '==' to turn this assignment into an equality comparison 978 | if (new_best = export_filter(c, r, &new_free, 0)) | ^ | == nest/rt-table.c:1318:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1318 | while (old = *k) | ~~~~^~~~ nest/rt-table.c:1318:14: note: place parentheses around the assignment to silence this warning 1318 | while (old = *k) | ^ | ( ) nest/rt-table.c:1318:14: note: use '==' to turn this assignment into an equality comparison 1318 | while (old = *k) | ^ | == nest/rt-table.c:1756:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1756 | if (nn = net_find(c->table, n)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1756:10: note: place parentheses around the assignment to silence this warning 1756 | if (nn = net_find(c->table, n)) | ^ | ( ) nest/rt-table.c:1756:10: note: use '==' to turn this assignment into an equality comparison 1756 | if (nn = net_find(c->table, n)) | ^ | == nest/rt-table.c:1851:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1851 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1851:3: note: place parentheses around the assignment to silence this warning 1851 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1851:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1877:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1877 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1877:3: note: place parentheses around the assignment to silence this warning 1877 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1877:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1898:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1898 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1898:3: note: place parentheses around the assignment to silence this warning 1898 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1898:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1943:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1943 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1943:3: note: place parentheses around the assignment to silence this warning 1943 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:1943:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ nest/rt-table.c:2636:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 2636 | else | ^ nest/rt-table.c:2844:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2844 | for (k = &n->routes; e = *k; k = &e->next) | ~~^~~~ nest/rt-table.c:2844:26: note: place parentheses around the assignment to silence this warning 2844 | for (k = &n->routes; e = *k; k = &e->next) | ^ | ( ) nest/rt-table.c:2844:26: note: use '==' to turn this assignment into an equality comparison 2844 | for (k = &n->routes; e = *k; k = &e->next) | ^ | == nest/rt-table.c:2878:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2878 | for (k = &n->routes; e = *k; k = &e->next) | ~~^~~~ nest/rt-table.c:2878:26: note: place parentheses around the assignment to silence this warning 2878 | for (k = &n->routes; e = *k; k = &e->next) | ^ | ( ) nest/rt-table.c:2878:26: note: use '==' to turn this assignment into an equality comparison 2878 | for (k = &n->routes; e = *k; k = &e->next) | ^ | == nest/rt-table.c:3208:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3208 | for (pos = &net->routes; old = *pos; pos = &old->next) | ~~~~^~~~~~ nest/rt-table.c:3208:32: note: place parentheses around the assignment to silence this warning 3208 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | ( ) nest/rt-table.c:3208:32: note: use '==' to turn this assignment into an equality comparison 3208 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | == nest/rt-table.c:3337:30: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3337 | if (c->reload_next_rte = n->routes) | ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~ nest/rt-table.c:3337:30: note: place parentheses around the assignment to silence this warning 3337 | if (c->reload_next_rte = n->routes) | ^ | ( ) nest/rt-table.c:3337:30: note: use '==' to turn this assignment into an equality comparison 3337 | if (c->reload_next_rte = n->routes) | ^ | == nest/rt-table.c:3375:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3375 | while (e = *ee) | ~~^~~~~ nest/rt-table.c:3375:14: note: place parentheses around the assignment to silence this warning 3375 | while (e = *ee) | ^ | ( ) nest/rt-table.c:3375:14: note: use '==' to turn this assignment into an equality comparison 3375 | while (e = *ee) | ^ | == nest/rt-table.c:3428:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3428 | for (pos = &net->routes; old = *pos; pos = &old->next) | ~~~~^~~~~~ nest/rt-table.c:3428:32: note: place parentheses around the assignment to silence this warning 3428 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | ( ) nest/rt-table.c:3428:32: note: use '==' to turn this assignment into an equality comparison 3428 | for (pos = &net->routes; old = *pos; pos = &old->next) | ^ | == nest/rt-table.c:3738:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3738 | WALK_LIST_DELSAFE(n, x, hc->hostentries) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ nest/rt-table.c:3738:3: note: place parentheses around the assignment to silence this warning 3738 | WALK_LIST_DELSAFE(n, x, hc->hostentries) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ nest/rt-table.c:3738:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/aggregator/aggregator.o -c proto/aggregator/aggregator.c proto/aggregator/aggregator.c:579:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 579 | if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/aggregator/aggregator.c:579:20: note: place parentheses around the assignment to silence this warning 579 | if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) | ^ | ( ) proto/aggregator/aggregator.c:579:20: note: use '==' to turn this assignment into an equality comparison 579 | if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) | ^ | == proto/aggregator/aggregator.c:616:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 616 | HASH_REMOVE2(p->routes, AGGR_RTE, p->p.pool, old_route); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:616:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:616:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:632:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 632 | HASH_REMOVE2(p->buckets, AGGR_BUCK, p->p.pool, old_bucket); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:632:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:632:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:729:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 729 | HASH_REMOVE(p->routes, AGGR_RTE, arte); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:729:7: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:729:7: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:735:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 735 | HASH_REMOVE(p->buckets, AGGR_BUCK, b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:735:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:735:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 547 | HASH_REMOVE(p->session_hash_id, HASH_ID, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 79 | 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' 79 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:548:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 548 | HASH_REMOVE(p->session_hash_ip, HASH_IP, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | 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' 79 | 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' 79 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:754:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 754 | WALK_LIST_DELSAFE(n, nn, bfd_wait_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:754:3: note: place parentheses around the assignment to silence this warning 754 | WALK_LIST_DELSAFE(n, nn, bfd_wait_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bfd/bfd.c:754:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 990 | WALK_LIST_DELSAFE(n, nn, s->request_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 990 | WALK_LIST_DELSAFE(n, nn, s->request_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/bfd/io.o -c proto/bfd/io.c proto/bfd/io.c:498:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 498 | else if (t = timers_first(&loop->time)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/io.c:498:16: note: place parentheses around the assignment to silence this warning 498 | else if (t = timers_first(&loop->time)) | ^ | ( ) proto/bfd/io.c:498:16: note: use '==' to turn this assignment into an equality comparison 498 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 137 | WALK_LIST_DELSAFE(n, nx, e->sources) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 137 | WALK_LIST_DELSAFE(n, nx, e->sources) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 244 | WALK_LIST_DELSAFE(r, rx, e->routes) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 244 | WALK_LIST_DELSAFE(r, rx, e->routes) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 412 | WALK_LIST_DELSAFE(sr, srx, e->requests) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 412 | WALK_LIST_DELSAFE(sr, srx, e->requests) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 534 | WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 534 | WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 1011 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1011 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 2179 | FIB_WALK(&p->ip4_rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 2179 | FIB_WALK(&p->ip4_rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2184:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2184 | FIB_WALK(&p->ip6_rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2184:3: note: place parentheses around the assignment to silence this warning 2184 | FIB_WALK(&p->ip6_rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2184:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2309:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2309 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2309:3: note: place parentheses around the assignment to silence this warning 2309 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2309:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2324:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2324 | else if (r = e->selected) | ~~^~~~~~~~~~~~~ proto/babel/babel.c:2324:16: note: place parentheses around the assignment to silence this warning 2324 | else if (r = e->selected) | ^ | ( ) proto/babel/babel.c:2324:16: note: use '==' to turn this assignment into an equality comparison 2324 | else if (r = e->selected) | ^ | == proto/babel/babel.c:2359:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2359 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2359:3: note: place parentheses around the assignment to silence this warning 2359 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2359:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/bgp/attrs.o -c proto/bgp/attrs.c proto/bgp/attrs.c:1741:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1741 | HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bgp/attrs.c:1741:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1741:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1835:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1835 | HASH_REMOVE2(c->prefix_hash, PXH, c->pool, px); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bgp/attrs.c:1835:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1835:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/bgp/bgp.o -c proto/bgp/bgp.c In file included from proto/bgp/bgp.c:124: 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/bgp/bgp.c:707:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 707 | WALK_LIST_DELSAFE(key, key2, old_keys) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:707:5: note: place parentheses around the assignment to silence this warning 707 | WALK_LIST_DELSAFE(key, key2, old_keys) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:707:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:2801:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2801 | if (tab = cf->c.global->def_tables[type]) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/bgp.c:2801:11: note: place parentheses around the assignment to silence this warning 2801 | if (tab = cf->c.global->def_tables[type]) | ^ | ( ) proto/bgp/bgp.c:2801:11: note: use '==' to turn this assignment into an equality comparison 2801 | if (tab = cf->c.global->def_tables[type]) | ^ | == proto/bgp/bgp.c:3000:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 3000 | else | ^ proto/bgp/bgp.c:3007:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 3007 | else | ^ proto/bgp/bgp.c:3188:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3188 | WALK_LIST_DELSAFE(C, C2, p->p.channels) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:3188:3: note: place parentheses around the assignment to silence this warning 3188 | WALK_LIST_DELSAFE(C, C2, p->p.channels) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bgp/bgp.c:3188:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/bmp/bmp.o -c proto/bmp/bmp.c In file included from proto/bmp/bmp.c:46: 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/bmp/bmp.c:370:39: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 370 | for (struct bmp_tx_buffer *btb; btb = p->tx_pending; ) | ~~~~^~~~~~~~~~~~~~~ proto/bmp/bmp.c:370:39: note: place parentheses around the assignment to silence this warning 370 | for (struct bmp_tx_buffer *btb; btb = p->tx_pending; ) | ^ | ( ) proto/bmp/bmp.c:370:39: note: use '==' to turn this assignment into an equality comparison 370 | for (struct bmp_tx_buffer *btb; btb = p->tx_pending; ) | ^ | == proto/bmp/bmp.c:572:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 572 | HASH_REMOVE(p->table_map, HASH_TABLE, bt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/bmp.c:572:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:572:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:632:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 632 | HASH_REMOVE(p->stream_map, HASH_STREAM, bs); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/bmp.c:632:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:632:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:678:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 678 | WALK_LIST_DELSAFE(bs, bs_next, bp->streams) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/bmp/bmp.c:678:3: note: place parentheses around the assignment to silence this warning 678 | WALK_LIST_DELSAFE(bs, bs_next, bp->streams) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bmp/bmp.c:678:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/bmp/bmp.c:681:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 681 | HASH_REMOVE(p->peer_map, HASH_PEER, bp); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/bmp.c:681:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:681:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/bmp/map.o -c proto/bmp/map.c proto/bmp/map.c:51:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 51 | HASH_DELETE(map->peer_hash, PEER, PEER_KEY(&entry->key)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:66:12: note: expanded from macro 'HASH_DELETE' 66 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/map.c:51:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:66:12: note: expanded from macro 'HASH_DELETE' 66 | if (_n = *_nn) \ | ^ proto/bmp/map.c:51:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:66:12: note: expanded from macro 'HASH_DELETE' 66 | if (_n = *_nn) \ | ^ proto/bmp/map.c:94:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 94 | = (void *) HASH_DELETE(map->peer_hash, PEER, PEER_KEY(&key)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:66:12: note: expanded from macro 'HASH_DELETE' 66 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/map.c:94:16: note: place parentheses around the assignment to silence this warning ./lib/hash.h:66:12: note: expanded from macro 'HASH_DELETE' 66 | if (_n = *_nn) \ | ^ proto/bmp/map.c:94:16: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:66:12: note: expanded from macro 'HASH_DELETE' 66 | if (_n = *_nn) \ | ^ proto/bmp/map.c:113:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 113 | HASH_WALK_FILTER(map->peer_hash, next, e, _) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ~~^~~~~ proto/bmp/map.c:113:3: note: place parentheses around the assignment to silence this warning 113 | HASH_WALK_FILTER(map->peer_hash, next, e, _) | ^ | ( ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ^ proto/bmp/map.c:113:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:193:34: note: expanded from macro 'HASH_WALK_FILTER' 193 | for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) | ^ 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/proto/evpn/evpn.o -c proto/evpn/evpn.c In file included from proto/evpn/evpn.c:45: 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/evpn/evpn.c:747:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 747 | HASH_REMOVE2(p->vlan_tag_hash, VLAN_TAG, p->p.pool, v); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/evpn/evpn.c:747:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/evpn/evpn.c:747:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/evpn/evpn.c:748:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 748 | HASH_REMOVE2(p->vlan_vid_hash, VLAN_VID, p->p.pool, v); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ~~~^~~~~~ proto/evpn/evpn.c:748:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/evpn/evpn.c:748:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:159:24: note: expanded from macro 'HASH_REMOVE2' 159 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:79:12: note: expanded from macro 'HASH_REMOVE' 79 | if (_n = *_nn) \ | ^ proto/evpn/evpn.c:875:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 875 | WALK_LIST_DELSAFE(v, v2, old_vlans) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/evpn/evpn.c:875:3: note: place parentheses around the assignment to silence this warning 875 | WALK_LIST_DELSAFE(v, v2, old_vlans) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/evpn/evpn.c:875:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 195 | 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 195 | 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 195 | 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] 516 | 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 516 | 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 516 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 267 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 267 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 791 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 791 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 910 | WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 910 | WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 1165 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 1165 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 1200 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 1200 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 1387 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 1387 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 173 | if (code = LOOKUP(opaque_lsa_types, id >> 24)) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/lsalib.c:173:16: note: place parentheses around the assignment to silence this warning 173 | if (code = LOOKUP(opaque_lsa_types, id >> 24)) | ^ | ( ) proto/ospf/lsalib.c:173:16: note: use '==' to turn this assignment into an equality comparison 173 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 439 | WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | 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 439 | WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) | ^ | ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | 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' 76 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 541 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 541 | WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 531 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 531 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 642 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 642 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 759 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 759 | WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 766 | WALK_LIST_DELSAFE(oa, oax, p->area_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 766 | WALK_LIST_DELSAFE(oa, oax, p->area_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 853 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 853 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 866 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 866 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/rt.c:1008:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] 1008 | if ((nf->n.oa->areaid == oa->areaid)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ proto/ospf/rt.c:1008:25: note: remove extraneous parentheses around the comparison to silence this warning 1008 | if ((nf->n.oa->areaid == oa->areaid)) | ~ ^ ~ proto/ospf/rt.c:1008:25: note: use '=' to turn this equality comparison into an assignment 1008 | 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] 1212 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1212 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1220 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1220 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1286 | FIB_WALK(&oa->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1286 | FIB_WALK(&oa->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1297 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1297 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1337 | FIB_WALK(&oa->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1337 | FIB_WALK(&oa->rtr, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1382 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1382 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1410 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1410 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1630 | FIB_WALK(&p->rtf, ort, ri) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1630 | FIB_WALK(&p->rtf, ort, ri) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1653 | FIB_WALK(&oa->rtr, ort, ri) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1653 | FIB_WALK(&oa->rtr, ort, ri) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1662 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1662 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 1669 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1669 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/ospf/topology.c:525:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 525 | WALK_SLIST_DELSAFE(en, nxt, p->lsal) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~~ proto/ospf/topology.c:525:3: note: place parentheses around the assignment to silence this warning 525 | WALK_SLIST_DELSAFE(en, nxt, p->lsal) | ^ | ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/topology.c:525:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' 76 | for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) | ^ proto/ospf/topology.c:1748:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1748 | if (en = ifa->link_lsa) | ~~~^~~~~~~~~~~~~~~ proto/ospf/topology.c:1748:10: note: place parentheses around the assignment to silence this warning 1748 | if (en = ifa->link_lsa) | ^ | ( ) proto/ospf/topology.c:1748:10: note: use '==' to turn this assignment into an equality comparison 1748 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/radv/packets.c:407:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 407 | FIB_WALK(&p->routes, struct radv_route, rt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/packets.c:407:5: note: place parentheses around the assignment to silence this warning 407 | FIB_WALK(&p->routes, struct radv_route, rt) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/radv/packets.c:407:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == proto/radv/radv.c:183:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 183 | WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/radv/radv.c:183:3: note: place parentheses around the assignment to silence this warning 183 | WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:183:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:206:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 206 | WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ~~~^~~~~~~~~~~~~ proto/radv/radv.c:206:3: note: place parentheses around the assignment to silence this warning 206 | WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:206:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) | ^ proto/radv/radv.c:288:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 288 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/radv.c:288:3: note: place parentheses around the assignment to silence this warning 288 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/radv/radv.c:288:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 265 | 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 265 | 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 265 | 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] 312 | 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 312 | 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 312 | 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] 411 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 411 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 922 | 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 922 | 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 922 | 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] 982 | WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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 982 | WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) | ^ | ( ./lib/lists.h:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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:57:24: note: expanded from macro 'WALK_LIST_DELSAFE' 57 | 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] 1325 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 1325 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -MMD -MP -o obj/sysdep/unix/io.o -c sysdep/unix/io.c In file included from sysdep/unix/io.c:45: 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | == sysdep/unix/io.c:1397:15: warning: 'ssh_is_server_known' is deprecated [-Wdeprecated-declarations] 1397 | switch (ssh_is_server_known(s->ssh->session)) | ^ /usr/local/include/libssh/libssh.h:596:1: note: 'ssh_is_server_known' has been explicitly marked deprecated here 596 | SSH_DEPRECATED LIBSSH_API int ssh_is_server_known(ssh_session session); | ^ /usr/local/include/libssh/libssh.h:82:40: note: expanded from macro 'SSH_DEPRECATED' 82 | #define SSH_DEPRECATED __attribute__ ((deprecated)) | ^ sysdep/unix/io.c:2073:7: warning: 'ssh_channel_select' is deprecated [-Wdeprecated-declarations] 2073 | if (ssh_channel_select(rchans, NULL, NULL, &timev) == SSH_EINTR) | ^ /usr/local/include/libssh/libssh.h:598:1: note: 'ssh_channel_select' has been explicitly marked deprecated here 598 | SSH_DEPRECATED LIBSSH_API int ssh_channel_select(ssh_channel *readchans, ssh_channel *writechans, ssh_channel *exceptchans, struct | ^ /usr/local/include/libssh/libssh.h:82:40: note: expanded from macro 'SSH_DEPRECATED' 82 | #define SSH_DEPRECATED __attribute__ ((deprecated)) | ^ sysdep/unix/io.c:2497:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2497 | if (t = timers_first(&main_timeloop)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io.c:2497:13: note: place parentheses around the assignment to silence this warning 2497 | if (t = timers_first(&main_timeloop)) | ^ | ( ) sysdep/unix/io.c:2497:13: note: use '==' to turn this assignment into an equality comparison 2497 | 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 -DBIRD_VERSION='"2.20.0"' -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] 340 | 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 340 | 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 340 | 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] 393 | while (e = *ee) | ~~^~~~~ sysdep/unix/krt.c:393:16: note: place parentheses around the assignment to silence this warning 393 | while (e = *ee) | ^ | ( ) sysdep/unix/krt.c:393:16: note: use '==' to turn this assignment into an equality comparison 393 | while (e = *ee) | ^ | == sysdep/unix/krt.c:453:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 453 | 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 453 | 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 453 | 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] 491 | 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 491 | 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 491 | 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] 563 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 563 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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] 733 | FIB_WALK(&t->fib, net, n) | ^~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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 733 | FIB_WALK(&t->fib, net, n) | ^ | ( ./nest/route.h:101:25: note: expanded from macro 'FIB_WALK' 101 | 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' 101 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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] 112 | if (node->TLIST_ITEM.prev = list->last) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning 112 | if (node->TLIST_ITEM.prev = list->last) | ^ | ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison 112 | 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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/evpn.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/pubsub.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/bmp/bmp.o obj/proto/bmp/map.o obj/proto/evpn/evpn.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:503 (conf/cf-lex.l:503)(obj/conf/cf-lex.o:(cf_include)): warning: sprintf() is often misused, please use snprintf() ld: warning: cf-lex.l:590 (conf/cf-lex.l:590)(obj/conf/cf-lex.o:(cf_new_symbol)): warning: strcpy() is almost always misused, please use strlcpy() ld: warning: perf.c:40 (proto/perf/perf.c:40)(obj/proto/perf/perf.o:(perf_loop)): 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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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 -DBIRD_VERSION='"2.20.0"' -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:104 (client/commands.c:104)(obj/client/commands.o:(cmd_do_display_help)): warning: sprintf() is often misused, please use snprintf() ld: warning: commands.c:227 (client/commands.c:227)(obj/client/commands.o:(cmd_complete)): warning: strcpy() is almost always misused, please use strlcpy() cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"2.20.0"' -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:104 (client/commands.c:104)(obj/client/commands.o:(cmd_do_display_help)): warning: sprintf() is often misused, please use snprintf() ld: warning: commands.c:227 (client/commands.c:227)(obj/client/commands.o:(cmd_complete)): warning: strcpy() is almost always misused, please use strlcpy() >>> Running package in net/bird/2 at 1793163682.14 ===> net/bird/2 ===> Faking installation for bird-2.20.0 /exopi-obj/pobj/bird-2.20.0/bin/install -c -d /exopi-obj/pobj/bird-2.20.0/fake-amd64//usr/local/sbin /exopi-obj/pobj/bird-2.20.0/fake-amd64//usr/local/share/examples/bird /exopi-obj/pobj/bird-2.20.0/fake-amd64//var/run for BIN in bird birdcl birdc ; do \ /exopi-obj/pobj/bird-2.20.0/bin/install -c -m 755 ./$BIN /exopi-obj/pobj/bird-2.20.0/fake-amd64//usr/local/sbin/$BIN ; \ done if ! test -f /exopi-obj/pobj/bird-2.20.0/fake-amd64//usr/local/share/examples/bird/bird.conf ; then \ /exopi-obj/pobj/bird-2.20.0/bin/install -c -m 644 ./doc/bird.conf.example /exopi-obj/pobj/bird-2.20.0/fake-amd64//usr/local/share/examples/bird/bird.conf ; \ else \ echo "Not overwriting old bird.conf" ; \ fi /exopi-obj/pobj/bird-2.20.0/bin/install -d -m 755 /exopi-obj/pobj/bird-2.20.0/fake-amd64/usr/local/share/doc/bird /exopi-obj/pobj/bird-2.20.0/bin/install -c -m 644 /exopi-obj/pobj/bird-2.20.0/bird-doc-*/doc/* /exopi-obj/pobj/bird-2.20.0/fake-amd64/usr/local/share/doc/bird/ /exopi-obj/pobj/bird-2.20.0/bin/install -c -m 644 /exopi-obj/pobj/bird-2.20.0/bird-2.20.0/doc/bird.conf.example2 /exopi-obj/pobj/bird-2.20.0/fake-amd64/usr/local/share/examples/bird/ Reading existing plist for bird-2.20.0 Writing /exopi-obj/pobj/bird-2.20.0/fake-amd64/debug-pkg/Makefile.new Writing /exopi-obj/pobj/bird-2.20.0/fake-amd64/debug-pkg/PLIST Renaming /exopi-obj/pobj/bird-2.20.0/fake-amd64/debug-pkg/Makefile.new to Makefile > Extracting debug info from /exopi-obj/pobj/bird-2.20.0/fake-amd64/usr/local/sbin/bird > Extracting debug info from /exopi-obj/pobj/bird-2.20.0/fake-amd64/usr/local/sbin/birdc > Extracting debug info from /exopi-obj/pobj/bird-2.20.0/fake-amd64/usr/local/sbin/birdcl Installing /exopi-cvs/ports/net/bird/2/pkg/bird.rc as /exopi-obj/pobj/bird-2.20.0/fake-amd64/etc/rc.d/bird ===> Building package for bird-2.20.0 Create /exopi-cvs/ports/packages/amd64/all/bird-2.20.0.tgz Creating package bird-2.20.0 reading plist| checking dependencies| checking dependencies|security/libssh checksumming| checksumming| | 0% checksumming|* | 2% checksumming|*** | 5% checksumming|**** | 7% checksumming|****** | 9% checksumming|******* | 11% checksumming|******** | 14% checksumming|********** | 16% checksumming|*********** | 18% checksumming|************ | 20% checksumming|************** | 23% checksumming|*************** | 25% checksumming|***************** | 27% checksumming|****************** | 30% checksumming|******************* | 32% checksumming|********************* | 34% checksumming|********************** | 36% checksumming|************************ | 39% checksumming|************************* | 41% checksumming|************************** | 43% checksumming|**************************** | 45% checksumming|***************************** | 48% checksumming|******************************* | 50% checksumming|******************************** | 52% checksumming|********************************* | 55% checksumming|*********************************** | 57% checksumming|************************************ | 59% checksumming|************************************* | 61% checksumming|*************************************** | 64% checksumming|**************************************** | 66% checksumming|****************************************** | 68% checksumming|******************************************* | 70% checksumming|******************************************** | 73% checksumming|********************************************** | 75% checksumming|*********************************************** | 77% checksumming|************************************************* | 80% checksumming|************************************************** | 82% checksumming|*************************************************** | 84% checksumming|***************************************************** | 86% checksumming|****************************************************** | 89% checksumming|******************************************************* | 91% checksumming|********************************************************* | 93% checksumming|********************************************************** | 95% checksumming|************************************************************ | 98% checksumming|*************************************************************|100% archiving| archiving| | 0% archiving|***************************** | 45% archiving|****************************** | 46% archiving|****************************** | 47% archiving|******************************* | 48% archiving|******************************** | 49% archiving|******************************** | 50% archiving|********************************* | 51% archiving|************************************* | 58% archiving|*********************************************** | 73% archiving|************************************************* | 77% archiving|************************************************** | 78% archiving|************************************************************ | 94% archiving|************************************************************** | 97% archiving|*************************************************************** | 98% archiving|*************************************************************** | 99% archiving|****************************************************************| 99% archiving|****************************************************************|100% Creating package debug-bird-2.20.0 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|*************************************** | 61% archiving|************************************************************** | 97% archiving|*************************************************************** | 99% archiving|****************************************************************|100% Link to /exopi-cvs/ports/packages/amd64/ftp/bird-2.20.0.tgz Link to /exopi-cvs/ports/packages/amd64/ftp/debug-bird-2.20.0.tgz >>> Running clean in net/bird/2 at 1793163691.67 ===> net/bird/2 ===> Cleaning for bird-2.20.0 >>> Ended at 1793163692.24 max_stuck=3.00/depends=3.36/show-prepare-results=2.44/build=115.94/package=9.53/clean=0.60