>>> Building on exopi-4 under net/bird/3 BDEPENDS = [devel/gmake;devel/m4;security/libssh;devel/bison;devel/dwz] DIST = [net/bird/3:bird-3.1.4.tar.gz;net/bird/3:bird-doc-3.1.4.tar.gz] FULLPKGNAME = bird-3.1.4 RDEPENDS = [security/libssh] (Junk lock obtained for exopi-4 at 1764627477.41) >>> Running depends in net/bird/3 at 1764627477.45 last junk was in security/cyrus-sasl2,ldap /usr/sbin/pkg_add -aI -Drepair bison-3.8.2p0 dwz-0.16p0 libssh-0.11.3 m4-1.4.20p0 was: /usr/sbin/pkg_add -aI -Drepair bison-3.8.2p0 dwz-0.16p0 gmake-4.4.1p0 libssh-0.11.3 m4-1.4.20p0 /usr/sbin/pkg_add -aI -Drepair bison-3.8.2p0 dwz-0.16p0 libssh-0.11.3 m4-1.4.20p0 >>> Running show-prepare-results in net/bird/3 at 1764627479.37 ===> net/bird/3 ===> Building from scratch bird-3.1.4 ===> bird-3.1.4 depends on: m4-* -> m4-1.4.20p0 ===> bird-3.1.4 depends on: bison-* -> bison-3.8.2p0 ===> bird-3.1.4 depends on: gmake-* -> gmake-4.4.1p0 ===> bird-3.1.4 depends on: dwz-* -> dwz-0.16p0 ===> bird-3.1.4 depends on: libssh-* -> libssh-0.11.3 ===> Verifying specs: c curses pthread readline ssh ===> found c.102.2 curses.16.0 pthread.28.1 readline.6.0 ssh.4.3 bison-3.8.2p0 dwz-0.16p0 gmake-4.4.1p0 libssh-0.11.3 m4-1.4.20p0 (Junk lock released for exopi-4 at 1764627480.42) distfiles size=3899995 >>> Running build in net/bird/3 at 1764627480.44 ===> net/bird/3 ===> Checking files for bird-3.1.4 `/exopi-cvs/ports/distfiles/bird-3.1.4.tar.gz' is up to date. `/exopi-cvs/ports/distfiles/bird-doc-3.1.4.tar.gz' is up to date. >> (SHA256) all files: OK ===> Extracting for bird-3.1.4 ===> Patching for bird-3.1.4 ===> 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 ===> Applying OpenBSD patch patch-sysdep_unix_random_c Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: sysdep/unix/random.c |--- sysdep/unix/random.c.orig |+++ sysdep/unix/random.c -------------------------- Patching file sysdep/unix/random.c using Plan A... Hunk #1 succeeded at 24. done ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ ===> Generating configure for bird-3.1.4 ===> Configuring for bird-3.1.4 Using /exopi-obj/pobj/bird-3.1.4/config.site (generated) configure: WARNING: unrecognized options: --enable-pthreads, --enable-ssh, --disable-silent-rules, --disable-gtk-doc configure: loading site script /exopi-obj/pobj/bird-3.1.4/config.site checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... (cached) o checking whether the compiler supports GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to enable C11 features... none needed checking for library containing clock_gettime... none required checking build system type... x86_64-unknown-openbsd7.8 checking host system type... x86_64-unknown-openbsd7.8 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 which compiler vendor we are dealing with... llvm 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-3.1.4/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 ssh_session_is_known_server in -lssh... yes checking for Linux MPLS headers... no checking for CLOCK_MONOTONIC... yes checking for CLOCK_MONOTONIC_COARSE... 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 stdatomic.h... yes checking for sys/mman.h... (cached) yes checking for aligned_alloc... yes checking for mallopt... no checking for struct sockaddr.sa_len... yes checking whether byte ordering is bigendian... no checking how pointers are aligned... 8 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-pthreads, --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 Link-time optimization: auto Compact tries: no Routing protocols: aggregator bfd babel bgp l3vpn ospf pipe radv rip rpki static mrt bmp LibSSH support in RPKI: yes Kernel MPLS support: no Client: yes ===> Building for bird-3.1.4 mkdir -p obj/client obj/conf obj/doc obj/filter obj/lib obj/nest obj/test obj/proto/aggregator obj/proto/bfd obj/proto/babel obj/proto/bgp obj/proto/l3vpn obj/proto/ospf obj/proto/pipe obj/proto/radv obj/proto/rip obj/proto/rpki obj/proto/static obj/proto/mrt obj/proto/bmp obj/sysdep/unix obj/sysdep/bsd obj/doc touch obj/.dir-stamp gm4 -s -P conf/gen_parser.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/aggregator/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/l3vpn/config.Y proto/ospf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y proto/mrt/config.Y proto/bmp/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd/krt-sock.Y >obj/conf/cf-parse.y bison -Dparse.lac=full -Dparse.error=verbose -dv -pcf_ -b obj/conf/cf-parse obj/conf/cf-parse.y obj/conf/cf-parse.y: warning: 2 shift/reduce conflicts [-Wconflicts-sr] obj/conf/cf-parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples gm4 -s -P conf/gen_keywords.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/aggregator/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/l3vpn/config.Y proto/ospf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y proto/mrt/config.Y proto/bmp/config.Y sysdep/unix/config.Y sysdep/unix/krt.Y sysdep/bsd/krt-sock.Y >obj/conf/keywords.h gm4 -s -P conf/gen_commands.m4 conf/confbase.Y conf/flowspec.Y client/cmds.Y filter/config.Y nest/config.Y nest/mpls.Y proto/aggregator/config.Y proto/bfd/config.Y proto/babel/config.Y proto/bgp/config.Y proto/l3vpn/config.Y proto/ospf/config.Y proto/pipe/config.Y proto/radv/config.Y proto/rip/config.Y proto/rpki/config.Y proto/static/config.Y proto/mrt/config.Y proto/bmp/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 l3vpn ospf pipe radv rip rpki static mrt bmp 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='"3.1.4"' -MMD -MP -o obj/conf/cf-parse.tab.o -c obj/conf/cf-parse.tab.c In file included from conf/confbase.Y:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 conf/confbase.Y:14: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 conf/confbase.Y:14: In file included from ./conf/conf.h:17: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 conf/confbase.Y:20: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/confbase.Y:23: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/confbase.Y:24: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/config.Y:10: In file included from ./proto/bfd/bfd.h:63: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/config.Y:10: In file included from ./proto/bfd/bfd.h:111: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/config.Y:11: In file included from ./proto/bmp/bmp.h:112: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/config.Y:11: In file included from ./proto/bmp/bmp.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/aggregator/config.Y:92:26: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 92 | if ((yyval.xp).begin = (yyvsp[0].xp).begin) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ proto/aggregator/config.Y:92:26: note: place parentheses around the assignment to silence this warning 92 | if ((yyval.xp).begin = (yyvsp[0].xp).begin) | ^ | ( ) proto/aggregator/config.Y:92:26: note: use '==' to turn this assignment into an equality comparison 92 | if ((yyval.xp).begin = (yyvsp[0].xp).begin) | ^ | == proto/aggregator/config.Y:97:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 97 | if ((yyval.xp).end = (yyvsp[0].xp).end) | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ proto/aggregator/config.Y:97:24: note: place parentheses around the assignment to silence this warning 97 | if ((yyval.xp).end = (yyvsp[0].xp).end) | ^ | ( ) proto/aggregator/config.Y:97:24: note: use '==' to turn this assignment into an equality comparison 97 | if ((yyval.xp).end = (yyvsp[0].xp).end) | ^ | == proto/bfd/config.Y:246:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 246 | { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/config.Y:246:3: note: place parentheses around the assignment to silence this warning 246 | { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/bfd/config.Y:246:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:193:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 193 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:193:3: note: place parentheses around the assignment to silence this warning 193 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:193:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:196:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 196 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:196:3: note: place parentheses around the assignment to silence this warning 196 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:196:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:199:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 199 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:199:3: note: place parentheses around the assignment to silence this warning 199 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:199:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:202:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 202 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:202:3: note: place parentheses around the assignment to silence this warning 202 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/babel/config.Y:202:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:510:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 510 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:510:3: note: place parentheses around the assignment to silence this warning 510 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:510:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:513:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 513 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:513:3: note: place parentheses around the assignment to silence this warning 513 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/ospf/config.Y:513:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #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[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #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[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #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:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:196:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 196 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:196:3: note: place parentheses around the assignment to silence this warning 196 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:196:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:199:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 199 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:199:3: note: place parentheses around the assignment to silence this warning 199 | { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/rip/config.Y:199:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/static/config.Y:204:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 204 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/static/config.Y:204:3: note: place parentheses around the assignment to silence this warning 204 | { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } | ^ | ( ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ proto/static/config.Y:204:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:283:64: note: expanded from macro 'PROTO_WALK_CMD' 283 | #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) | ^ 43 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='"3.1.4"' -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:44: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 conf/cf-lex.l:45: In file included from ./nest/route.h:191: ./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 conf/cf-lex.l:46: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/cf-lex.l:54: In file included from conf/confbase.Y:23: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/cf-lex.l:54: In file included from conf/confbase.Y:24: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/cf-lex.l:54: In file included from proto/bfd/config.Y:10: In file included from ./proto/bfd/bfd.h:63: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/cf-lex.l:54: In file included from proto/bfd/config.Y:10: In file included from ./proto/bfd/bfd.h:111: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/cf-lex.l:54: In file included from proto/bmp/config.Y:11: In file included from ./proto/bmp/bmp.h:112: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from conf/cf-lex.l:54: In file included from proto/bmp/config.Y:11: In file included from ./proto/bmp/bmp.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 30 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/conf/conf.o -c conf/conf.c In file included from conf/conf.c:47: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 conf/conf.c:48: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 conf/conf.c:48: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 conf/conf.c:48: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 conf/conf.c:48: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 conf/conf.c:48: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 conf/conf.c:48: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 conf/conf.c:48: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 conf/conf.c:48: In file included from ./nest/route.h:191: ./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 conf/conf.c:49: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/filter/filter.o -c filter/filter.c In file included from filter/filter.c:29: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 filter/filter.c:38: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 filter/filter.c:38: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 filter/filter.c:38: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 filter/filter.c:38: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 filter/filter.c:38: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 filter/filter.c:38: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 filter/filter.c:38: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 filter/filter.c:38: In file included from ./nest/route.h:191: ./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 filter/filter.c:39: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/filter/data.o -c filter/data.c In file included from filter/data.c:11: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 filter/data.c:20: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 filter/data.c:20: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 filter/data.c:20: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 filter/data.c:20: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 filter/data.c:20: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 filter/data.c:20: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 filter/data.c:20: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 filter/data.c:20: In file included from ./nest/route.h:191: ./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 filter/data.c:21: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/filter/f-util.o -c filter/f-util.c In file included from filter/f-util.c:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 filter/f-util.c:11: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 filter/f-util.c:11: In file included from ./conf/conf.h:17: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:191: ./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 filter/f-util.c:15: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/filter/tree.o -c filter/tree.c In file included from filter/tree.c:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 filter/tree.c:11: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 filter/tree.c:11: In file included from ./conf/conf.h:17: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:191: ./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) | ^ | == 9 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/filter/trie.o -c filter/trie.c In file included from filter/trie.c:112: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 filter/trie.c:114: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 filter/trie.c:114: In file included from ./conf/conf.h:17: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:191: ./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) | ^ | == 9 warnings generated. 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='"3.1.4"' -MMD -MP -o obj/filter/inst-gen.o -c obj/filter/inst-gen.c In file included from filter/decl.m4:541: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:191: ./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) | ^ | == filter/f-inst.c:284:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 284 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:284:17: note: place parentheses around the assignment to silence this warning 284 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:284:17: note: use '==' to turn this assignment into an equality comparison 284 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:285:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 285 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:285:17: note: place parentheses around the assignment to silence this warning 285 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:285:17: note: use '==' to turn this assignment into an equality comparison 285 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:289:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 289 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:289:17: note: place parentheses around the assignment to silence this warning 289 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:289:17: note: use '==' to turn this assignment into an equality comparison 289 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:290:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 290 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:290:17: note: place parentheses around the assignment to silence this warning 290 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:290:17: note: use '==' to turn this assignment into an equality comparison 290 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:294:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 294 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:294:17: note: place parentheses around the assignment to silence this warning 294 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:294:17: note: use '==' to turn this assignment into an equality comparison 294 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:295:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 295 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:295:17: note: place parentheses around the assignment to silence this warning 295 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:295:17: note: use '==' to turn this assignment into an equality comparison 295 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:299:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 299 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:299:17: note: place parentheses around the assignment to silence this warning 299 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:299:17: note: use '==' to turn this assignment into an equality comparison 299 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:300:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 300 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:300:17: note: place parentheses around the assignment to silence this warning 300 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:300:17: note: use '==' to turn this assignment into an equality comparison 300 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:305:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 305 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:305:17: note: place parentheses around the assignment to silence this warning 305 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:305:17: note: use '==' to turn this assignment into an equality comparison 305 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:306:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 306 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:306:17: note: place parentheses around the assignment to silence this warning 306 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:306:17: note: use '==' to turn this assignment into an equality comparison 306 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:310:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 310 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:310:17: note: place parentheses around the assignment to silence this warning 310 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:310:17: note: use '==' to turn this assignment into an equality comparison 310 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:311:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 311 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:311:17: note: place parentheses around the assignment to silence this warning 311 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:311:17: note: use '==' to turn this assignment into an equality comparison 311 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:315:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 315 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:315:17: note: place parentheses around the assignment to silence this warning 315 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:315:17: note: use '==' to turn this assignment into an equality comparison 315 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:325:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 325 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:325:17: note: place parentheses around the assignment to silence this warning 325 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:325:17: note: use '==' to turn this assignment into an equality comparison 325 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:336:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 336 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:336:17: note: place parentheses around the assignment to silence this warning 336 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:336:17: note: use '==' to turn this assignment into an equality comparison 336 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:337:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 337 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:337:17: note: place parentheses around the assignment to silence this warning 337 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:337:17: note: use '==' to turn this assignment into an equality comparison 337 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:346:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 346 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:346:17: note: place parentheses around the assignment to silence this warning 346 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:346:17: note: use '==' to turn this assignment into an equality comparison 346 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:347:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 347 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:347:17: note: place parentheses around the assignment to silence this warning 347 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:347:17: note: use '==' to turn this assignment into an equality comparison 347 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:386:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 386 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:386:17: note: place parentheses around the assignment to silence this warning 386 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:386:17: note: use '==' to turn this assignment into an equality comparison 386 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:387:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 387 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:387:17: note: place parentheses around the assignment to silence this warning 387 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:387:17: note: use '==' to turn this assignment into an equality comparison 387 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:388:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 388 | } while (child3 = child3->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:388:17: note: place parentheses around the assignment to silence this warning 388 | } while (child3 = child3->next); | ^ | ( ) filter/f-inst.c:388:17: note: use '==' to turn this assignment into an equality comparison 388 | } while (child3 = child3->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:457:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 457 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:457:17: note: place parentheses around the assignment to silence this warning 457 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:457:17: note: use '==' to turn this assignment into an equality comparison 457 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:458:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 458 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:458:17: note: place parentheses around the assignment to silence this warning 458 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:458:17: note: use '==' to turn this assignment into an equality comparison 458 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:468:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 468 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:468:17: note: place parentheses around the assignment to silence this warning 468 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:468:17: note: use '==' to turn this assignment into an equality comparison 468 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:469:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 469 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:469:17: note: place parentheses around the assignment to silence this warning 469 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:469:17: note: use '==' to turn this assignment into an equality comparison 469 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:479:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 479 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:479:17: note: place parentheses around the assignment to silence this warning 479 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:479:17: note: use '==' to turn this assignment into an equality comparison 479 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:484:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 484 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:484:17: note: place parentheses around the assignment to silence this warning 484 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:484:17: note: use '==' to turn this assignment into an equality comparison 484 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:485:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 485 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:485:17: note: place parentheses around the assignment to silence this warning 485 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:485:17: note: use '==' to turn this assignment into an equality comparison 485 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:493:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 493 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:493:17: note: place parentheses around the assignment to silence this warning 493 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:493:17: note: use '==' to turn this assignment into an equality comparison 493 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:494:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 494 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:494:17: note: place parentheses around the assignment to silence this warning 494 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:494:17: note: use '==' to turn this assignment into an equality comparison 494 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:502:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 502 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:502:17: note: place parentheses around the assignment to silence this warning 502 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:502:17: note: use '==' to turn this assignment into an equality comparison 502 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:506:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 506 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:506:17: note: place parentheses around the assignment to silence this warning 506 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:506:17: note: use '==' to turn this assignment into an equality comparison 506 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:507:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 507 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:507:17: note: place parentheses around the assignment to silence this warning 507 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:507:17: note: use '==' to turn this assignment into an equality comparison 507 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:512:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 512 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:512:17: note: place parentheses around the assignment to silence this warning 512 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:512:17: note: use '==' to turn this assignment into an equality comparison 512 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:536:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 536 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:536:17: note: place parentheses around the assignment to silence this warning 536 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:536:17: note: use '==' to turn this assignment into an equality comparison 536 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:563:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 563 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:563:17: note: place parentheses around the assignment to silence this warning 563 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:563:17: note: use '==' to turn this assignment into an equality comparison 563 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:564:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 564 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:564:17: note: place parentheses around the assignment to silence this warning 564 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:564:17: note: use '==' to turn this assignment into an equality comparison 564 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:565:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 565 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:565:17: note: place parentheses around the assignment to silence this warning 565 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:565:17: note: use '==' to turn this assignment into an equality comparison 565 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:566:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 566 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:566:17: note: place parentheses around the assignment to silence this warning 566 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:566:17: note: use '==' to turn this assignment into an equality comparison 566 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:593:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 593 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:593:17: note: place parentheses around the assignment to silence this warning 593 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:593:17: note: use '==' to turn this assignment into an equality comparison 593 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:602:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 602 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:602:17: note: place parentheses around the assignment to silence this warning 602 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:602:17: note: use '==' to turn this assignment into an equality comparison 602 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:611:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 611 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:611:17: note: place parentheses around the assignment to silence this warning 611 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:611:17: note: use '==' to turn this assignment into an equality comparison 611 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:620:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 620 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:620:17: note: place parentheses around the assignment to silence this warning 620 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:620:17: note: use '==' to turn this assignment into an equality comparison 620 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:629:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 629 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:629:17: note: place parentheses around the assignment to silence this warning 629 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:629:17: note: use '==' to turn this assignment into an equality comparison 629 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:641:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 641 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:641:17: note: place parentheses around the assignment to silence this warning 641 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:641:17: note: use '==' to turn this assignment into an equality comparison 641 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:650:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 650 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:650:17: note: place parentheses around the assignment to silence this warning 650 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:650:17: note: use '==' to turn this assignment into an equality comparison 650 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:691:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 691 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:691:17: note: place parentheses around the assignment to silence this warning 691 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:691:17: note: use '==' to turn this assignment into an equality comparison 691 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:738:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 738 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:738:17: note: place parentheses around the assignment to silence this warning 738 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:738:17: note: use '==' to turn this assignment into an equality comparison 738 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:865:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 865 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:865:17: note: place parentheses around the assignment to silence this warning 865 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:865:17: note: use '==' to turn this assignment into an equality comparison 865 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:903:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 903 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:903:17: note: place parentheses around the assignment to silence this warning 903 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:903:17: note: use '==' to turn this assignment into an equality comparison 903 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:950:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 950 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:950:17: note: place parentheses around the assignment to silence this warning 950 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:950:17: note: use '==' to turn this assignment into an equality comparison 950 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:951:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 951 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:951:17: note: place parentheses around the assignment to silence this warning 951 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:951:17: note: use '==' to turn this assignment into an equality comparison 951 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:963:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 963 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:963:17: note: place parentheses around the assignment to silence this warning 963 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:963:17: note: use '==' to turn this assignment into an equality comparison 963 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:964:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 964 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:964:17: note: place parentheses around the assignment to silence this warning 964 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:964:17: note: use '==' to turn this assignment into an equality comparison 964 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:965:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 965 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:965:17: note: place parentheses around the assignment to silence this warning 965 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:965:17: note: use '==' to turn this assignment into an equality comparison 965 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:966:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 966 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:966:17: note: place parentheses around the assignment to silence this warning 966 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:966:17: note: use '==' to turn this assignment into an equality comparison 966 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:967:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 967 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:967:17: note: place parentheses around the assignment to silence this warning 967 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:967:17: note: use '==' to turn this assignment into an equality comparison 967 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:970:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 970 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:970:17: note: place parentheses around the assignment to silence this warning 970 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:970:17: note: use '==' to turn this assignment into an equality comparison 970 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1006:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1006 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1006:17: note: place parentheses around the assignment to silence this warning 1006 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1006:17: note: use '==' to turn this assignment into an equality comparison 1006 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1042:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1042 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1042:17: note: place parentheses around the assignment to silence this warning 1042 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1042:17: note: use '==' to turn this assignment into an equality comparison 1042 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1052:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1052 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1052:17: note: place parentheses around the assignment to silence this warning 1052 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1052:17: note: use '==' to turn this assignment into an equality comparison 1052 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1062:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1062 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1062:17: note: place parentheses around the assignment to silence this warning 1062 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1062:17: note: use '==' to turn this assignment into an equality comparison 1062 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1065:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1065 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1065:17: note: place parentheses around the assignment to silence this warning 1065 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1065:17: note: use '==' to turn this assignment into an equality comparison 1065 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1073:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1073 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1073:17: note: place parentheses around the assignment to silence this warning 1073 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1073:17: note: use '==' to turn this assignment into an equality comparison 1073 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1076:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1076 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1076:17: note: place parentheses around the assignment to silence this warning 1076 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1076:17: note: use '==' to turn this assignment into an equality comparison 1076 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1079:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1079 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1079:17: note: place parentheses around the assignment to silence this warning 1079 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1079:17: note: use '==' to turn this assignment into an equality comparison 1079 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1082:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1082 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1082:17: note: place parentheses around the assignment to silence this warning 1082 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1082:17: note: use '==' to turn this assignment into an equality comparison 1082 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1085:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1085 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1085:17: note: place parentheses around the assignment to silence this warning 1085 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1085:17: note: use '==' to turn this assignment into an equality comparison 1085 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1088:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1088 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1088:17: note: place parentheses around the assignment to silence this warning 1088 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1088:17: note: use '==' to turn this assignment into an equality comparison 1088 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1091:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1091 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1091:17: note: place parentheses around the assignment to silence this warning 1091 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1091:17: note: use '==' to turn this assignment into an equality comparison 1091 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1094:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1094 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1094:17: note: place parentheses around the assignment to silence this warning 1094 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1094:17: note: use '==' to turn this assignment into an equality comparison 1094 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1097:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1097 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1097:17: note: place parentheses around the assignment to silence this warning 1097 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1097:17: note: use '==' to turn this assignment into an equality comparison 1097 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1100:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1100 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1100:17: note: place parentheses around the assignment to silence this warning 1100 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1100:17: note: use '==' to turn this assignment into an equality comparison 1100 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1103:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1103 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1103:17: note: place parentheses around the assignment to silence this warning 1103 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1103:17: note: use '==' to turn this assignment into an equality comparison 1103 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1106:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1106 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1106:17: note: place parentheses around the assignment to silence this warning 1106 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1106:17: note: use '==' to turn this assignment into an equality comparison 1106 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1109:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1109 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1109:17: note: place parentheses around the assignment to silence this warning 1109 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1109:17: note: use '==' to turn this assignment into an equality comparison 1109 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1112:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1112 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1112:17: note: place parentheses around the assignment to silence this warning 1112 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1112:17: note: use '==' to turn this assignment into an equality comparison 1112 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1117:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1117 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1117:17: note: place parentheses around the assignment to silence this warning 1117 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1117:17: note: use '==' to turn this assignment into an equality comparison 1117 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1202:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1202 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1202:17: note: place parentheses around the assignment to silence this warning 1202 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1202:17: note: use '==' to turn this assignment into an equality comparison 1202 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1206:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1206 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1206:17: note: place parentheses around the assignment to silence this warning 1206 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1206:17: note: use '==' to turn this assignment into an equality comparison 1206 | } 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:1248:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1248 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1248:17: note: place parentheses around the assignment to silence this warning 1248 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1248:17: note: use '==' to turn this assignment into an equality comparison 1248 | } while (child2 = child2->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:1257:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1257 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1257:17: note: place parentheses around the assignment to silence this warning 1257 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1257:17: note: use '==' to turn this assignment into an equality comparison 1257 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1264:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1264 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1264:17: note: place parentheses around the assignment to silence this warning 1264 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1264:17: note: use '==' to turn this assignment into an equality comparison 1264 | } 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 (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1265:17: note: place parentheses around the assignment to silence this warning 1265 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1265:17: note: use '==' to turn this assignment into an equality comparison 1265 | } while (child2 = child2->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:1272:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1272 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1272:17: note: place parentheses around the assignment to silence this warning 1272 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1272:17: note: use '==' to turn this assignment into an equality comparison 1272 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1285:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1285 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1285:17: note: place parentheses around the assignment to silence this warning 1285 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1285:17: note: use '==' to turn this assignment into an equality comparison 1285 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1286:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1286 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1286:17: note: place parentheses around the assignment to silence this warning 1286 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1286:17: note: use '==' to turn this assignment into an equality comparison 1286 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1292:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1292 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1292:17: note: place parentheses around the assignment to silence this warning 1292 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1292:17: note: use '==' to turn this assignment into an equality comparison 1292 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1293:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1293 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1293:17: note: place parentheses around the assignment to silence this warning 1293 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1293:17: note: use '==' to turn this assignment into an equality comparison 1293 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1299:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1299 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1299:17: note: place parentheses around the assignment to silence this warning 1299 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1299:17: note: use '==' to turn this assignment into an equality comparison 1299 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1300:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1300 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1300:17: note: place parentheses around the assignment to silence this warning 1300 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1300:17: note: use '==' to turn this assignment into an equality comparison 1300 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1306:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1306 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1306:17: note: place parentheses around the assignment to silence this warning 1306 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1306:17: note: use '==' to turn this assignment into an equality comparison 1306 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1307:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1307 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1307:17: note: place parentheses around the assignment to silence this warning 1307 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1307:17: note: use '==' to turn this assignment into an equality comparison 1307 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1313:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1313 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1313:17: note: place parentheses around the assignment to silence this warning 1313 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1313:17: note: use '==' to turn this assignment into an equality comparison 1313 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1314:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1314 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1314:17: note: place parentheses around the assignment to silence this warning 1314 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1314:17: note: use '==' to turn this assignment into an equality comparison 1314 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1320:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1320 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1320:17: note: place parentheses around the assignment to silence this warning 1320 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1320:17: note: use '==' to turn this assignment into an equality comparison 1320 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1321:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1321 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1321:17: note: place parentheses around the assignment to silence this warning 1321 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1321:17: note: use '==' to turn this assignment into an equality comparison 1321 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1327:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1327 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1327:17: note: place parentheses around the assignment to silence this warning 1327 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1327:17: note: use '==' to turn this assignment into an equality comparison 1327 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1328:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1328 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1328:17: note: place parentheses around the assignment to silence this warning 1328 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1328:17: note: use '==' to turn this assignment into an equality comparison 1328 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1334:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1334 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1334:17: note: place parentheses around the assignment to silence this warning 1334 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1334:17: note: use '==' to turn this assignment into an equality comparison 1334 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1335:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1335 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1335:17: note: place parentheses around the assignment to silence this warning 1335 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1335:17: note: use '==' to turn this assignment into an equality comparison 1335 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1346:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1346 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1346:17: note: place parentheses around the assignment to silence this warning 1346 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1346:17: note: use '==' to turn this assignment into an equality comparison 1346 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1347:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1347 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1347:17: note: place parentheses around the assignment to silence this warning 1347 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1347:17: note: use '==' to turn this assignment into an equality comparison 1347 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1353:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1353 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1353:17: note: place parentheses around the assignment to silence this warning 1353 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1353:17: note: use '==' to turn this assignment into an equality comparison 1353 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1354:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1354 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1354:17: note: place parentheses around the assignment to silence this warning 1354 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1354:17: note: use '==' to turn this assignment into an equality comparison 1354 | } while (child2 = child2->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:1368:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1368 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1368:17: note: place parentheses around the assignment to silence this warning 1368 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1368:17: note: use '==' to turn this assignment into an equality comparison 1368 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1374:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1374 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1374:17: note: place parentheses around the assignment to silence this warning 1374 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1374:17: note: use '==' to turn this assignment into an equality comparison 1374 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1375:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1375 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1375:17: note: place parentheses around the assignment to silence this warning 1375 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1375:17: note: use '==' to turn this assignment into an equality comparison 1375 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1381:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1381 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1381:17: note: place parentheses around the assignment to silence this warning 1381 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1381:17: note: use '==' to turn this assignment into an equality comparison 1381 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1382:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1382 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1382:17: note: place parentheses around the assignment to silence this warning 1382 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1382:17: note: use '==' to turn this assignment into an equality comparison 1382 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1392:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1392 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1392:17: note: place parentheses around the assignment to silence this warning 1392 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1392:17: note: use '==' to turn this assignment into an equality comparison 1392 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1393:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1393 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1393:17: note: place parentheses around the assignment to silence this warning 1393 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1393:17: note: use '==' to turn this assignment into an equality comparison 1393 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1399:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1399 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1399:17: note: place parentheses around the assignment to silence this warning 1399 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1399:17: note: use '==' to turn this assignment into an equality comparison 1399 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1400:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1400 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1400:17: note: place parentheses around the assignment to silence this warning 1400 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1400:17: note: use '==' to turn this assignment into an equality comparison 1400 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1406:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1406 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1406:17: note: place parentheses around the assignment to silence this warning 1406 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1406:17: note: use '==' to turn this assignment into an equality comparison 1406 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1407:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1407 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1407:17: note: place parentheses around the assignment to silence this warning 1407 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1407:17: note: use '==' to turn this assignment into an equality comparison 1407 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1417:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1417 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1417:17: note: place parentheses around the assignment to silence this warning 1417 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1417:17: note: use '==' to turn this assignment into an equality comparison 1417 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1418:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1418 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1418:17: note: place parentheses around the assignment to silence this warning 1418 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1418:17: note: use '==' to turn this assignment into an equality comparison 1418 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1424:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1424 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1424:17: note: place parentheses around the assignment to silence this warning 1424 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1424:17: note: use '==' to turn this assignment into an equality comparison 1424 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1425:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1425 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1425:17: note: place parentheses around the assignment to silence this warning 1425 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1425:17: note: use '==' to turn this assignment into an equality comparison 1425 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1431:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1431 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1431:17: note: place parentheses around the assignment to silence this warning 1431 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1431:17: note: use '==' to turn this assignment into an equality comparison 1431 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1432:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1432 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1432:17: note: place parentheses around the assignment to silence this warning 1432 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1432:17: note: use '==' to turn this assignment into an equality comparison 1432 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1442:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1442 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1442:17: note: place parentheses around the assignment to silence this warning 1442 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1442:17: note: use '==' to turn this assignment into an equality comparison 1442 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1443:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1443 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1443:17: note: place parentheses around the assignment to silence this warning 1443 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1443:17: note: use '==' to turn this assignment into an equality comparison 1443 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1453:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1453 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1453:17: note: place parentheses around the assignment to silence this warning 1453 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1453:17: note: use '==' to turn this assignment into an equality comparison 1453 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1454:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1454 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1454:17: note: place parentheses around the assignment to silence this warning 1454 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1454:17: note: use '==' to turn this assignment into an equality comparison 1454 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1460:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1460 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1460:17: note: place parentheses around the assignment to silence this warning 1460 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1460:17: note: use '==' to turn this assignment into an equality comparison 1460 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1461:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1461 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1461:17: note: place parentheses around the assignment to silence this warning 1461 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1461:17: note: use '==' to turn this assignment into an equality comparison 1461 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1471:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1471 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1471:17: note: place parentheses around the assignment to silence this warning 1471 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1471:17: note: use '==' to turn this assignment into an equality comparison 1471 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1472:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1472 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1472:17: note: place parentheses around the assignment to silence this warning 1472 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1472:17: note: use '==' to turn this assignment into an equality comparison 1472 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1478:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1478 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1478:17: note: place parentheses around the assignment to silence this warning 1478 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1478:17: note: use '==' to turn this assignment into an equality comparison 1478 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1479:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1479 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1479:17: note: place parentheses around the assignment to silence this warning 1479 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1479:17: note: use '==' to turn this assignment into an equality comparison 1479 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1489:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1489 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1489:17: note: place parentheses around the assignment to silence this warning 1489 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1489:17: note: use '==' to turn this assignment into an equality comparison 1489 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1490:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1490 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1490:17: note: place parentheses around the assignment to silence this warning 1490 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1490:17: note: use '==' to turn this assignment into an equality comparison 1490 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1496:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1496 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1496:17: note: place parentheses around the assignment to silence this warning 1496 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1496:17: note: use '==' to turn this assignment into an equality comparison 1496 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1497:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1497 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1497:17: note: place parentheses around the assignment to silence this warning 1497 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1497:17: note: use '==' to turn this assignment into an equality comparison 1497 | } 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:1530:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1530 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1530:17: note: place parentheses around the assignment to silence this warning 1530 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1530:17: note: use '==' to turn this assignment into an equality comparison 1530 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1531:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1531 | } while (child2 = child2->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1531:17: note: place parentheses around the assignment to silence this warning 1531 | } while (child2 = child2->next); | ^ | ( ) filter/f-inst.c:1531:17: note: use '==' to turn this assignment into an equality comparison 1531 | } while (child2 = child2->next); | ^ | == filter/f-inst.c:1545:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1545 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1545:17: note: place parentheses around the assignment to silence this warning 1545 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1545:17: note: use '==' to turn this assignment into an equality comparison 1545 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1560:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1560 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1560:17: note: place parentheses around the assignment to silence this warning 1560 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1560:17: note: use '==' to turn this assignment into an equality comparison 1560 | } while (child1 = child1->next); | ^ | == filter/f-inst.c:1566:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1566 | } while (child1 = child1->next); | ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1566:17: note: place parentheses around the assignment to silence this warning 1566 | } while (child1 = child1->next); | ^ | ( ) filter/f-inst.c:1566:17: note: use '==' to turn this assignment into an equality comparison 1566 | } while (child1 = child1->next); | ^ | == 160 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/a-path.o -c lib/a-path.c In file included from lib/a-path.c:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/a-path.c:11: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 lib/a-path.c:11: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 lib/a-path.c:11: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 lib/a-path.c:11: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 lib/a-path.c:11: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 lib/a-path.c:11: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 lib/a-path.c:11: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 lib/a-path.c:11: In file included from ./nest/route.h:191: ./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) | ^ | == 9 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/a-set.o -c lib/a-set.c In file included from lib/a-set.c:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/a-set.c:13: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 lib/a-set.c:13: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 lib/a-set.c:13: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 lib/a-set.c:13: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 lib/a-set.c:13: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 lib/a-set.c:13: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 lib/a-set.c:13: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 lib/a-set.c:13: In file included from ./nest/route.h:191: ./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) | ^ | == 9 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/bitmap.o -c lib/bitmap.c In file included from lib/bitmap.c:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/bitops.o -c lib/bitops.c In file included from lib/bitops.c:9: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/blake2s.o -c lib/blake2s.c In file included from lib/blake2s.c:20: In file included from ./lib/mac.h:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/blake2b.o -c lib/blake2b.c In file included from lib/blake2b.c:20: In file included from ./lib/mac.h:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/checksum.o -c lib/checksum.c In file included from lib/checksum.c:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/defer.o -c lib/defer.c In file included from lib/defer.c:9: In file included from ./lib/defer.h:19: In file included from ./lib/event.h:12: In file included from ./lib/resource.h:37: ./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 lib/defer.c:9: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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='"3.1.4"' -MMD -MP -o obj/lib/event.o -c lib/event.c In file included from lib/event.c:24: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/event.c:26: In file included from ./lib/io-loop.h:98: ./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 lib/event.c:27: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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) | ^ | == lib/event.c:249:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 249 | else | ^ lib/event.c:318:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 318 | while (e = atomic_load_explicit(ep, memory_order_acquire)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/event.c:318:12: note: place parentheses around the assignment to silence this warning 318 | while (e = atomic_load_explicit(ep, memory_order_acquire)) | ^ | ( ) lib/event.c:318:12: note: use '==' to turn this assignment into an equality comparison 318 | while (e = atomic_load_explicit(ep, memory_order_acquire)) | ^ | == 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/flowspec.o -c lib/flowspec.c In file included from lib/flowspec.c:36: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/flowspec.c:38: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 lib/flowspec.c:38: In file included from ./conf/conf.h:17: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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) | ^ | == lib/flowspec.c:612:22: warning: address of array 'f->data' will always evaluate to 'true' [-Wpointer-bool-conversion] 612 | ASSERT_DIE(f && f->data); | ~~ ~~~^~~~ ./lib/birdlib.h:254:34: note: expanded from macro 'ASSERT_DIE' 254 | #define ASSERT_DIE(x) do { if (!(x)) bug("Assertion '%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0) | ^ lib/flowspec.c:629:22: warning: address of array 'f->data' will always evaluate to 'true' [-Wpointer-bool-conversion] 629 | ASSERT_DIE(f && f->data); | ~~ ~~~^~~~ ./lib/birdlib.h:254:34: note: expanded from macro 'ASSERT_DIE' 254 | #define ASSERT_DIE(x) do { if (!(x)) bug("Assertion '%s' failed at %s:%d", #x, __FILE__, __LINE__); } while(0) | ^ 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/idm.o -c lib/idm.c In file included from lib/idm.c:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/ip.o -c lib/ip.c In file included from lib/ip.c:20: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -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='"3.1.4"' -MMD -MP -o obj/lib/lockfree.o -c lib/lockfree.c In file included from lib/lockfree.c:11: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:19: In file included from ./lib/event.h:12: In file included from ./lib/resource.h:37: ./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 lib/lockfree.c:11: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 lib/lockfree.c:11: In file included from ./lib/lockfree.h:201: ./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 lib/lockfree.c:11: In file included from ./lib/lockfree.h:226: ./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) | ^ | == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/mac.o -c lib/mac.c In file included from lib/mac.c:30: In file included from ./lib/mac.h:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/md5.o -c lib/md5.c In file included from lib/md5.c:13: In file included from ./lib/md5.h:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/mempool.o -c lib/mempool.c In file included from lib/mempool.c:24: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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) | ^ | == lib/mempool.c:254:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 254 | while (c = m->current->next) | ~~^~~~~~~~~~~~~~~~~~ lib/mempool.c:254:12: note: place parentheses around the assignment to silence this warning 254 | while (c = m->current->next) | ^ | ( ) lib/mempool.c:254:12: note: use '==' to turn this assignment into an equality comparison 254 | while (c = m->current->next) | ^ | == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/net.o -c lib/net.c In file included from lib/net.c:2: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/netindex.o -c lib/netindex.c In file included from lib/netindex.c:10: In file included from ./lib/netindex_private.h:12: In file included from ./lib/netindex.h:12: In file included from ./lib/bitmap.h:13: In file included from ./lib/resource.h:37: ./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 lib/netindex.c:10: In file included from ./lib/netindex_private.h:12: In file included from ./lib/netindex.h:14: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 lib/netindex.c:10: In file included from ./lib/netindex_private.h:12: In file included from ./lib/netindex.h:14: In file included from ./lib/lockfree.h:201: ./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 lib/netindex.c:10: In file included from ./lib/netindex_private.h:12: In file included from ./lib/netindex.h:14: In file included from ./lib/lockfree.h:226: ./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) | ^ | == lib/netindex.c:30:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 30 | if (step > 0) SPINHASH_REHASH_UP(v,NETINDEX,struct netindex,step); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:451:21: note: expanded from macro 'SPINHASH_REHASH_UP' 451 | for (type *n; n = _cur->block[i].data; ) { \ | ~~^~~~~~~~~~~~~~~~~~~~~ lib/netindex.c:30:17: note: place parentheses around the assignment to silence this warning ./lib/hash.h:451:21: note: expanded from macro 'SPINHASH_REHASH_UP' 451 | for (type *n; n = _cur->block[i].data; ) { \ | ^ lib/netindex.c:30:17: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:451:21: note: expanded from macro 'SPINHASH_REHASH_UP' 451 | for (type *n; n = _cur->block[i].data; ) { \ | ^ lib/netindex.c:31:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 31 | if (step < 0) SPINHASH_REHASH_DOWN(v,NETINDEX,struct netindex,-step); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:475:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 475 | for (type *n; n = _cur->block[i].data; ) { \ | ~~^~~~~~~~~~~~~~~~~~~~~ lib/netindex.c:31:17: note: place parentheses around the assignment to silence this warning ./lib/hash.h:475:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 475 | for (type *n; n = _cur->block[i].data; ) { \ | ^ lib/netindex.c:31:17: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:475:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 475 | for (type *n; n = _cur->block[i].data; ) { \ | ^ 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/patmatch.o -c lib/patmatch.c In file included from lib/patmatch.c:7: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/printf.o -c lib/printf.c In file included from lib/printf.c:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/printf.c:16: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 lib/printf.c:16: In file included from ./nest/iface.h:162: ./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 lib/printf.c:16: In file included from ./nest/iface.h:229: ./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 lib/printf.c:16: In file included from ./nest/iface.h:252: ./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) | ^ | == 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/rcu.o -c lib/rcu.c In file included from lib/rcu.c:16: In file included from ./lib/io-loop.h:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/rcu.c:16: In file included from ./lib/io-loop.h:98: ./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) | ^ | == lib/rcu.c:49:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 49 | t = atomic_load_explicit(tp, memory_order_acquire); | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/rcu.c:49:4: note: place parentheses around the assignment to silence this warning 49 | t = atomic_load_explicit(tp, memory_order_acquire); | ^ | ( ) lib/rcu.c:49:4: note: use '==' to turn this assignment into an equality comparison 49 | t = atomic_load_explicit(tp, memory_order_acquire); | ^ | == lib/rcu.c:52:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 52 | if (critical = rcu_critical(t, phase)) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ lib/rcu.c:52:20: note: place parentheses around the assignment to silence this warning 52 | if (critical = rcu_critical(t, phase)) | ^ | ( ) lib/rcu.c:52:20: note: use '==' to turn this assignment into an equality comparison 52 | if (critical = rcu_critical(t, phase)) | ^ | == lib/rcu.c:87:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 87 | t = atomic_load_explicit(tp, memory_order_acquire); | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/rcu.c:87:9: note: place parentheses around the assignment to silence this warning 87 | t = atomic_load_explicit(tp, memory_order_acquire); | ^ | ( ) lib/rcu.c:87:9: note: use '==' to turn this assignment into an equality comparison 87 | t = atomic_load_explicit(tp, memory_order_acquire); | ^ | == 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/resource.o -c lib/resource.c In file included from lib/resource.c:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/sha1.o -c lib/sha1.c In file included from lib/sha1.c:15: In file included from ./lib/sha1.h:18: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/sha256.o -c lib/sha256.c In file included from lib/sha256.c:12: In file included from ./lib/sha256.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/sha512.o -c lib/sha512.c In file included from lib/sha512.c:12: In file included from ./lib/sha512.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/slab.o -c lib/slab.c In file included from lib/slab.c:32: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/slab.c:177: ./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:290:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 290 | if (h = s->empty_heads.first) | ~~^~~~~~~~~~~~~~~~~~~~~~ lib/slab.c:290:9: note: place parentheses around the assignment to silence this warning 290 | if (h = s->empty_heads.first) | ^ | ( ) lib/slab.c:290:9: note: use '==' to turn this assignment into an equality comparison 290 | if (h = s->empty_heads.first) | ^ | == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/slists.o -c lib/slists.c In file included from lib/slists.c:11: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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) | ^ | == 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) | ^ | == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/strtoul.o -c lib/strtoul.c In file included from lib/strtoul.c:9: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/lib/tbf.o -c lib/tbf.c In file included from lib/tbf.c:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/tbf.c:11: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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='"3.1.4"' -MMD -MP -o obj/lib/timer.o -c lib/timer.c In file included from lib/timer.c:33: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/timer.c:37: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 lib/timer.c:39: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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) | ^ | == lib/timer.c:172:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 172 | while (t = timers_first(loop)) | ~~^~~~~~~~~~~~~~~~~~~~ lib/timer.c:172:12: note: place parentheses around the assignment to silence this warning 172 | while (t = timers_first(loop)) | ^ | ( ) lib/timer.c:172:12: note: use '==' to turn this assignment into an equality comparison 172 | while (t = timers_first(loop)) | ^ | == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/lib/xmalloc.o -c lib/xmalloc.c In file included from lib/xmalloc.c:11: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 lib/xmalloc.c:13: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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='"3.1.4"' -MMD -MP -o obj/nest/cli.o -c nest/cli.c In file included from nest/cli.c:66: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/cli.c:67: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 nest/cli.c:67: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 nest/cli.c:67: In file included from ./nest/cli.h:69: ./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) | ^ | == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/cmds.o -c nest/cmds.c In file included from nest/cmds.c:9: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 nest/cmds.c:10: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/cmds.c:12: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/iface.o -c nest/iface.c In file included from nest/iface.c:28: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/iface.c:29: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/iface.c:29: In file included from ./nest/iface.h:162: ./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 nest/iface.c:29: In file included from ./nest/iface.h:229: ./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 nest/iface.c:29: In file included from ./nest/iface.h:252: ./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 nest/iface.c:30: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/iface.c:30: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/iface.c:30: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/iface.c:30: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 nest/iface.c:30: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/iface.c:31: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/iface.c:552:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 552 | 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:552:4: note: place parentheses around the assignment to silence this warning 552 | 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:552: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) | ^ 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/locks.o -c nest/locks.c In file included from nest/locks.c:34: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/locks.c:37: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/locks.c:37: In file included from ./nest/iface.h:162: ./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 nest/locks.c:37: In file included from ./nest/iface.h:229: ./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 nest/locks.c:37: In file included from ./nest/iface.h:252: ./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) | ^ | == 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/mpls.o -c nest/mpls.c In file included from nest/mpls.c:84: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/mpls.c:85: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/mpls.c:85: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/mpls.c:85: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/mpls.c:85: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/mpls.c:85: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 nest/mpls.c:85: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 nest/mpls.c:85: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 nest/mpls.c:85: In file included from ./nest/route.h:191: ./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 nest/mpls.c:86: In file included from ./nest/mpls-internal.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/mpls.c:87: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/mpls.c:290:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 290 | 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:290:3: note: place parentheses around the assignment to silence this warning 290 | 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:290: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:326:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 326 | WALK_LIST_DELSAFE(r, rnext, m->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:326:3: note: place parentheses around the assignment to silence this warning 326 | WALK_LIST_DELSAFE(r, rnext, m->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:326: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:379:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 379 | 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:379:3: note: place parentheses around the assignment to silence this warning 379 | 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:379: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:485:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 485 | WALK_LIST_BACKWARDS_DELSAFE(r, rnext, m->ranges) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:69:27: note: expanded from macro 'WALK_LIST_BACKWARDS_DELSAFE' 69 | for(n=TAIL(list); prv=(void *)((NODE (n))->prev); n=(void *) prv) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/mpls.c:485:3: note: place parentheses around the assignment to silence this warning 485 | WALK_LIST_BACKWARDS_DELSAFE(r, rnext, m->ranges) | ^ | ( ./lib/lists.h:69:27: note: expanded from macro 'WALK_LIST_BACKWARDS_DELSAFE' 69 | for(n=TAIL(list); prv=(void *)((NODE (n))->prev); n=(void *) prv) | ^ nest/mpls.c:485:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:69:27: note: expanded from macro 'WALK_LIST_BACKWARDS_DELSAFE' 69 | for(n=TAIL(list); prv=(void *)((NODE (n))->prev); n=(void *) prv) | ^ nest/mpls.c:1142:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1142 | HASH_REMOVE2(m->net_hash, NET, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ nest/mpls.c:1142:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ nest/mpls.c:1142:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ nest/mpls.c:1147:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1147 | HASH_REMOVE2(m->attrs_hash, RTA, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ nest/mpls.c:1147:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ nest/mpls.c:1147:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ nest/mpls.c:1179:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1179 | HASH_REMOVE2(m->label_hash, LABEL, m->pool, fec); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ nest/mpls.c:1179:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ nest/mpls.c:1179:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ 22 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/neighbor.o -c nest/neighbor.c In file included from nest/neighbor.c:51: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/neighbor.c:52: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/neighbor.c:52: In file included from ./nest/iface.h:162: ./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 nest/neighbor.c:52: In file included from ./nest/iface.h:229: ./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 nest/neighbor.c:52: In file included from ./nest/iface.h:252: ./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 nest/neighbor.c:53: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/neighbor.c:53: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/neighbor.c:53: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/neighbor.c:53: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 nest/neighbor.c:53: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/password.o -c nest/password.c In file included from nest/password.c:10: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/password.c:12: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 nest/password.c:12: In file included from ./conf/conf.h:17: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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) | ^ | == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/proto.o -c nest/proto.c In file included from nest/proto.c:11: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 nest/proto.c:12: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/proto.c:22: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/proto.c:529:35: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 529 | for (struct lfjour_item *it; it = lfjour_get(&s->digest_recipient); ) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/proto.c:529:35: note: place parentheses around the assignment to silence this warning 529 | for (struct lfjour_item *it; it = lfjour_get(&s->digest_recipient); ) | ^ | ( ) nest/proto.c:529:35: note: use '==' to turn this assignment into an equality comparison 529 | for (struct lfjour_item *it; it = lfjour_get(&s->digest_recipient); ) | ^ | == nest/proto.c:555:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 555 | else | ^ nest/proto.c:575:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 575 | it = lfjour_get(&s->digest_recipient); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/proto.c:575:10: note: place parentheses around the assignment to silence this warning 575 | it = lfjour_get(&s->digest_recipient); | ^ | ( ) nest/proto.c:575:10: note: use '==' to turn this assignment into an equality comparison 575 | it = lfjour_get(&s->digest_recipient); | ^ | == nest/proto.c:910:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 910 | RT_FEED_WALK(&c->reimporter, f) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/proto.c:910:3: note: place parentheses around the assignment to silence this warning 910 | RT_FEED_WALK(&c->reimporter, f) | ^ | ( ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ nest/proto.c:910:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ nest/proto.c:1150:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1150 | else | ^ 20 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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='"3.1.4"' -MMD -MP -o obj/nest/rt-attr.o -c nest/rt-attr.c In file included from nest/rt-attr.c:47: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 nest/rt-attr.c:48: In file included from ./nest/route.h:191: ./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 nest/rt-attr.c:49: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/rt-attr.c:51: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/rt-attr.c:355:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 355 | HASH_WALK_FILTER(o->hash, next, src, sp) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:210:34: note: expanded from macro 'HASH_WALK_FILTER' 210 | for (nn = (v).data + _i; n = *nn; \ | ~~^~~~~ nest/rt-attr.c:355:3: note: place parentheses around the assignment to silence this warning 355 | HASH_WALK_FILTER(o->hash, next, src, sp) | ^ | ( ./lib/hash.h:210:34: note: expanded from macro 'HASH_WALK_FILTER' 210 | for (nn = (v).data + _i; n = *nn; \ | ^ nest/rt-attr.c:355:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:210:34: note: expanded from macro 'HASH_WALK_FILTER' 210 | for (nn = (v).data + _i; n = *nn; \ | ^ nest/rt-attr.c:1007:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1007 | else | ^ nest/rt-attr.c:1450:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1450 | if (e = e->next) | ~~^~~~~~~~~ nest/rt-attr.c:1450:13: note: place parentheses around the assignment to silence this warning 1450 | if (e = e->next) | ^ | ( ) nest/rt-attr.c:1450:13: note: use '==' to turn this assignment into an equality comparison 1450 | if (e = e->next) | ^ | == nest/rt-attr.c:1537:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1537 | if (step > 0) SPINHASH_REHASH_UP (&rta_hash_table, RTAH, struct ea_storage, step); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:451:21: note: expanded from macro 'SPINHASH_REHASH_UP' 451 | for (type *n; n = _cur->block[i].data; ) { \ | ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:1537:17: note: place parentheses around the assignment to silence this warning ./lib/hash.h:451:21: note: expanded from macro 'SPINHASH_REHASH_UP' 451 | for (type *n; n = _cur->block[i].data; ) { \ | ^ nest/rt-attr.c:1537:17: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:451:21: note: expanded from macro 'SPINHASH_REHASH_UP' 451 | for (type *n; n = _cur->block[i].data; ) { \ | ^ nest/rt-attr.c:1538:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1538 | if (step < 0) SPINHASH_REHASH_DOWN(&rta_hash_table, RTAH, struct ea_storage, -step); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:475:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 475 | for (type *n; n = _cur->block[i].data; ) { \ | ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:1538:17: note: place parentheses around the assignment to silence this warning ./lib/hash.h:475:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 475 | for (type *n; n = _cur->block[i].data; ) { \ | ^ nest/rt-attr.c:1538:17: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:475:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 475 | for (type *n; n = _cur->block[i].data; ) { \ | ^ nest/rt-attr.c:1551:34: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1551 | for (struct ea_storage *ea; ea = *eap; eap = &RTAH_NEXT(ea)) | ~~~^~~~~~ nest/rt-attr.c:1551:34: note: place parentheses around the assignment to silence this warning 1551 | for (struct ea_storage *ea; ea = *eap; eap = &RTAH_NEXT(ea)) | ^ | ( ) nest/rt-attr.c:1551:34: note: use '==' to turn this assignment into an equality comparison 1551 | for (struct ea_storage *ea; ea = *eap; eap = &RTAH_NEXT(ea)) | ^ | == nest/rt-attr.c:1595:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1595 | if (rr = ea_lookup_existing(o, squash_upto, oid)) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:1595:10: note: place parentheses around the assignment to silence this warning 1595 | if (rr = ea_lookup_existing(o, squash_upto, oid)) | ^ | ( ) nest/rt-attr.c:1595:10: note: use '==' to turn this assignment into an equality comparison 1595 | if (rr = ea_lookup_existing(o, squash_upto, oid)) | ^ | == 22 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/rt-dev.o -c nest/rt-dev.c In file included from nest/rt-dev.c:18: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/rt-dev.c:19: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/rt-dev.c:19: In file included from ./nest/iface.h:162: ./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 nest/rt-dev.c:19: In file included from ./nest/iface.h:229: ./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 nest/rt-dev.c:19: In file included from ./nest/iface.h:252: ./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 nest/rt-dev.c:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/rt-dev.c:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/rt-dev.c:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/rt-dev.c:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 nest/rt-dev.c:20: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/rt-export.o -c nest/rt-export.c In file included from nest/rt-export.c:9: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 nest/rt-export.c:10: In file included from ./nest/route.h:191: ./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 nest/rt-export.c:11: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/rt-export.c:103:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 103 | else if (feed = rt_export_next_feed(&r->feeder, &r->seq_map)) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-export.c:103:21: note: place parentheses around the assignment to silence this warning 103 | else if (feed = rt_export_next_feed(&r->feeder, &r->seq_map)) | ^ | ( ) nest/rt-export.c:103:21: note: use '==' to turn this assignment into an equality comparison 103 | else if (feed = rt_export_next_feed(&r->feeder, &r->seq_map)) | ^ | == 13 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/rt-fib.o -c nest/rt-fib.c In file included from nest/rt-fib.c:57: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 nest/rt-fib.c:58: In file included from ./nest/route.h:191: ./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-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:465:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 465 | if (it = e->readers) | ~~~^~~~~~~~~~~~ nest/rt-fib.c:465:11: note: place parentheses around the assignment to silence this warning 465 | if (it = e->readers) | ^ | ( ) nest/rt-fib.c:465:11: note: use '==' to turn this assignment into an equality comparison 465 | if (it = e->readers) | ^ | == nest/rt-fib.c:515:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 515 | if (n = f->hash_table[h]) | ~~^~~~~~~~~~~~~~~~~~ nest/rt-fib.c:515:11: note: place parentheses around the assignment to silence this warning 515 | if (n = f->hash_table[h]) | ^ | ( ) nest/rt-fib.c:515:11: note: use '==' to turn this assignment into an equality comparison 515 | if (n = f->hash_table[h]) | ^ | == nest/rt-fib.c:518:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 518 | if (i->next = n->readers) | ~~~~~~~~^~~~~~~~~~~~ nest/rt-fib.c:518:14: note: place parentheses around the assignment to silence this warning 518 | if (i->next = n->readers) | ^ | ( ) nest/rt-fib.c:518:14: note: use '==' to turn this assignment into an equality comparison 518 | if (i->next = n->readers) | ^ | == nest/rt-fib.c:550:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 550 | if (k = i->next) | ~~^~~~~~~~~ nest/rt-fib.c:550:9: note: place parentheses around the assignment to silence this warning 550 | if (k = i->next) | ^ | ( ) nest/rt-fib.c:550:9: note: use '==' to turn this assignment into an equality comparison 550 | if (k = i->next) | ^ | == nest/rt-fib.c:563:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 563 | if (j = n->readers) | ~~^~~~~~~~~~~~ nest/rt-fib.c:563:9: note: place parentheses around the assignment to silence this warning 563 | if (j = n->readers) | ^ | ( ) nest/rt-fib.c:563:9: note: use '==' to turn this assignment into an equality comparison 563 | if (j = n->readers) | ^ | == nest/rt-fib.c:573:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 573 | if (n = n->next) | ~~^~~~~~~~~ nest/rt-fib.c:573:9: note: place parentheses around the assignment to silence this warning 573 | if (n = n->next) | ^ | ( ) nest/rt-fib.c:573:9: note: use '==' to turn this assignment into an equality comparison 573 | if (n = n->next) | ^ | == nest/rt-fib.c:577:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 577 | if (n = f->hash_table[hpos]) | ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-fib.c:577:11: note: place parentheses around the assignment to silence this warning 577 | if (n = f->hash_table[hpos]) | ^ | ( ) nest/rt-fib.c:577:11: note: use '==' to turn this assignment into an equality comparison 577 | if (n = f->hash_table[hpos]) | ^ | == 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/rt-show.o -c nest/rt-show.c In file included from nest/rt-show.c:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 nest/rt-show.c:13: In file included from ./nest/route.h:191: ./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 nest/rt-show.c:14: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/rt-show.c:15: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/rt-show.c:145:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] 145 | else | ^ nest/rt-show.c:248:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 248 | 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:248:3: note: place parentheses around the assignment to silence this warning 248 | 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:248: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/rt-show.c:296:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 296 | RT_FEED_WALK(&d->tab->req, f) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-show.c:296:3: note: place parentheses around the assignment to silence this warning 296 | RT_FEED_WALK(&d->tab->req, f) | ^ | ( ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ nest/rt-show.c:296:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ nest/rt-show.c:421:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 421 | 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:421:3: note: place parentheses around the assignment to silence this warning 421 | 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:421: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) | ^ 19 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/nest/rt-table.o -c nest/rt-table.c In file included from nest/rt-table.c:96: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 nest/rt-table.c:97: In file included from ./nest/route.h:191: ./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 nest/rt-table.c:98: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from nest/rt-table.c:115: In file included from ./proto/bgp/bgp.h:17: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/rt-table.c:381:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 381 | case NET_IP4: TW(4, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' 362 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:381:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:381:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:382:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 382 | case NET_VPN4: TW(4, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' 362 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' 377 | 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:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:382:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:382:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:383:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 383 | case NET_IP6: TW(6, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' 362 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:383:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:383:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:384:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 384 | case NET_VPN6: TW(6, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' 362 | { what(ipv, var); } \ | ^~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' 377 | 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:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:384:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:384:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:393:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 393 | case NET_IP4: FW(4, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' 368 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:393:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:393:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:394:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 394 | case NET_VPN4: FW(4, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' 368 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' 377 | 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:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:394:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:394:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:395:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 395 | case NET_IP6: FW(6, FVR_IP); | ~~~~~~^~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' 368 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:395:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:395:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:396:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 396 | case NET_VPN6: FW(6, FVR_VPN); | ~~~~~~^~~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' 368 | what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ | ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' 377 | 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:374:19: note: expanded from macro 'FVR_IP' 374 | net *r; if (r = net_find_valid(tr, nh, (net_addr *) &var)) return r; | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:396:29: note: place parentheses around the assignment to silence this warning nest/rt-table.c:396:29: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:490:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 490 | RT_EXPORT_WALK(&rag->src, u) TMP_SAVED | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:490:3: note: place parentheses around the assignment to silence this warning 490 | RT_EXPORT_WALK(&rag->src, u) TMP_SAVED | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:490:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:564:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] 564 | else if (rad->u[p].max_pxlen == max_pxlen) | ^ nest/rt-table.c:809:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 809 | if (n) NET_READ_WALK_ROUTES(tr, n, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:809:12: note: place parentheses around the assignment to silence this warning 809 | if (n) NET_READ_WALK_ROUTES(tr, n, ep, e) | ^ | ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:809:12: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:997:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 997 | if (better = new->src->owner->class->rte_better) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:997:14: note: place parentheses around the assignment to silence this warning 997 | if (better = new->src->owner->class->rte_better) | ^ | ( ) nest/rt-table.c:997:14: note: use '==' to turn this assignment into an equality comparison 997 | if (better = new->src->owner->class->rte_better) | ^ | == nest/rt-table.c:1016:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1016 | if (mergable = pri->src->owner->class->rte_mergable) | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1016:16: note: place parentheses around the assignment to silence this warning 1016 | if (mergable = pri->src->owner->class->rte_mergable) | ^ | ( ) nest/rt-table.c:1016:16: note: use '==' to turn this assignment into an equality comparison 1016 | if (mergable = pri->src->owner->class->rte_mergable) | ^ | == nest/rt-table.c:1069:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1069 | NET_READ_WALK_ROUTES(tr, n, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1069:3: note: place parentheses around the assignment to silence this warning 1069 | NET_READ_WALK_ROUTES(tr, n, ep, e) | ^ | ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:1069:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:1097:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1097 | NET_READ_WALK_ROUTES(tr, n, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1097:3: note: place parentheses around the assignment to silence this warning 1097 | NET_READ_WALK_ROUTES(tr, n, ep, e) | ^ | ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:1097:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:1342:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1342 | RT_EXPORT_WALK(&c->out_req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1342:3: note: place parentheses around the assignment to silence this warning 1342 | RT_EXPORT_WALK(&c->out_req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1342:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1475:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1475 | RT_EXPORT_WALK(&c->out_req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1475:3: note: place parentheses around the assignment to silence this warning 1475 | RT_EXPORT_WALK(&c->out_req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1475:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1507:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1507 | RT_EXPORT_WALK(&c->out_req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1507:3: note: place parentheses around the assignment to silence this warning 1507 | RT_EXPORT_WALK(&c->out_req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1507:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1543:3: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1543 | else if ( | ^ nest/rt-table.c:1601:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1601 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1601:12: note: place parentheses around the assignment to silence this warning 1601 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ^ | ( ) nest/rt-table.c:1601:12: note: use '==' to turn this assignment into an equality comparison 1601 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ^ | == nest/rt-table.c:1647:8: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1647 | else if (bmap_test(&c->export_rejected_map, old->id)) | ^ nest/rt-table.c:1676:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1676 | RT_EXPORT_WALK(&tab->best_req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1676:3: note: place parentheses around the assignment to silence this warning 1676 | RT_EXPORT_WALK(&tab->best_req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1676:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:1998:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1998 | NET_WALK_ROUTES(table, net, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1998:3: note: place parentheses around the assignment to silence this warning 1998 | NET_WALK_ROUTES(table, net, ep, e) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:1998:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:2004:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 2004 | else | ^ nest/rt-table.c:2100:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2100 | for (; kk = atomic_load_explicit(k, memory_order_relaxed); k = &kk->next) | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2100:14: note: place parentheses around the assignment to silence this warning 2100 | for (; kk = atomic_load_explicit(k, memory_order_relaxed); k = &kk->next) | ^ | ( ) nest/rt-table.c:2100:14: note: use '==' to turn this assignment into an equality comparison 2100 | for (; kk = atomic_load_explicit(k, memory_order_relaxed); k = &kk->next) | ^ | == nest/rt-table.c:2177:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2177 | kk = atomic_load_explicit(k, memory_order_relaxed); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2177:6: note: place parentheses around the assignment to silence this warning 2177 | kk = atomic_load_explicit(k, memory_order_relaxed); | ^ | ( ) nest/rt-table.c:2177:6: note: use '==' to turn this assignment into an equality comparison 2177 | kk = atomic_load_explicit(k, memory_order_relaxed); | ^ | == nest/rt-table.c:2231:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2231 | NET_WALK_ROUTES(table, net, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2231:5: note: place parentheses around the assignment to silence this warning 2231 | NET_WALK_ROUTES(table, net, ep, e) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:2231:5: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:2296:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 2296 | else | ^ nest/rt-table.c:2843:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2843 | NET_WALK_ROUTES(tab, &routes[i], ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2843:7: note: place parentheses around the assignment to silence this warning 2843 | NET_WALK_ROUTES(tab, &routes[i], ep, e) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:2843:7: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:2940:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2940 | NET_READ_WALK_ROUTES(tp, &routes[i], ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2940:5: note: place parentheses around the assignment to silence this warning 2940 | NET_READ_WALK_ROUTES(tp, &routes[i], ep, e) | ^ | ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ nest/rt-table.c:2940:5: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' 231 | r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ | ^ In file included from nest/rt-table.c:3115: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == nest/rt-table.c:3125:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3125 | RT_EXPORT_WALK(&ln->req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3125:3: note: place parentheses around the assignment to silence this warning 3125 | RT_EXPORT_WALK(&ln->req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:3125:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:3145:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3145 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3145:12: note: place parentheses around the assignment to silence this warning 3145 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ^ | ( ) nest/rt-table.c:3145:12: note: use '==' to turn this assignment into an equality comparison 3145 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ^ | == nest/rt-table.c:3348:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3348 | RT_EXPORT_WALK(&d->req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3348:3: note: place parentheses around the assignment to silence this warning 3348 | RT_EXPORT_WALK(&d->req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:3348:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:3546:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3546 | RT_EXPORT_WALK(&t->best_req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3546:3: note: place parentheses around the assignment to silence this warning 3546 | RT_EXPORT_WALK(&t->best_req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:3546:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:3633:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3633 | NET_WALK_ROUTES(tab, n, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3633:3: note: place parentheses around the assignment to silence this warning 3633 | NET_WALK_ROUTES(tab, n, ep, e) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:3633:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:4335:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 4335 | NET_WALK_ROUTES(tab, n, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:4335:3: note: place parentheses around the assignment to silence this warning 4335 | NET_WALK_ROUTES(tab, n, ep, e) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:4335:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:4347:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 4347 | NET_WALK_ROUTES(tab, n, ep, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:4347:3: note: place parentheses around the assignment to silence this warning 4347 | NET_WALK_ROUTES(tab, n, ep, e) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:4347:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:5085:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 5085 | RT_EXPORT_WALK(&hc->req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:5085:3: note: place parentheses around the assignment to silence this warning 5085 | RT_EXPORT_WALK(&hc->req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:5085:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ nest/rt-table.c:5106:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 5106 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:5106:12: note: place parentheses around the assignment to silence this warning 5106 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ^ | ( ) nest/rt-table.c:5106:12: note: use '==' to turn this assignment into an equality comparison 5106 | rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) | ^ | == nest/rt-table.c:5255:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 5255 | NET_WALK_ROUTES(tab, n, ep, ee) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:5255:7: note: place parentheses around the assignment to silence this warning 5255 | NET_WALK_ROUTES(tab, n, ep, ee) | ^ | ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:5255:7: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' 239 | r = atomic_load_explicit(ptr, memory_order_acquire); \ | ^ nest/rt-table.c:5295:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] 5295 | else | ^ nest/rt-table.c:5303:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] 5303 | else | ^ nest/rt-table.c:5380:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 5380 | 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:5380:3: note: place parentheses around the assignment to silence this warning 5380 | 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:5380: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/rt-table.c:5429:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 5429 | else | ^ 62 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/aggregator/aggregator.o -c proto/aggregator/aggregator.c In file included from proto/aggregator/aggregator.c:43: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/aggregator/aggregator.c:44: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/aggregator/aggregator.c:44: In file included from ./nest/iface.h:162: ./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 proto/aggregator/aggregator.c:44: In file included from ./nest/iface.h:229: ./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 proto/aggregator/aggregator.c:44: In file included from ./nest/iface.h:252: ./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 proto/aggregator/aggregator.c:45: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/aggregator/aggregator.c:45: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/aggregator/aggregator.c:45: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/aggregator/aggregator.c:45: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:191: ./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 proto/aggregator/aggregator.c:46: In file included from proto/aggregator/aggregator.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/aggregator/aggregator.c:263:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 263 | if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/aggregator/aggregator.c:263:20: note: place parentheses around the assignment to silence this warning 263 | if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) | ^ | ( ) proto/aggregator/aggregator.c:263:20: note: use '==' to turn this assignment into an equality comparison 263 | if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) | ^ | == proto/aggregator/aggregator.c:299:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 299 | HASH_REMOVE2(p->routes, AGGR_RTE, p->p.pool, old_route); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:299:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:299:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:315:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 315 | HASH_REMOVE2(p->buckets, AGGR_BUCK, p->p.pool, old_bucket); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:315:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:315:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:411:46: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 411 | for (struct aggregator_route *arte; arte = b->rte; ) | ~~~~~^~~~~~~~ proto/aggregator/aggregator.c:411:46: note: place parentheses around the assignment to silence this warning 411 | for (struct aggregator_route *arte; arte = b->rte; ) | ^ | ( ) proto/aggregator/aggregator.c:411:46: note: use '==' to turn this assignment into an equality comparison 411 | for (struct aggregator_route *arte; arte = b->rte; ) | ^ | == proto/aggregator/aggregator.c:415:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 415 | HASH_REMOVE(p->routes, AGGR_RTE, arte); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:415:7: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:415:7: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:424:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 424 | HASH_REMOVE(p->buckets, AGGR_BUCK, b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/aggregator/aggregator.c:424:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/aggregator/aggregator.c:424:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/bfd/bfd.o -c proto/bfd/bfd.c In file included from proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:69: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:14: In file included from ./nest/iface.h:162: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:14: In file included from ./nest/iface.h:229: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:14: In file included from ./nest/iface.h:252: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:26: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:63: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/bfd.c:95: In file included from proto/bfd/bfd.h:111: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/bfd/bfd.c:571:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 571 | HASH_REMOVE(p->session_hash_id, HASH_ID, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bfd/bfd.c:571:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:571:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:572:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 572 | HASH_REMOVE(p->session_hash_ip, HASH_IP, s); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bfd/bfd.c:572:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:572:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bfd/bfd.c:799:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 799 | req = bfd_pick_request(p); | ~~~~^~~~~~~~~~~~~~~~~~~~~ proto/bfd/bfd.c:799:11: note: place parentheses around the assignment to silence this warning 799 | req = bfd_pick_request(p); | ^ | ( ) proto/bfd/bfd.c:799:11: note: use '==' to turn this assignment into an equality comparison 799 | req = bfd_pick_request(p); | ^ | == 25 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:69: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:14: In file included from ./nest/iface.h:162: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:14: In file included from ./nest/iface.h:229: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:14: In file included from ./nest/iface.h:252: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:26: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:63: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:111: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 22 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:16: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:69: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:18: In file included from ./nest/iface.h:162: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:18: In file included from ./nest/iface.h:229: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:18: In file included from ./nest/iface.h:252: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:191: ./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 proto/babel/babel.c:44: In file included from proto/babel/babel.h:20: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/babel/babel.c:140:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 140 | 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:140:3: note: place parentheses around the assignment to silence this warning 140 | 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:140: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:247:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 247 | 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:247:5: note: place parentheses around the assignment to silence this warning 247 | 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:247: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:415:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 415 | 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:415:3: note: place parentheses around the assignment to silence this warning 415 | 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:415: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:537:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 537 | 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:537:5: note: place parentheses around the assignment to silence this warning 537 | 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:537: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:1010:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1010 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:1010:3: note: place parentheses around the assignment to silence this warning 1010 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:1010:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | 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) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | 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) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | 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 ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | 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) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | 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) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | 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 ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2316:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2316 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2316:3: note: place parentheses around the assignment to silence this warning 2316 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2316:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2331:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2331 | else if (r = e->selected) | ~~^~~~~~~~~~~~~ proto/babel/babel.c:2331:16: note: place parentheses around the assignment to silence this warning 2331 | else if (r = e->selected) | ^ | ( ) proto/babel/babel.c:2331:16: note: use '==' to turn this assignment into an equality comparison 2331 | else if (r = e->selected) | ^ | == proto/babel/babel.c:2366:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2366 | FIB_WALK(rtable, struct babel_entry, e) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2366:3: note: place parentheses around the assignment to silence this warning 2366 | FIB_WALK(rtable, struct babel_entry, e) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/babel/babel.c:2366:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 23 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:16: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:69: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:18: In file included from ./nest/iface.h:162: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:18: In file included from ./nest/iface.h:229: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:18: In file included from ./nest/iface.h:252: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:191: ./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 proto/babel/packets.c:13: In file included from proto/babel/babel.h:20: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 13 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/bgp/attrs.o -c proto/bgp/attrs.c In file included from proto/bgp/attrs.c:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/bgp/attrs.c:16: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/bgp/attrs.c:16: In file included from ./nest/iface.h:162: ./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 proto/bgp/attrs.c:16: In file included from ./nest/iface.h:229: ./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 proto/bgp/attrs.c:16: In file included from ./nest/iface.h:252: ./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 proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/attrs.c:27: In file included from proto/bgp/bgp.h:17: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/bgp/attrs.c:1788:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1788 | HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bgp/attrs.c:1788:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1788:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1936:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 1936 | else | ^ proto/bgp/attrs.c:1960:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1960 | HASH_REMOVE2(c->prefix_hash, PXH, c->pool, px); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bgp/attrs.c:1960:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:1960:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' 171 | HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ | ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bgp/attrs.c:2840:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2840 | s = atomic_load_explicit(ptr, memory_order_acquire); | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2840:9: note: place parentheses around the assignment to silence this warning 2840 | s = atomic_load_explicit(ptr, memory_order_acquire); | ^ | ( ) proto/bgp/attrs.c:2840:9: note: use '==' to turn this assignment into an equality comparison 2840 | s = atomic_load_explicit(ptr, memory_order_acquire); | ^ | == proto/bgp/attrs.c:2861:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2861 | s = atomic_load_explicit(ptr, memory_order_acquire); | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2861:9: note: place parentheses around the assignment to silence this warning 2861 | s = atomic_load_explicit(ptr, memory_order_acquire); | ^ | ( ) proto/bgp/attrs.c:2861:9: note: use '==' to turn this assignment into an equality comparison 2861 | s = atomic_load_explicit(ptr, memory_order_acquire); | ^ | == proto/bgp/attrs.c:2908:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2908 | RT_FEED_WALK(&c->stale_feed, f) TMP_SAVED | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2908:3: note: place parentheses around the assignment to silence this warning 2908 | RT_FEED_WALK(&c->stale_feed, f) TMP_SAVED | ^ | ( ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ proto/bgp/attrs.c:2908:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ proto/bgp/attrs.c:3022:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3022 | else if (metric = rt_get_igp_metric(e)) | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:3022:21: note: place parentheses around the assignment to silence this warning 3022 | else if (metric = rt_get_igp_metric(e)) | ^ | ( ) proto/bgp/attrs.c:3022:21: note: use '==' to turn this assignment into an equality comparison 3022 | else if (metric = rt_get_igp_metric(e)) | ^ | == 22 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/bgp/bgp.o -c proto/bgp/bgp.c In file included from proto/bgp/bgp.c:118: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/bgp/bgp.c:119: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/bgp/bgp.c:119: In file included from ./nest/iface.h:162: ./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 proto/bgp/bgp.c:119: In file included from ./nest/iface.h:229: ./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 proto/bgp/bgp.c:119: In file included from ./nest/iface.h:252: ./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 proto/bgp/bgp.c:120: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/bgp/bgp.c:120: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/bgp/bgp.c:120: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/bgp/bgp.c:120: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/bgp/bgp.c:120: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/bgp.c:123: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/bgp.c:131: In file included from proto/bgp/bgp.h:17: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/bgp.c:133: In file included from ./proto/bmp/bmp.h:112: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/bgp.c:133: In file included from ./proto/bmp/bmp.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/bgp/bgp.c:540:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 540 | 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:540:5: note: place parentheses around the assignment to silence this warning 540 | 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:540: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:800:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 800 | WALK_LIST_DELSAFE(bs, nxt, bgp_sockets) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./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:800:3: note: place parentheses around the assignment to silence this warning 800 | WALK_LIST_DELSAFE(bs, nxt, bgp_sockets) | ^ | ( ./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:800: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/bgp/bgp.c:2847:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2847 | if (tab = rt_get_default_table(cf->c.global, type)) | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/bgp.c:2847:11: note: place parentheses around the assignment to silence this warning 2847 | if (tab = rt_get_default_table(cf->c.global, type)) | ^ | ( ) proto/bgp/bgp.c:2847:11: note: use '==' to turn this assignment into an equality comparison 2847 | if (tab = rt_get_default_table(cf->c.global, type)) | ^ | == proto/bgp/bgp.c:3026:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 3026 | else | ^ proto/bgp/bgp.c:3033:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] 3033 | else | ^ proto/bgp/bgp.c:3164:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 3164 | 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:3164:3: note: place parentheses around the assignment to silence this warning 3164 | 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:3164: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) | ^ 30 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/bgp/packets.o -c proto/bgp/packets.c In file included from proto/bgp/packets.c:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/bgp/packets.c:16: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/bgp/packets.c:16: In file included from ./nest/iface.h:162: ./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 proto/bgp/packets.c:16: In file included from ./nest/iface.h:229: ./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 proto/bgp/packets.c:16: In file included from ./nest/iface.h:252: ./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 proto/bgp/packets.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/bgp/packets.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/bgp/packets.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/bgp/packets.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/bgp/packets.c:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/packets.c:26: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/packets.c:28: In file included from proto/bgp/bgp.h:17: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/packets.c:30: In file included from ./proto/bmp/bmp.h:112: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bgp/packets.c:30: In file included from ./proto/bmp/bmp.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/bgp/packets.c:1294:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1294 | if (nhloc = bgp_use_gateway(s)) | ~~~~~~^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:1294:15: note: place parentheses around the assignment to silence this warning 1294 | if (nhloc = bgp_use_gateway(s)) | ^ | ( ) proto/bgp/packets.c:1294:15: note: use '==' to turn this assignment into an equality comparison 1294 | if (nhloc = bgp_use_gateway(s)) | ^ | == 25 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/l3vpn/l3vpn.o -c proto/l3vpn/l3vpn.c In file included from proto/l3vpn/l3vpn.c:36: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/l3vpn/l3vpn.c:37: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/l3vpn/l3vpn.c:37: In file included from ./nest/iface.h:162: ./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 proto/l3vpn/l3vpn.c:37: In file included from ./nest/iface.h:229: ./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 proto/l3vpn/l3vpn.c:37: In file included from ./nest/iface.h:252: ./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 proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/l3vpn/l3vpn.c:41: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:794:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 794 | 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:794:5: note: place parentheses around the assignment to silence this warning 794 | 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:794: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:913:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 913 | 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:913:3: note: place parentheses around the assignment to silence this warning 913 | 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:913: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:1168:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1168 | 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:1168:5: note: place parentheses around the assignment to silence this warning 1168 | 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:1168: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:1203:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1203 | 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:1203:7: note: place parentheses around the assignment to silence this warning 1203 | 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:1203: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:1388:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1388 | 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:1388:3: note: place parentheses around the assignment to silence this warning 1388 | 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:1388: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) | ^ 24 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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)) | ^ | == 19 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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) | ^ 19 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/ospf/neighbor.c:544:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 544 | 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:544:7: note: place parentheses around the assignment to silence this warning 544 | 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:544: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) | ^ 19 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/ospf/ospf.c:541:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 541 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:541:3: note: place parentheses around the assignment to silence this warning 541 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:541:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:634:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 634 | 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:634:5: note: place parentheses around the assignment to silence this warning 634 | 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:634: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:751:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 751 | 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:751:3: note: place parentheses around the assignment to silence this warning 751 | 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:751: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:758:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 758 | 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:758:3: note: place parentheses around the assignment to silence this warning 758 | 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:758: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:845:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 845 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:845:5: note: place parentheses around the assignment to silence this warning 845 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:845:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:858:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 858 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:858:5: note: place parentheses around the assignment to silence this warning 858 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/ospf.c:858:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 24 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:14: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/ospf/rt.c:986:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] 986 | if ((nf->n.oa->areaid == oa->areaid)) | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ proto/ospf/rt.c:986:25: note: remove extraneous parentheses around the comparison to silence this warning 986 | if ((nf->n.oa->areaid == oa->areaid)) | ~ ^ ~ proto/ospf/rt.c:986:25: note: use '=' to turn this equality comparison into an assignment 986 | if ((nf->n.oa->areaid == oa->areaid)) | ^~ | = proto/ospf/rt.c:1190:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1190 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1190:3: note: place parentheses around the assignment to silence this warning 1190 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1190:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1198:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1198 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1198:3: note: place parentheses around the assignment to silence this warning 1198 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1198:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1264:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1264 | FIB_WALK(&oa->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1264:7: note: place parentheses around the assignment to silence this warning 1264 | FIB_WALK(&oa->rtr, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1264:7: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1275:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1275 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1275:3: note: place parentheses around the assignment to silence this warning 1275 | FIB_WALK(&p->backbone->rtr, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1275:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1315:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1315 | FIB_WALK(&oa->rtr, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1315:7: note: place parentheses around the assignment to silence this warning 1315 | FIB_WALK(&oa->rtr, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1315:7: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1360:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1360 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1360:3: note: place parentheses around the assignment to silence this warning 1360 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1360:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1388:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1388 | FIB_WALK(&p->rtf, ort, nf) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1388:3: note: place parentheses around the assignment to silence this warning 1388 | FIB_WALK(&p->rtf, ort, nf) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1388:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1605:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1605 | FIB_WALK(&p->rtf, ort, ri) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1605:3: note: place parentheses around the assignment to silence this warning 1605 | FIB_WALK(&p->rtf, ort, ri) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1605:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1628:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1628 | FIB_WALK(&oa->rtr, ort, ri) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1628:5: note: place parentheses around the assignment to silence this warning 1628 | FIB_WALK(&oa->rtr, ort, ri) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1628:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1637:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1637 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1637:7: note: place parentheses around the assignment to silence this warning 1637 | FIB_WALK(&oa->net_fib, struct area_net, anet) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1637:7: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1644:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1644 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/rt.c:1644:7: note: place parentheses around the assignment to silence this warning 1644 | FIB_WALK(&oa->enet_fib, struct area_net, anet) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/ospf/rt.c:1644:7: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 30 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/ospf/topology.o -c proto/ospf/topology.c In file included from proto/ospf/topology.c:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:21: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:28: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/ospf/topology.c:518:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 518 | 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:518:3: note: place parentheses around the assignment to silence this warning 518 | 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:518: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:1724:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1724 | if (en = ifa->link_lsa) | ~~~^~~~~~~~~~~~~~~ proto/ospf/topology.c:1724:10: note: place parentheses around the assignment to silence this warning 1724 | if (en = ifa->link_lsa) | ^ | ( ) proto/ospf/topology.c:1724:10: note: use '==' to turn this assignment into an equality comparison 1724 | if (en = ifa->link_lsa) | ^ | == 20 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/pipe/pipe.o -c proto/pipe/pipe.c In file included from proto/pipe/pipe.c:35: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/pipe/pipe.c:36: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/pipe/pipe.c:36: In file included from ./nest/iface.h:162: ./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 proto/pipe/pipe.c:36: In file included from ./nest/iface.h:229: ./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 proto/pipe/pipe.c:36: In file included from ./nest/iface.h:252: ./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 proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/pipe/pipe.c:39: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:18: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/radv/packets.c:400:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 400 | FIB_WALK(&p->routes, struct radv_route, rt) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/packets.c:400:5: note: place parentheses around the assignment to silence this warning 400 | FIB_WALK(&p->routes, struct radv_route, rt) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/radv/packets.c:400:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:18: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 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:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/radv/radv.c:170:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 170 | 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:170:3: note: place parentheses around the assignment to silence this warning 170 | 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:170: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:193:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 193 | 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:193:3: note: place parentheses around the assignment to silence this warning 193 | 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:193: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) | ^ 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:69: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:17: In file included from ./nest/iface.h:162: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:17: In file included from ./nest/iface.h:229: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:17: In file included from ./nest/iface.h:252: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/rip/packets.c:14: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/rip/packets.c:14: In file included from proto/rip/rip.h:22: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -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:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:69: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:17: In file included from ./nest/iface.h:162: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:17: In file included from ./nest/iface.h:229: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:17: In file included from ./nest/iface.h:252: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/rip/rip.c:81: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/rip/rip.c:81: In file included from proto/rip/rip.h:22: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/rip/rip.c:271:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 271 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ~~~^~~~~ proto/rip/rip.c:271:29: note: place parentheses around the assignment to silence this warning 271 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | ( ) proto/rip/rip.c:271:29: note: use '==' to turn this assignment into an equality comparison 271 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | == proto/rip/rip.c:318:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 318 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ~~~^~~~~ proto/rip/rip.c:318:29: note: place parentheses around the assignment to silence this warning 318 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | ( ) proto/rip/rip.c:318:29: note: use '==' to turn this assignment into an equality comparison 318 | for (rp = &en->routes; rt = *rp; rp = &rt->next) | ^ | == proto/rip/rip.c:431:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 431 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:431:3: note: place parentheses around the assignment to silence this warning 431 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/rip/rip.c:431:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/rip/rip.c:950:31: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 950 | for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) | ~~~^~~~~ proto/rip/rip.c:950:31: note: place parentheses around the assignment to silence this warning 950 | for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) | ^ | ( ) proto/rip/rip.c:950:31: note: use '==' to turn this assignment into an equality comparison 950 | for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) | ^ | == proto/rip/rip.c:1009:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1009 | 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:1009:5: note: place parentheses around the assignment to silence this warning 1009 | 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:1009: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:1370:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1370 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:1370:3: note: place parentheses around the assignment to silence this warning 1370 | FIB_WALK(&p->rtable, struct rip_entry, en) | ^ | ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ proto/rip/rip.c:1370:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 86 | for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) | ^ 22 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/rpki/rpki.o -c proto/rpki/rpki.c In file included from proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:191: ./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 proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/rpki/rpki.c:98: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/rpki/packets.o -c proto/rpki/packets.c In file included from proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:191: ./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 proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/rpki/tcp_transport.o -c proto/rpki/tcp_transport.c In file included from proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:191: ./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 proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/rpki/ssh_transport.o -c proto/rpki/ssh_transport.c In file included from proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:191: ./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 proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/rpki/transport.o -c proto/rpki/transport.c In file included from proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:15: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:191: ./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 proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/static/static.o -c proto/static/static.c In file included from proto/static/static.c:38: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/static/static.c:39: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/static/static.c:39: In file included from ./nest/iface.h:162: ./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 proto/static/static.c:39: In file included from ./nest/iface.h:229: ./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 proto/static/static.c:39: In file included from ./nest/iface.h:252: ./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 proto/static/static.c:40: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/static/static.c:40: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/static/static.c:40: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/static/static.c:40: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/static/static.c:40: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/static/static.c:43: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/static/static.c:49: In file included from proto/static/static.h:13: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/mrt/mrt.o -c proto/mrt/mrt.c In file included from proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/mrt/mrt.c:50: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/mrt/mrt.c:52: In file included from ./proto/bgp/bgp.h:17: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/mrt/mrt.c:54: In file included from ./sysdep/unix/io-loop.h:81: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/mrt/mrt.c:54: In file included from ./sysdep/unix/io-loop.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/mrt/mrt.c:207:25: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 207 | for (last = src; next = strstr(last, key); last = next + klen) | ~~~~~^~~~~~~~~~~~~~~~~~~ proto/mrt/mrt.c:207:25: note: place parentheses around the assignment to silence this warning 207 | for (last = src; next = strstr(last, key); last = next + klen) | ^ | ( ) proto/mrt/mrt.c:207:25: note: use '==' to turn this assignment into an equality comparison 207 | for (last = src; next = strstr(last, key); last = next + klen) | ^ | == proto/mrt/mrt.c:660:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 660 | RT_FEED_WALK(&s->feeder, route_feed) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/mrt/mrt.c:660:5: note: place parentheses around the assignment to silence this warning 660 | RT_FEED_WALK(&s->feeder, route_feed) | ^ | ( ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ proto/mrt/mrt.c:660:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ 26 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/proto/bmp/bmp.o -c proto/bmp/bmp.c In file included from proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:12: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:162: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:229: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:15: In file included from ./nest/iface.h:252: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:191: ./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 proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:20: In file included from ./proto/bgp/bgp.h:17: In file included from ./nest/bfd.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:112: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/bmp.c:45: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/bmp.c:49: In file included from ./sysdep/unix/io-loop.h:81: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from proto/bmp/bmp.c:49: In file included from ./sysdep/unix/io-loop.h:119: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == proto/bmp/bmp.c:369:39: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 369 | for (struct bmp_tx_buffer *btb; btb = p->tx_pending; ) | ~~~~^~~~~~~~~~~~~~~ proto/bmp/bmp.c:369:39: note: place parentheses around the assignment to silence this warning 369 | for (struct bmp_tx_buffer *btb; btb = p->tx_pending; ) | ^ | ( ) proto/bmp/bmp.c:369:39: note: use '==' to turn this assignment into an equality comparison 369 | for (struct bmp_tx_buffer *btb; btb = p->tx_pending; ) | ^ | == proto/bmp/bmp.c:581:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 581 | HASH_REMOVE(p->table_map, HASH_TABLE, bt); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/bmp.c:581:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:581:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:639:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 639 | HASH_REMOVE(p->stream_map, HASH_STREAM, bs); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/bmp.c:639:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:639:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:747:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 747 | HASH_REMOVE(p->peer_map, HASH_PEER, bp); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ~~~^~~~~~ proto/bmp/bmp.c:747:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:747:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 89 | if (_n = *_nn) \ | ^ proto/bmp/bmp.c:1069:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1069 | RT_EXPORT_WALK(&bt->out_req, u) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~ proto/bmp/bmp.c:1069:3: note: place parentheses around the assignment to silence this warning 1069 | RT_EXPORT_WALK(&bt->out_req, u) | ^ | ( ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ proto/bmp/bmp.c:1069:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:276:10: note: expanded from macro 'RT_EXPORT_WALK' 276 | _u = rt_export_get(_reader); \ | ^ proto/bmp/bmp.c:1435:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1435 | last_up = lfjour_get(&p->proto_state_reader); | ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bmp/bmp.c:1435:15: note: place parentheses around the assignment to silence this warning 1435 | last_up = lfjour_get(&p->proto_state_reader); | ^ | ( ) proto/bmp/bmp.c:1435:15: note: use '==' to turn this assignment into an equality comparison 1435 | last_up = lfjour_get(&p->proto_state_reader); | ^ | == 36 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/alloc.o -c sysdep/unix/alloc.c In file included from sysdep/unix/alloc.c:9: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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/alloc.c:13: In file included from ./lib/io-loop.h:98: ./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/alloc.c:15: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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/alloc.c:188:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 188 | if (fp = PAGE_STACK_GET) | ~~~^~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:188:10: note: place parentheses around the assignment to silence this warning 188 | if (fp = PAGE_STACK_GET) | ^ | ( ) sysdep/unix/alloc.c:188:10: note: use '==' to turn this assignment into an equality comparison 188 | if (fp = PAGE_STACK_GET) | ^ | == sysdep/unix/alloc.c:238:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 238 | if (fp = alloc_hot_page(fp)) | ~~~^~~~~~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:238:10: note: place parentheses around the assignment to silence this warning 238 | if (fp = alloc_hot_page(fp)) | ^ | ( ) sysdep/unix/alloc.c:238:10: note: use '==' to turn this assignment into an equality comparison 238 | if (fp = alloc_hot_page(fp)) | ^ | == sysdep/unix/alloc.c:252:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 252 | if (fp = alloc_hot_page(fp)) | ~~~^~~~~~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:252:10: note: place parentheses around the assignment to silence this warning 252 | if (fp = alloc_hot_page(fp)) | ^ | ( ) sysdep/unix/alloc.c:252:10: note: use '==' to turn this assignment into an equality comparison 252 | if (fp = alloc_hot_page(fp)) | ^ | == sysdep/unix/alloc.c:372:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 372 | while (next = atomic_load_explicit(&last->next, memory_order_relaxed)) | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:372:15: note: place parentheses around the assignment to silence this warning 372 | while (next = atomic_load_explicit(&last->next, memory_order_relaxed)) | ^ | ( ) sysdep/unix/alloc.c:372:15: note: use '==' to turn this assignment into an equality comparison 372 | while (next = atomic_load_explicit(&last->next, memory_order_relaxed)) | ^ | == 7 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/io.o -c sysdep/unix/io.c In file included from sysdep/unix/io.c:38: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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/io.c:44: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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/io.c:47: In file included from ./nest/iface.h:162: ./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/io.c:47: In file included from ./nest/iface.h:229: ./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/io.c:47: In file included from ./nest/iface.h:252: ./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/io.c:48: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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/io.c:48: In file included from ./nest/cli.h:69: ./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/io.c:52: In file included from ./sysdep/unix/io-loop.h:81: ./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/io.c:52: In file included from ./sysdep/unix/io-loop.h:119: ./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:259:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] 259 | else | ^ sysdep/unix/io.c:2222:7: warning: 'ssh_channel_select' is deprecated [-Wdeprecated-declarations] 2222 | if (ssh_channel_select(rchans, NULL, NULL, &timev) == SSH_EINTR) | ^ /usr/local/include/libssh/libssh.h:584:1: note: 'ssh_channel_select' has been explicitly marked deprecated here 584 | SSH_DEPRECATED LIBSSH_API int ssh_channel_select(ssh_channel *readchans, ssh_channel *writechans, ssh_channel *exceptchans, struct | ^ /usr/local/include/libssh/libssh.h:81:40: note: expanded from macro 'SSH_DEPRECATED' 81 | #define SSH_DEPRECATED __attribute__ ((deprecated)) | ^ sysdep/unix/io.c:2651:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 2651 | if (t = timers_first(&main_birdloop.time)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io.c:2651:13: note: place parentheses around the assignment to silence this warning 2651 | if (t = timers_first(&main_birdloop.time)) | ^ | ( ) sysdep/unix/io.c:2651:13: note: use '==' to turn this assignment into an equality comparison 2651 | if (t = timers_first(&main_birdloop.time)) | ^ | == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/io-loop.o -c sysdep/unix/io-loop.c In file included from sysdep/unix/io-loop.c:17: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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/io-loop.c:20: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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/io-loop.c:29: In file included from ./sysdep/unix/io-loop.h:81: ./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/io-loop.c:29: In file included from ./sysdep/unix/io-loop.h:119: ./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/io-loop.c:30: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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/io-loop.c:31: In file included from ./nest/cli.h:69: ./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/io-loop.c:607: ./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-loop.c:896:32: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 896 | if (this_thread->busy_active = val) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~ sysdep/unix/io-loop.c:896:32: note: place parentheses around the assignment to silence this warning 896 | if (this_thread->busy_active = val) | ^ | ( ) sysdep/unix/io-loop.c:896:32: note: use '==' to turn this assignment into an equality comparison 896 | if (this_thread->busy_active = val) | ^ | == sysdep/unix/io-loop.c:1174:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1174 | if (e = pthread_attr_init(&thr->thread_attr)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1174:13: note: place parentheses around the assignment to silence this warning 1174 | if (e = pthread_attr_init(&thr->thread_attr)) | ^ | ( ) sysdep/unix/io-loop.c:1174:13: note: use '==' to turn this assignment into an equality comparison 1174 | if (e = pthread_attr_init(&thr->thread_attr)) | ^ | == sysdep/unix/io-loop.c:1182:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1182 | if (e = pthread_attr_setdetachstate(&thr->thread_attr, PTHREAD_CREATE_DETACHED)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1182:13: note: place parentheses around the assignment to silence this warning 1182 | if (e = pthread_attr_setdetachstate(&thr->thread_attr, PTHREAD_CREATE_DETACHED)) | ^ | ( ) sysdep/unix/io-loop.c:1182:13: note: use '==' to turn this assignment into an equality comparison 1182 | if (e = pthread_attr_setdetachstate(&thr->thread_attr, PTHREAD_CREATE_DETACHED)) | ^ | == sysdep/unix/io-loop.c:1185:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1185 | if (e = pthread_create(&thr->thread_id, &thr->thread_attr, bird_thread_main, thr)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1185:13: note: place parentheses around the assignment to silence this warning 1185 | if (e = pthread_create(&thr->thread_id, &thr->thread_attr, bird_thread_main, thr)) | ^ | ( ) sysdep/unix/io-loop.c:1185:13: note: use '==' to turn this assignment into an equality comparison 1185 | if (e = pthread_create(&thr->thread_id, &thr->thread_attr, bird_thread_main, thr)) | ^ | == sysdep/unix/io-loop.c:1749:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1749 | while (t = timers_first(&loop->time)) | ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1749:12: note: place parentheses around the assignment to silence this warning 1749 | while (t = timers_first(&loop->time)) | ^ | ( ) sysdep/unix/io-loop.c:1749:12: note: use '==' to turn this assignment into an equality comparison 1749 | while (t = timers_first(&loop->time)) | ^ | == sysdep/unix/io-loop.c:1799:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 1799 | ltt = atomic_load_explicit(&loop->thread_transition, memory_order_acquire); | ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1799:11: note: place parentheses around the assignment to silence this warning 1799 | ltt = atomic_load_explicit(&loop->thread_transition, memory_order_acquire); | ^ | ( ) sysdep/unix/io-loop.c:1799:11: note: use '==' to turn this assignment into an equality comparison 1799 | ltt = atomic_load_explicit(&loop->thread_transition, memory_order_acquire); | ^ | == 13 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/krt.o -c sysdep/unix/krt.c In file included from sysdep/unix/krt.c:54: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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/krt.c:55: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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/krt.c:55: In file included from ./nest/iface.h:162: ./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/krt.c:55: In file included from ./nest/iface.h:229: ./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/krt.c:55: In file included from ./nest/iface.h:252: ./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/krt.c:56: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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/krt.c:56: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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/krt.c:56: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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/krt.c:56: In file included from ./nest/route.h:191: ./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/krt.c:57: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == sysdep/unix/krt.c:941:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 941 | RT_FEED_WALK(&req, f) | ^~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/krt.c:941:5: note: place parentheses around the assignment to silence this warning 941 | RT_FEED_WALK(&req, f) | ^ | ( ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ sysdep/unix/krt.c:941:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:249:44: note: expanded from macro 'RT_FEED_WALK' 249 | for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder, NULL); ) \ | ^ 13 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/log.o -c sysdep/unix/log.c In file included from sysdep/unix/log.c:26: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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/log.c:27: In file included from ./nest/cli.h:15: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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/log.c:27: In file included from ./nest/cli.h:17: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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/log.c:27: In file included from ./nest/cli.h:69: ./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/log.c:33: In file included from ./sysdep/unix/io-loop.h:81: ./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/log.c:33: In file included from ./sysdep/unix/io-loop.h:119: ./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/log.c:586:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 586 | ol = atomic_load_explicit(pprev, memory_order_acquire); | ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/log.c:586:10: note: place parentheses around the assignment to silence this warning 586 | ol = atomic_load_explicit(pprev, memory_order_acquire); | ^ | ( ) sysdep/unix/log.c:586:10: note: use '==' to turn this assignment into an equality comparison 586 | ol = atomic_load_explicit(pprev, memory_order_acquire); | ^ | == 7 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/main.o -c sysdep/unix/main.c In file included from sysdep/unix/main.c:26: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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:32: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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:35: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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:35: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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:35: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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:35: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:162: ./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:35: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:229: ./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:35: In file included from ./nest/route.h:29: In file included from ./filter/data.h:15: In file included from ./nest/iface.h:252: ./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:35: In file included from ./nest/route.h:191: ./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:36: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from sysdep/unix/main.c:39: In file included from ./nest/cli.h:69: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == In file included from sysdep/unix/main.c:447: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/unix/random.o -c sysdep/unix/random.c In file included from sysdep/unix/random.c:17: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/sysdep/unix/domain.o -c sysdep/unix/domain.c In file included from sysdep/unix/domain.c:19: In file included from ./lib/resource.h:37: ./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/domain.c:20: In file included from ./lib/timer.h:15: In file included from ./lib/io-loop.h:98: ./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/domain.c:22: In file included from ./conf/conf.h:16: In file included from ./lib/obstacle.h:27: ./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) | ^ | == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -DBIRD_VERSION='"3.1.4"' -MMD -MP -o obj/sysdep/bsd/krt-sock.o -c sysdep/bsd/krt-sock.c In file included from sysdep/bsd/krt-sock.c:26: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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/bsd/krt-sock.c:27: In file included from ./nest/iface.h:13: In file included from ./lib/defer.h:21: In file included from ./lib/io-loop.h:98: ./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/bsd/krt-sock.c:27: In file included from ./nest/iface.h:162: ./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/bsd/krt-sock.c:27: In file included from ./nest/iface.h:229: ./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/bsd/krt-sock.c:27: In file included from ./nest/iface.h:252: ./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/bsd/krt-sock.c:28: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:201: ./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/bsd/krt-sock.c:28: In file included from ./nest/route.h:15: In file included from ./lib/lockfree.h:226: ./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/bsd/krt-sock.c:28: In file included from ./nest/route.h:20: In file included from ./lib/obstacle.h:27: ./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/bsd/krt-sock.c:28: In file included from ./nest/route.h:191: ./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/bsd/krt-sock.c:29: In file included from ./nest/protocol.h:221: ./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/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) | ^ | == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 151 | if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) | ^ | == sysdep/bsd/krt-sock.c:1236:39: warning: incompatible pointer types passing 'struct sockaddr *' to parameter of type 'sockaddr *' (aka 'struct sockaddr_bird *') [-Wincompatible-pointer-types] 1236 | i->sysdep = ipa_to_ip4(ipa_from_sa4(&ifr.ifr_addr)); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ ./lib/ip.h:98:32: note: expanded from macro 'ipa_to_ip4' 98 | #define ipa_to_ip4(x) _MI4(_I3(x)) | ~~~~~~~~~^~~ ./lib/ip.h:87:18: note: expanded from macro '_I3' 87 | #define _I3(a) ((a).addr[3]) | ^ ./lib/ip.h:73:25: note: expanded from macro '_MI4' 73 | #define _MI4(x) ((u32) (x)) | ^ ./sysdep/unix/unix.h:79:46: note: passing argument to parameter 'sa' here 79 | static inline ip_addr ipa_from_sa4(sockaddr *sa) | ^ 13 warnings generated. 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/a-path.o obj/lib/a-set.o obj/lib/bitmap.o obj/lib/bitops.o obj/lib/blake2s.o obj/lib/blake2b.o obj/lib/checksum.o obj/lib/defer.o obj/lib/event.o obj/lib/flowspec.o obj/lib/idm.o obj/lib/ip.o obj/lib/lists.o obj/lib/lockfree.o obj/lib/mac.o obj/lib/md5.o obj/lib/mempool.o obj/lib/net.o obj/lib/netindex.o obj/lib/patmatch.o obj/lib/printf.o obj/lib/rcu.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/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-export.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/packets.o obj/proto/babel/babel.o obj/proto/babel/packets.o obj/proto/bgp/attrs.o obj/proto/bgp/bgp.o obj/proto/bgp/packets.o obj/proto/l3vpn/l3vpn.o obj/proto/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/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/proto/mrt/mrt.o obj/proto/bmp/bmp.o obj/sysdep/unix/alloc.o obj/sysdep/unix/io.o obj/sysdep/unix/io-loop.o obj/sysdep/unix/krt.o obj/sysdep/unix/log.o obj/sysdep/unix/main.o obj/sysdep/unix/random.o obj/sysdep/unix/domain.o obj/sysdep/bsd/krt-sock.o -lssh ld: warning: cf-lex.l:499 (conf/cf-lex.l:499)(obj/conf/cf-lex.o:(cf_include)): warning: sprintf() is often misused, please use snprintf() ld: warning: timer.c:185 (lib/timer.c:185)(obj/lib/timer.o:(timers_fire)): warning: random() may return deterministic values, is that what you want? ld: warning: bmp.c:1457 (proto/bmp/bmp.c:1457)(obj/proto/bmp/bmp.o:(bmp_init)): 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='"3.1.4"' -MMD -MP -o obj/client/commands.o -c client/commands.c In file included from client/commands.c:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/client/util.o -c client/util.c In file included from client/util.c:13: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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='"3.1.4"' -MMD -MP -o obj/client/client.o -c client/client.c In file included from client/client.c:33: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 client/client.c:37: In file included from ./sysdep/unix/unix.h:13: In file included from ./lib/io-loop.h:98: ./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='"3.1.4"' -MMD -MP -o obj/client/birdcl.o -c client/birdcl.c In file included from client/birdcl.c:19: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 client/birdcl.c:23: In file included from ./sysdep/unix/unix.h:13: In file included from ./lib/io-loop.h:98: ./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 -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:231 (client/commands.c:231)(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='"3.1.4"' -MMD -MP -o obj/client/birdc.o -c client/birdc.c In file included from client/birdc.c:18: In file included from ./nest/bird.h:14: In file included from ./lib/ip.h:13: In file included from ./lib/string.h:16: In file included from ./lib/resource.h:37: ./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 -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:231 (client/commands.c:231)(obj/client/commands.o:(cmd_complete)): warning: strcpy() is almost always misused, please use strlcpy() >>> Running package in net/bird/3 at 1764627543.29 ===> net/bird/3 ===> Faking installation for bird-3.1.4 /exopi-obj/pobj/bird-3.1.4/bin/install -c -d /exopi-obj/pobj/bird-3.1.4/fake-amd64//usr/local/sbin /exopi-obj/pobj/bird-3.1.4/fake-amd64//usr/local/share/examples/bird /exopi-obj/pobj/bird-3.1.4/fake-amd64//var/run for BIN in bird birdcl birdc ; do \ /exopi-obj/pobj/bird-3.1.4/bin/install -c -m 755 ./$BIN /exopi-obj/pobj/bird-3.1.4/fake-amd64//usr/local/sbin/$BIN ; \ done if ! test -f /exopi-obj/pobj/bird-3.1.4/fake-amd64//usr/local/share/examples/bird/bird.conf ; then \ /exopi-obj/pobj/bird-3.1.4/bin/install -c -m 644 ./doc/bird.conf.example /exopi-obj/pobj/bird-3.1.4/fake-amd64//usr/local/share/examples/bird/bird.conf ; \ else \ echo "Not overwriting old bird.conf" ; \ fi /exopi-obj/pobj/bird-3.1.4/bin/install -d -m 755 /exopi-obj/pobj/bird-3.1.4/fake-amd64/usr/local/share/doc/bird /exopi-obj/pobj/bird-3.1.4/bin/install -c -m 644 /exopi-obj/pobj/bird-3.1.4/bird-doc-*/doc/* /exopi-obj/pobj/bird-3.1.4/fake-amd64/usr/local/share/doc/bird/ /exopi-obj/pobj/bird-3.1.4/bin/install -c -m 644 /exopi-obj/pobj/bird-3.1.4/bird-3.1.4/doc/bird.conf.example2 /exopi-obj/pobj/bird-3.1.4/fake-amd64/usr/local/share/examples/bird/ Reading existing plist for bird-3.1.4 Writing /exopi-obj/pobj/bird-3.1.4/fake-amd64/debug-pkg/Makefile.new Writing /exopi-obj/pobj/bird-3.1.4/fake-amd64/debug-pkg/PLIST Renaming /exopi-obj/pobj/bird-3.1.4/fake-amd64/debug-pkg/Makefile.new to Makefile > Extracting debug info from /exopi-obj/pobj/bird-3.1.4/fake-amd64/usr/local/sbin/bird > Extracting debug info from /exopi-obj/pobj/bird-3.1.4/fake-amd64/usr/local/sbin/birdc > Extracting debug info from /exopi-obj/pobj/bird-3.1.4/fake-amd64/usr/local/sbin/birdcl Installing /exopi-cvs/ports/net/bird/3/pkg/bird.rc as /exopi-obj/pobj/bird-3.1.4/fake-amd64/etc/rc.d/bird ===> Building package for bird-3.1.4 Create /exopi-cvs/ports/packages/amd64/all/bird-3.1.4.tgz Creating package bird-3.1.4 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|******************************** | 50% archiving|********************************* | 52% archiving|********************************** | 53% archiving|*********************************** | 55% archiving|************************************ | 56% archiving|**************************************** | 63% archiving|************************************************* | 77% archiving|************************************************** | 78% archiving|*********************************************************** | 92% archiving|*********************************************************** | 93% archiving|************************************************************* | 95% archiving|************************************************************* | 96% archiving|*************************************************************** | 99% archiving|****************************************************************|100% Creating package debug-bird-3.1.4 reading plist| checking dependencies| checking dependencies|net/bird/3 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|********************************** | 54% archiving|*************************************************************** | 98% archiving|*************************************************************** | 99% archiving|****************************************************************|100% Link to /exopi-cvs/ports/packages/amd64/ftp/bird-3.1.4.tgz Link to /exopi-cvs/ports/packages/amd64/ftp/debug-bird-3.1.4.tgz >>> Running clean in net/bird/3 at 1764627547.41 ===> net/bird/3 ===> Cleaning for bird-3.1.4 >>> Ended at 1764627547.76 max_stuck=1.13/depends=1.92/show-prepare-results=1.08/build=62.85/package=4.11/clean=0.38