>>> Building on exopi-2 under net/bird/3 BDEPENDS = [security/libssh;devel/bison;devel/dwz;devel/gmake;devel/m4] DIST = [net/bird/3:bird-doc-3.0.0.tar.gz;net/bird/3:bird-3.0.0.tar.gz] FULLPKGNAME = bird-3.0.0 RDEPENDS = [security/libssh] (Junk lock obtained for exopi-2 at 1734991706.28) >>> Running depends in net/bird/3 at 1734991706.31 last junk was in audio/moc /usr/sbin/pkg_add -aI -Drepair libssh-0.11.1 m4-1.4.19 was: /usr/sbin/pkg_add -aI -Drepair bison-3.8.2 dwz-0.15 gmake-4.4.1 libssh-0.11.1 m4-1.4.19 /usr/sbin/pkg_add -aI -Drepair libssh-0.11.1 m4-1.4.19 >>> Running show-prepare-results in net/bird/3 at 1734991708.68 ===> net/bird/3 ===> Building from scratch bird-3.0.0 ===> bird-3.0.0 depends on: m4-* -> m4-1.4.19 ===> bird-3.0.0 depends on: bison-* -> bison-3.8.2 ===> bird-3.0.0 depends on: gmake-* -> gmake-4.4.1 ===> bird-3.0.0 depends on: dwz-* -> dwz-0.15 ===> bird-3.0.0 depends on: libssh-* -> libssh-0.11.1 ===> Verifying specs: c curses pthread readline ssh ===> found c.100.3 curses.15.0 pthread.27.1 readline.5.0 ssh.4.3 bison-3.8.2 dwz-0.15 gmake-4.4.1 libssh-0.11.1 m4-1.4.19 (Junk lock released for exopi-2 at 1734991710.41) distfiles size=3621497 >>> Running patch in net/bird/3 at 1734991710.44 ===> net/bird/3 ===> Checking files for bird-3.0.0 `/exopi-cvs/ports/distfiles/bird-3.0.0.tar.gz' is up to date. `/exopi-cvs/ports/distfiles/bird-doc-3.0.0.tar.gz' is up to date. >> (SHA256) all files: OK ===> Extracting for bird-3.0.0 ===> Patching for bird-3.0.0 ===> Applying OpenBSD patch patch-sysdep_bsd_setkey_h Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |- the local address must be configured in config file |- uses hardcoded SPI (same for each direction); see comments for |correct way to do this, but this is less complex and seems ok in practice. | |Index: sysdep/bsd/setkey.h |--- sysdep/bsd/setkey.h.orig |+++ sysdep/bsd/setkey.h -------------------------- Patching file sysdep/bsd/setkey.h using Plan A... Hunk #1 succeeded at 8. Hunk #2 succeeded at 52. Hunk #3 succeeded at 84. Hunk #4 succeeded at 105. Hunk #5 succeeded at 116. Hunk #6 succeeded at 161. done ===> Applying OpenBSD patch patch-sysdep_bsd_sysio_h Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: sysdep/bsd/sysio.h |--- sysdep/bsd/sysio.h.orig |+++ sysdep/bsd/sysio.h -------------------------- Patching file sysdep/bsd/sysio.h using Plan A... Hunk #1 succeeded at 236. done ===> Applying OpenBSD patch patch-sysdep_unix_random_c Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |Index: sysdep/unix/random.c |--- sysdep/unix/random.c.orig |+++ sysdep/unix/random.c -------------------------- Patching file sysdep/unix/random.c using Plan A... Hunk #1 succeeded at 24. done ===> Compiler link: clang -> /usr/bin/clang ===> Compiler link: clang++ -> /usr/bin/clang++ ===> Compiler link: cc -> /usr/bin/cc ===> Compiler link: c++ -> /usr/bin/c++ >>> Running configure in net/bird/3 at 1734991711.10 ===> net/bird/3 ===> Generating configure for bird-3.0.0 ===> Configuring for bird-3.0.0 Using /exopi-obj/pobj/bird-3.0.0/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.0.0/config.site checking for gcc... cc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... (cached) o checking whether the compiler supports GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to enable C11 features... none needed checking for library containing clock_gettime... none required checking build system type... x86_64-unknown-openbsd7.6 checking host system type... x86_64-unknown-openbsd7.6 checking for gcc... (cached) cc checking whether the compiler supports GNU C... (cached) yes checking whether cc accepts -g... (cached) yes checking for cc option to enable C11 features... (cached) none needed checking whether _Thread_local is known... yes checking whether POSIX threads are available... yes checking CFLAGS... -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow checking LDFLAGS... -pthread checking how to run the C preprocessor... cc -E checking for a BSD-compatible install... /exopi-obj/pobj/bird-3.0.0/bin/install -c checking for ranlib... (cached) ranlib checking for flex... flex checking for bison... bison checking for gm4... gm4 checking bison version... 3.8.2 checking which OS configuration should we use... ./sysdep/cf/bsd.h checking system-dependent directories... sysdep/unix sysdep/bsd checking for libssh/libssh.h... yes checking for ssh_connect in -lssh... yes checking for 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 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 >>> Running build in net/bird/3 at 1734991725.40 ===> net/bird/3 ===> Building for bird-3.0.0 /bin/sh: git: not found mkdir -p obj/client obj/conf obj/doc obj/filter obj/lib obj/nest obj/test obj/proto/aggregator obj/proto/bfd obj/proto/babel obj/proto/bgp obj/proto/l3vpn obj/proto/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 echo "#include \"lib/birdlib.h\"" > obj/nest/proto-build.c echo 'void aggregator_build(void);' >> obj/nest/proto-build.c; echo 'void bfd_build(void);' >> obj/nest/proto-build.c; echo 'void babel_build(void);' >> obj/nest/proto-build.c; echo 'void bgp_build(void);' >> obj/nest/proto-build.c; echo 'void l3vpn_build(void);' >> obj/nest/proto-build.c; echo 'void ospf_build(void);' >> obj/nest/proto-build.c; echo 'void pipe_build(void);' >> obj/nest/proto-build.c; echo 'void radv_build(void);' >> obj/nest/proto-build.c; echo 'void rip_build(void);' >> obj/nest/proto-build.c; echo 'void rpki_build(void);' >> obj/nest/proto-build.c; echo 'void static_build(void);' >> obj/nest/proto-build.c; echo 'void mrt_build(void);' >> obj/nest/proto-build.c; echo 'void bmp_build(void);' >> obj/nest/proto-build.c; echo 'void dev_build(void);' >> obj/nest/proto-build.c; echo 'void kif_build(void);' >> obj/nest/proto-build.c; echo 'void krt_build(void);' >> obj/nest/proto-build.c; echo "void protos_build_gen(void) {" >> obj/nest/proto-build.c echo ' aggregator_build();'>>obj/nest/proto-build.c; echo ' bfd_build();'>>obj/nest/proto-build.c; echo ' babel_build();'>>obj/nest/proto-build.c; echo ' bgp_build();'>>obj/nest/proto-build.c; echo ' l3vpn_build();'>>obj/nest/proto-build.c; echo ' ospf_build();'>>obj/nest/proto-build.c; echo ' pipe_build();'>>obj/nest/proto-build.c; echo ' radv_build();'>>obj/nest/proto-build.c; echo ' rip_build();'>>obj/nest/proto-build.c; echo ' rpki_build();'>>obj/nest/proto-build.c; echo ' static_build();'>>obj/nest/proto-build.c; echo ' mrt_build();'>>obj/nest/proto-build.c; echo ' bmp_build();'>>obj/nest/proto-build.c; echo ' dev_build();'>>obj/nest/proto-build.c; echo ' kif_build();'>>obj/nest/proto-build.c; echo ' krt_build();'>>obj/nest/proto-build.c; echo "}" >> obj/nest/proto-build.c echo >obj/sysdep/paths.h "/* Generated by Makefile, don't edit manually! */" echo >>obj/sysdep/paths.h "#define PATH_CONFIG_FILE \"/etc/bird.conf\"" echo >>obj/sysdep/paths.h "#define PATH_CONTROL_SOCKET \"/var/run/bird.ctl\"" if test -n "" ; then echo >>obj/sysdep/paths.h "#define PATH_IPROUTE_DIR \"\"" ; fi cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/conf/cf-parse.tab.o -c obj/conf/cf-parse.tab.c In file included from conf/confbase.Y: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from conf/confbase.Y:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from conf/confbase.Y:20: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from conf/confbase.Y:24: In file included from ./nest/cli.h:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if ((yyval.xp).begin = (yyvsp[0].xp).begin) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~ proto/aggregator/config.Y:92:26: note: place parentheses around the assignment to silence this warning if ((yyval.xp).begin = (yyvsp[0].xp).begin) ^ ( ) proto/aggregator/config.Y:92:26: note: use '==' to turn this assignment into an equality comparison 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] if ((yyval.xp).end = (yyvsp[0].xp).end) ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~ proto/aggregator/config.Y:97:24: note: place parentheses around the assignment to silence this warning if ((yyval.xp).end = (yyvsp[0].xp).end) ^ ( ) proto/aggregator/config.Y:97:24: note: use '==' to turn this assignment into an equality comparison if ((yyval.xp).end = (yyvsp[0].xp).end) ^ == proto/bfd/config.Y:239:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bfd/config.Y:239:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-1].bssc)->name, &proto_bfd, p) bfd_show_sessions(p, (yyvsp[-1].bssc)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/bfd/config.Y:239:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:190:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:190:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_interfaces(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:190:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:193:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:193:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_neighbors(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:193:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:196:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:196:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_entries(p); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:196:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:199:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/config.Y:199:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_babel, p) babel_show_routes(p); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/babel/config.Y:199:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:510:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:510:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-1].s), &proto_ospf, p) ospf_sh(p); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:510:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:513:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:513:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_neigh(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:513:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:516:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/config.Y:516:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_ospf, p) ospf_sh_iface(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/ospf/config.Y:516:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:196:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:196:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_interfaces(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:196:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:199:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/config.Y:199:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-2].s), &proto_rip, p) rip_show_neighbors(p, (yyvsp[-1].t)); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/rip/config.Y:199:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/static/config.Y:204:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/static/config.Y:204:3: note: place parentheses around the assignment to silence this warning { PROTO_WALK_CMD((yyvsp[-1].s), &proto_static, p) static_show(p); } ^ ( ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ proto/static/config.Y:204:3: note: use '==' to turn this assignment into an equality comparison ./nest/protocol.h:279:64: note: expanded from macro 'PROTO_WALK_CMD' #define PROTO_WALK_CMD(sym,pr,p) for(struct proto *p = NULL; p = proto_iterate_named(sym, pr, p); ) ^ 33 warnings generated. flex -f -s -B -8 -Pcf_ -oobj/conf/cf-lex.c conf/cf-lex.l cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -Wno-sign-compare -Wno-unused-function -MMD -MP -o obj/conf/cf-lex.o -c obj/conf/cf-lex.c In file included from conf/cf-lex.l: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from conf/cf-lex.l:45: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from conf/cf-lex.l:46: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 20 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/conf/conf.o -c conf/conf.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from conf/conf.c:48: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from conf/conf.c:49: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/filter.c:38: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/filter.c:39: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/data.c:20: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/data.c:21: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/f-util.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/f-util.c:15: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/tree.c:12: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 8 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/filter/trie.o -c filter/trie.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/trie.c:115: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 8 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from filter/decl.m4:542: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == filter/f-inst.c:284:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:284:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:284:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:285:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:285:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:285:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:289:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:289:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:289:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:290:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:290:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:290:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:294:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:294:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:294:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:295:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:295:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:295:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:299:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:299:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:299:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:300:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:300:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:300:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:305:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:305:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:305:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:306:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:306:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:306:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:310:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:310:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:310:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:311:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:311:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:311:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:315:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:315:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:315:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:325:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:325:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:325:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:336:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:336:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:336:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:337:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:337:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:337:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:346:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:346:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:346:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:347:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:347:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:347:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:386:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:386:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:386:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:387:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:387:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:387:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:388:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child3 = child3->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:388:17: note: place parentheses around the assignment to silence this warning } while (child3 = child3->next); ^ ( ) filter/f-inst.c:388:17: note: use '==' to turn this assignment into an equality comparison } while (child3 = child3->next); ^ == filter/f-inst.c:443:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:443:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:443:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:444:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:444:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:444:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:450:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:450:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:450:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:451:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:451:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:457:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:457:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:457:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:458:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:458:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:458:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:468:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:468:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:468:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:469:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:469:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:469:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:479:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:479:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:479:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:484:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:484:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:484:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:485:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:485:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:485:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:493:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:493:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:493:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:494:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:494:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:494:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:502:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:502:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:502:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:506:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:506:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:506:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:507:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:507:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:507:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:512:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:512:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:512:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:536:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:536:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:536:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:563:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:563:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:563:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:564:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:564:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:564:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:565:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:565:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:565:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:566:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:566:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:566:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:593:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:593:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:593:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:602:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:602:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:602:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:611:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:611:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:611:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:620:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:620:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:620:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:629:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:629:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:629:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:641:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:641:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:641:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:650:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:650:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:650:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:691:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:691:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:691:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:738:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:738:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:738:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:862:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:862:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:862:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:900:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:900:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:900:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:947:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:947:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:947:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:948:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:948:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:948:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:960:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:960:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:960:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:961:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:961:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:961:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:962:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:962:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:962:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:963:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:963:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:963:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:964:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:964:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:964:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:967:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:967:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:967:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1003:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1003:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1003:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1039:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1039:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1039:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1049:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1049:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1049:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1059:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1059:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1059:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1062:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1062:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1062:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1070:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1070:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1070:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1073:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1073:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1073:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1076:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1076:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1076:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1079:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1079:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1079:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1082:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1082:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1082:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1085:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1085:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1085:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1088:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1088:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1088:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1091:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1091:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1091:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1094:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1094:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1094:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1097:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1097:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1097:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1100:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1100:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1100:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1103:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1103:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1103:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1106:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1106:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1106:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1109:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1109:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1109:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1114:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1114:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1114:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1199:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1199:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1199:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1203:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1203:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1203:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1244:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1244:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1244:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1245:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1245:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1245:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1253:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1253:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1253:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1254:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1254:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1254:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1261:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1261:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1261:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1262:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1262:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1262:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1268:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1268:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1268:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1269:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1269:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1269:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1282:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1282:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1282:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1283:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1283:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1283:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1289:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1289:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1289:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1290:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1290:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1290:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1296:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1296:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1296:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1297:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1297:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1297:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1303:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1303:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1303:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1304:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1304:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1304:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1310:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1310:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1310:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1311:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1311:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1311:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1317:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1317:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1317:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1318:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1318:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1318:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1324:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1324:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1324:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1325:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1325:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1325:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1331:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1331:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1331:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1332:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1332:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1332:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1343:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1343:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1343:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1344:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1344:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1344:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1350:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1350:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1350:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1351:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1351:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1351:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1364:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1364:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1364:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1365:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1365:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1365:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1371:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1371:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1371:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1372:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1372:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1372:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1378:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1378:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1378:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1379:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1379:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1379:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1389:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1389:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1389:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1390:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1390:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1390:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1396:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1396:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1396:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1397:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1397:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1397:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1403:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1403:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1403:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1404:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1404:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1404:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1414:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1414:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1414:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1415:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1415:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1415:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1421:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1421:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1421:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1422:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1422:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1422:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1428:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1428:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1428:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1429:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1429:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1429:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1439:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1439:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1439:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1440:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1440:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1440:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1450:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1450:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1450:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1451:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1451:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1451:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1457:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1457:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1457:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1458:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1458:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1458:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1468:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1468:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1468:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1469:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1469:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1469:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1475:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1475:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1475:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1476:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1476:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1476:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1486:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1486:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1486:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1487:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1487:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1487:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1493:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1493:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1493:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1494:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1494:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1494:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1505:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1505:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1505:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1506:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1506:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1506:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1527:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1527:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1527:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1528:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child2 = child2->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1528:17: note: place parentheses around the assignment to silence this warning } while (child2 = child2->next); ^ ( ) filter/f-inst.c:1528:17: note: use '==' to turn this assignment into an equality comparison } while (child2 = child2->next); ^ == filter/f-inst.c:1542:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1542:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1542:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1557:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1557:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1557:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == filter/f-inst.c:1563:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] } while (child1 = child1->next); ~~~~~~~^~~~~~~~~~~~~~ filter/f-inst.c:1563:17: note: place parentheses around the assignment to silence this warning } while (child1 = child1->next); ^ ( ) filter/f-inst.c:1563:17: note: use '==' to turn this assignment into an equality comparison } while (child1 = child1->next); ^ == 159 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from lib/a-path.c:11: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 8 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from lib/a-set.c:13: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 8 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/bitmap.o -c lib/bitmap.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == lib/event.c:247:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ lib/event.c:316:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (e = atomic_load_explicit(ep, memory_order_acquire)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/event.c:316:12: note: place parentheses around the assignment to silence this warning while (e = atomic_load_explicit(ep, memory_order_acquire)) ^ ( ) lib/event.c:316:12: note: use '==' to turn this assignment into an equality comparison while (e = atomic_load_explicit(ep, memory_order_acquire)) ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/flowspec.o -c lib/flowspec.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/lists.o -c lib/lists.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/mac.o -c lib/mac.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == lib/mempool.c:255:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (c = m->current->next) ~~^~~~~~~~~~~~~~~~~~ lib/mempool.c:255:12: note: place parentheses around the assignment to silence this warning while (c = m->current->next) ^ ( ) lib/mempool.c:255:12: note: use '==' to turn this assignment into an equality comparison 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == lib/netindex.c:30:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (step > 0) SPINHASH_REHASH_UP(v,NETINDEX,struct netindex,step); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:444:21: note: expanded from macro 'SPINHASH_REHASH_UP' 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:444:21: note: expanded from macro 'SPINHASH_REHASH_UP' 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:444:21: note: expanded from macro 'SPINHASH_REHASH_UP' 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] if (step < 0) SPINHASH_REHASH_DOWN(v,NETINDEX,struct netindex,-step); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:468:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 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:468:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' 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:468:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' for (type *n; n = _cur->block[i].data; ) { \ ^ 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/patmatch.o -c lib/patmatch.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == lib/rcu.c:49:4: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] t = atomic_load_explicit(tp, memory_order_acquire); ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/rcu.c:49:4: note: place parentheses around the assignment to silence this warning t = atomic_load_explicit(tp, memory_order_acquire); ^ ( ) lib/rcu.c:49:4: note: use '==' to turn this assignment into an equality comparison 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] if (critical = rcu_critical(t, phase)) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ lib/rcu.c:52:20: note: place parentheses around the assignment to silence this warning if (critical = rcu_critical(t, phase)) ^ ( ) lib/rcu.c:52:20: note: use '==' to turn this assignment into an equality comparison if (critical = rcu_critical(t, phase)) ^ == lib/rcu.c:87:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] t = atomic_load_explicit(tp, memory_order_acquire); ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ lib/rcu.c:87:9: note: place parentheses around the assignment to silence this warning t = atomic_load_explicit(tp, memory_order_acquire); ^ ( ) lib/rcu.c:87:9: note: use '==' to turn this assignment into an equality comparison t = atomic_load_explicit(tp, memory_order_acquire); ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/resource.o -c lib/resource.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from lib/slab.c:184: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == lib/slab.c:299:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (h = s->empty_heads.first) ~~^~~~~~~~~~~~~~~~~~~~~~ lib/slab.c:299:9: note: place parentheses around the assignment to silence this warning if (h = s->empty_heads.first) ^ ( ) lib/slab.c:299:9: note: use '==' to turn this assignment into an equality comparison 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == lib/slists.c:76:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (f = n->readers) ~~^~~~~~~~~~~~ lib/slists.c:76:9: note: place parentheses around the assignment to silence this warning if (f = n->readers) ^ ( ) lib/slists.c:76:9: note: use '==' to turn this assignment into an equality comparison if (f = n->readers) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == lib/timer.c:172:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = timers_first(loop)) ~~^~~~~~~~~~~~~~~~~~~~ lib/timer.c:172:12: note: place parentheses around the assignment to silence this warning while (t = timers_first(loop)) ^ ( ) lib/timer.c:172:12: note: use '==' to turn this assignment into an equality comparison while (t = timers_first(loop)) ^ == 3 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/lib/xmalloc.o -c lib/xmalloc.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/cli.c:67: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/cli.c:172:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (o = c->tx_buf) ~~^~~~~~~~~~~ nest/cli.c:172:9: note: place parentheses around the assignment to silence this warning if (o = c->tx_buf) ^ ( ) nest/cli.c:172:9: note: use '==' to turn this assignment into an equality comparison if (o = c->tx_buf) ^ == nest/cli.c:175:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (p = o->next) ~~^~~~~~~~~ nest/cli.c:175:16: note: place parentheses around the assignment to silence this warning while (p = o->next) ^ ( ) nest/cli.c:175:16: note: use '==' to turn this assignment into an equality comparison while (p = o->next) ^ == 5 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/cmds.o -c nest/cmds.c In file included from nest/cmds.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/cmds.c:10: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/cmds.c:10: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from nest/cmds.c:12: In file included from ./nest/cli.h:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/iface.o -c nest/iface.c In file included from nest/iface.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/iface.c:30: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/iface.c:30: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from nest/iface.c:31: In file included from ./nest/cli.h:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_LIST_DELSAFE(a, b, i->addrs) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/iface.c:552:4: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(a, b, i->addrs) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/iface.c:552:4: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/locks.o -c nest/locks.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/mpls.c:85: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/mpls.c:86: In file included from ./nest/mpls-internal.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from nest/mpls.c:87: In file included from ./nest/cli.h:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_LIST_DELSAFE(r, r2, old_ranges) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/mpls.c:290:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(r, r2, old_ranges) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:290:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:326:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(r, rnext, m->ranges) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/mpls.c:326:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(r, rnext, m->ranges) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:326:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:379:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(m, m2, old_domains) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/mpls.c:379:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(m, m2, old_domains) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:379:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/mpls.c:485:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_BACKWARDS_DELSAFE(r, rnext, m->ranges) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:68:27: note: expanded from macro 'WALK_LIST_BACKWARDS_DELSAFE' 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 WALK_LIST_BACKWARDS_DELSAFE(r, rnext, m->ranges) ^ ( ./lib/lists.h:68:27: note: expanded from macro 'WALK_LIST_BACKWARDS_DELSAFE' 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:68:27: note: expanded from macro 'WALK_LIST_BACKWARDS_DELSAFE' for(n=TAIL(list); prv=(void *)((NODE (n))->prev); n=(void *) prv) ^ nest/mpls.c:1138:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(m->net_hash, NET, m->pool, fec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ nest/mpls.c:1138:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:1138:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:1143:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(m->attrs_hash, RTA, m->pool, fec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ nest/mpls.c:1143:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:1143:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:1175:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(m->label_hash, LABEL, m->pool, fec); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ nest/mpls.c:1175:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ nest/mpls.c:1175:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ 21 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/neighbor.o -c nest/neighbor.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/neighbor.c:53: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/neighbor.c:53: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/proto.c:12: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/proto.c:12: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from nest/proto.c:22: In file included from ./nest/cli.h:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == nest/proto.c:490:35: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (struct lfjour_item *it; it = lfjour_get(&s->digest_recipient); ) ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/proto.c:490:35: note: place parentheses around the assignment to silence this warning for (struct lfjour_item *it; it = lfjour_get(&s->digest_recipient); ) ^ ( ) nest/proto.c:490:35: note: use '==' to turn this assignment into an equality comparison for (struct lfjour_item *it; it = lfjour_get(&s->digest_recipient); ) ^ == nest/proto.c:516:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/proto.c:814:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_FEED_WALK(&c->reimporter, f) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/proto.c:814:3: note: place parentheses around the assignment to silence this warning RT_FEED_WALK(&c->reimporter, f) ^ ( ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ nest/proto.c:814:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/proto-build.o -c obj/nest/proto-build.c cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-attr.o -c nest/rt-attr.c In file included from nest/rt-attr.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-attr.c:48: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-attr.c:49: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == nest/rt-attr.c:356:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_WALK_FILTER(o->hash, next, src, sp) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:205:34: note: expanded from macro 'HASH_WALK_FILTER' for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) ~~^~~~~ nest/rt-attr.c:356:3: note: place parentheses around the assignment to silence this warning HASH_WALK_FILTER(o->hash, next, src, sp) ^ ( ./lib/hash.h:205:34: note: expanded from macro 'HASH_WALK_FILTER' for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) ^ nest/rt-attr.c:356:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:205:34: note: expanded from macro 'HASH_WALK_FILTER' for (nn = (v).data + _i; n = *nn; (*nn == n) ? (nn = &n->next) : NULL) ^ nest/rt-attr.c:1012:4: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-attr.c:1435:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (e = e->next) ~~^~~~~~~~~ nest/rt-attr.c:1435:13: note: place parentheses around the assignment to silence this warning if (e = e->next) ^ ( ) nest/rt-attr.c:1435:13: note: use '==' to turn this assignment into an equality comparison if (e = e->next) ^ == nest/rt-attr.c:1522:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (step > 0) SPINHASH_REHASH_UP (&rta_hash_table, RTAH, struct ea_storage, step); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:444:21: note: expanded from macro 'SPINHASH_REHASH_UP' for (type *n; n = _cur->block[i].data; ) { \ ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:1522:17: note: place parentheses around the assignment to silence this warning ./lib/hash.h:444:21: note: expanded from macro 'SPINHASH_REHASH_UP' for (type *n; n = _cur->block[i].data; ) { \ ^ nest/rt-attr.c:1522:17: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:444:21: note: expanded from macro 'SPINHASH_REHASH_UP' for (type *n; n = _cur->block[i].data; ) { \ ^ nest/rt-attr.c:1523:17: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (step < 0) SPINHASH_REHASH_DOWN(&rta_hash_table, RTAH, struct ea_storage, -step); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:468:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' for (type *n; n = _cur->block[i].data; ) { \ ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:1523:17: note: place parentheses around the assignment to silence this warning ./lib/hash.h:468:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' for (type *n; n = _cur->block[i].data; ) { \ ^ nest/rt-attr.c:1523:17: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:468:21: note: expanded from macro 'SPINHASH_REHASH_DOWN' for (type *n; n = _cur->block[i].data; ) { \ ^ nest/rt-attr.c:1536:34: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (struct ea_storage *ea; ea = *eap; eap = &RTAH_NEXT(ea)) ~~~^~~~~~ nest/rt-attr.c:1536:34: note: place parentheses around the assignment to silence this warning for (struct ea_storage *ea; ea = *eap; eap = &RTAH_NEXT(ea)) ^ ( ) nest/rt-attr.c:1536:34: note: use '==' to turn this assignment into an equality comparison for (struct ea_storage *ea; ea = *eap; eap = &RTAH_NEXT(ea)) ^ == nest/rt-attr.c:1580:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (rr = ea_lookup_existing(o, squash_upto, oid)) ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-attr.c:1580:10: note: place parentheses around the assignment to silence this warning if (rr = ea_lookup_existing(o, squash_upto, oid)) ^ ( ) nest/rt-attr.c:1580:10: note: use '==' to turn this assignment into an equality comparison if (rr = ea_lookup_existing(o, squash_upto, oid)) ^ == 21 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-dev.o -c nest/rt-dev.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-dev.c:20: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-dev.c:20: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-export.c:10: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-export.c:11: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] else if (feed = rt_export_next_feed(&r->feeder)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-export.c:103:21: note: place parentheses around the assignment to silence this warning else if (feed = rt_export_next_feed(&r->feeder)) ^ ( ) nest/rt-export.c:103:21: note: use '==' to turn this assignment into an equality comparison else if (feed = rt_export_next_feed(&r->feeder)) ^ == 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-fib.c:58: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == nest/rt-fib.c:190:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (e = x) ~~^~~ nest/rt-fib.c:190:16: note: place parentheses around the assignment to silence this warning while (e = x) ^ ( ) nest/rt-fib.c:190:16: note: use '==' to turn this assignment into an equality comparison while (e = x) ^ == nest/rt-fib.c:465:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (it = e->readers) ~~~^~~~~~~~~~~~ nest/rt-fib.c:465:11: note: place parentheses around the assignment to silence this warning if (it = e->readers) ^ ( ) nest/rt-fib.c:465:11: note: use '==' to turn this assignment into an equality comparison if (it = e->readers) ^ == nest/rt-fib.c:515:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = f->hash_table[h]) ~~^~~~~~~~~~~~~~~~~~ nest/rt-fib.c:515:11: note: place parentheses around the assignment to silence this warning if (n = f->hash_table[h]) ^ ( ) nest/rt-fib.c:515:11: note: use '==' to turn this assignment into an equality comparison if (n = f->hash_table[h]) ^ == nest/rt-fib.c:518:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (i->next = n->readers) ~~~~~~~~^~~~~~~~~~~~ nest/rt-fib.c:518:14: note: place parentheses around the assignment to silence this warning if (i->next = n->readers) ^ ( ) nest/rt-fib.c:518:14: note: use '==' to turn this assignment into an equality comparison if (i->next = n->readers) ^ == nest/rt-fib.c:550:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (k = i->next) ~~^~~~~~~~~ nest/rt-fib.c:550:9: note: place parentheses around the assignment to silence this warning if (k = i->next) ^ ( ) nest/rt-fib.c:550:9: note: use '==' to turn this assignment into an equality comparison if (k = i->next) ^ == nest/rt-fib.c:563:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (j = n->readers) ~~^~~~~~~~~~~~ nest/rt-fib.c:563:9: note: place parentheses around the assignment to silence this warning if (j = n->readers) ^ ( ) nest/rt-fib.c:563:9: note: use '==' to turn this assignment into an equality comparison if (j = n->readers) ^ == nest/rt-fib.c:573:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = n->next) ~~^~~~~~~~~ nest/rt-fib.c:573:9: note: place parentheses around the assignment to silence this warning if (n = n->next) ^ ( ) nest/rt-fib.c:573:9: note: use '==' to turn this assignment into an equality comparison if (n = n->next) ^ == nest/rt-fib.c:577:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n = f->hash_table[hpos]) ~~^~~~~~~~~~~~~~~~~~~~~ nest/rt-fib.c:577:11: note: place parentheses around the assignment to silence this warning if (n = f->hash_table[hpos]) ^ ( ) nest/rt-fib.c:577:11: note: use '==' to turn this assignment into an equality comparison if (n = f->hash_table[hpos]) ^ == 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-show.o -c nest/rt-show.c In file included from nest/rt-show.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-show.c:13: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-show.c:14: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == nest/rt-show.c:133:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-show.c:236:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(tab, tabx, d->tables) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/rt-show.c:236:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(tab, tabx, d->tables) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-show.c:236:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-show.c:284:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_FEED_WALK(&d->tab->req, f) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-show.c:284:3: note: place parentheses around the assignment to silence this warning RT_FEED_WALK(&d->tab->req, f) ^ ( ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ nest/rt-show.c:284:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ nest/rt-show.c:408:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(tab, tabx, d->tables) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/rt-show.c:408:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(tab, tabx, d->tables) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-show.c:408:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/nest/rt-table.o -c nest/rt-table.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-table.c:97: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from nest/rt-table.c:98: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] case NET_IP4: TW(4, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_VPN4: TW(4, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_IP6: TW(6, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_VPN6: TW(6, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:362:5: note: expanded from macro 'TW' { what(ipv, var); } \ ^~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_IP4: FW(4, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_VPN4: FW(4, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_IP6: FW(6, FVR_IP); ~~~~~~^~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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] case NET_VPN6: FW(6, FVR_VPN); ~~~~~~^~~~~~~~ nest/rt-table.c:368:5: note: expanded from macro 'FW' what(ipv, nuc.ip##ipv); if (!nuc.n.pxlen) return NULL; \ ^~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:377:90: note: expanded from macro 'FVR_VPN' net_addr_vpn##ipv _var0 = NET_ADDR_VPN##ipv(var.prefix, var.pxlen, nu->vpn##ipv.rd); FVR_IP(ipv, _var0); ^~~~~~~~~~~~~~~~~~ nest/rt-table.c:374:19: note: expanded from macro 'FVR_IP' 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:482:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&rag->src, u) TMP_SAVED ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:482:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&rag->src, u) TMP_SAVED ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:482:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:765:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (n) NET_READ_WALK_ROUTES(tr, n, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:765:12: note: place parentheses around the assignment to silence this warning if (n) NET_READ_WALK_ROUTES(tr, n, ep, e) ^ ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:765: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' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:953:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (better = new->src->owner->class->rte_better) ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:953:14: note: place parentheses around the assignment to silence this warning if (better = new->src->owner->class->rte_better) ^ ( ) nest/rt-table.c:953:14: note: use '==' to turn this assignment into an equality comparison if (better = new->src->owner->class->rte_better) ^ == nest/rt-table.c:972:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (mergable = pri->src->owner->class->rte_mergable) ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:972:16: note: place parentheses around the assignment to silence this warning if (mergable = pri->src->owner->class->rte_mergable) ^ ( ) nest/rt-table.c:972:16: note: use '==' to turn this assignment into an equality comparison if (mergable = pri->src->owner->class->rte_mergable) ^ == nest/rt-table.c:1025:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_READ_WALK_ROUTES(tr, n, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1025:3: note: place parentheses around the assignment to silence this warning NET_READ_WALK_ROUTES(tr, n, ep, e) ^ ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:1025: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' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:1053:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_READ_WALK_ROUTES(tr, n, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1053:3: note: place parentheses around the assignment to silence this warning NET_READ_WALK_ROUTES(tr, n, ep, e) ^ ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:1053: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' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:1303:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&c->out_req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1303:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&c->out_req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1303:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1436:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&c->out_req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1436:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&c->out_req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1436:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1468:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&c->out_req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1468:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&c->out_req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1468:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1516:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1516:12: note: place parentheses around the assignment to silence this warning rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ^ ( ) nest/rt-table.c:1516:12: note: use '==' to turn this assignment into an equality comparison rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ^ == nest/rt-table.c:1558:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&tab->best_req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1558:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&tab->best_req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1558:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:1879:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(table, net, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1879:3: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(table, net, ep, e) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:1879:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:1885:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-table.c:1981:14: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (; kk = atomic_load_explicit(k, memory_order_relaxed); k = &kk->next) ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:1981:14: note: place parentheses around the assignment to silence this warning for (; kk = atomic_load_explicit(k, memory_order_relaxed); k = &kk->next) ^ ( ) nest/rt-table.c:1981:14: note: use '==' to turn this assignment into an equality comparison for (; kk = atomic_load_explicit(k, memory_order_relaxed); k = &kk->next) ^ == nest/rt-table.c:2048:6: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] kk = atomic_load_explicit(k, memory_order_relaxed); ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2048:6: note: place parentheses around the assignment to silence this warning kk = atomic_load_explicit(k, memory_order_relaxed); ^ ( ) nest/rt-table.c:2048:6: note: use '==' to turn this assignment into an equality comparison kk = atomic_load_explicit(k, memory_order_relaxed); ^ == nest/rt-table.c:2102:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(table, net, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2102:5: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(table, net, ep, e) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:2102:5: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:2164:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-table.c:2683:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(tab, &routes[i], ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2683:7: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(tab, &routes[i], ep, e) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:2683:7: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:2780:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_READ_WALK_ROUTES(tp, &routes[i], ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2780:5: note: place parentheses around the assignment to silence this warning NET_READ_WALK_ROUTES(tp, &routes[i], ep, e) ^ ( nest/rt-table.c:231:9: note: expanded from macro 'NET_READ_WALK_ROUTES' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ nest/rt-table.c:2780: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' r = RTE_OBSOLETE_CHECK(tr, atomic_load_explicit(ptr, memory_order_acquire)); \ ^ In file included from nest/rt-table.c:2951: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == nest/rt-table.c:2961:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&ln->req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2961:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&ln->req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:2961:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:2981:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:2981:12: note: place parentheses around the assignment to silence this warning rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ^ ( ) nest/rt-table.c:2981:12: note: use '==' to turn this assignment into an equality comparison rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ^ == nest/rt-table.c:3183:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&d->req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3183:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&d->req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:3183:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:3381:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&t->best_req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3381:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&t->best_req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:3381:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:3468:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(tab, n, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:3468:3: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(tab, n, ep, e) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:3468:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:4170:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(tab, n, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:4170:3: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(tab, n, ep, e) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:4170:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:4182:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(tab, n, ep, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:4182:3: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(tab, n, ep, e) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:4182:3: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:4901:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&hc->req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:4901:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&hc->req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:4901:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ nest/rt-table.c:4922:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:4922:12: note: place parentheses around the assignment to silence this warning rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ^ ( ) nest/rt-table.c:4922:12: note: use '==' to turn this assignment into an equality comparison rpe = atomic_load_explicit(&rpe->next, memory_order_acquire) ;) ^ == nest/rt-table.c:5071:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] NET_WALK_ROUTES(tab, n, ep, ee) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ nest/rt-table.c:5071:7: note: place parentheses around the assignment to silence this warning NET_WALK_ROUTES(tab, n, ep, ee) ^ ( nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:5071:7: note: use '==' to turn this assignment into an equality comparison nest/rt-table.c:239:9: note: expanded from macro 'NET_WALK_ROUTES' r = atomic_load_explicit(ptr, memory_order_acquire); \ ^ nest/rt-table.c:5111:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-table.c:5119:5: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ nest/rt-table.c:5196:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, x, hc->hostentries) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ nest/rt-table.c:5196:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, x, hc->hostentries) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-table.c:5196:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ nest/rt-table.c:5245:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ 55 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/aggregator/aggregator.o -c proto/aggregator/aggregator.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/aggregator/aggregator.c:45: In file included from ./filter/filter.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/aggregator/aggregator.c:46: In file included from proto/aggregator/aggregator.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/aggregator/aggregator.c:259:20: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/aggregator/aggregator.c:259:20: note: place parentheses around the assignment to silence this warning if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) ^ ( ) proto/aggregator/aggregator.c:259:20: note: use '==' to turn this assignment into an equality comparison if (new_bucket = HASH_FIND(p->buckets, AGGR_BUCK, tmp_bucket)) ^ == proto/aggregator/aggregator.c:295:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(p->routes, AGGR_RTE, p->p.pool, old_route); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:295:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:295:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:311:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(p->buckets, AGGR_BUCK, p->p.pool, old_bucket); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:311:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:311:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:403:46: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (struct aggregator_route *arte; arte = b->rte; ) ~~~~~^~~~~~~~ proto/aggregator/aggregator.c:403:46: note: place parentheses around the assignment to silence this warning for (struct aggregator_route *arte; arte = b->rte; ) ^ ( ) proto/aggregator/aggregator.c:403:46: note: use '==' to turn this assignment into an equality comparison for (struct aggregator_route *arte; arte = b->rte; ) ^ == proto/aggregator/aggregator.c:407:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->routes, AGGR_RTE, arte); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:407:7: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:407:7: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:416:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->buckets, AGGR_BUCK, b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/aggregator/aggregator.c:416:5: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/aggregator/aggregator.c:416:5: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bfd/bfd.o -c proto/bfd/bfd.c In file included from proto/bfd/bfd.c:103: In file included from proto/bfd/bfd.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/bfd.c:103: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/bfd/bfd.c:548:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->session_hash_id, HASH_ID, s); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bfd/bfd.c:548:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:548:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:549:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->session_hash_ip, HASH_IP, s); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bfd/bfd.c:549:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:549:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bfd/bfd.c:792:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(rn, rnxt, bfd_global.pickup_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:792:7: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(rn, rnxt, bfd_global.pickup_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:792:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:836:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nn, bfd_global.wait_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:836:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nn, bfd_global.wait_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:836:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:1091:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nn, s->request_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bfd/bfd.c:1091:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nn, s->request_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bfd/bfd.c:1091:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bfd/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:13: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bfd/packets.c:7: In file included from proto/bfd/bfd.h:15: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/babel/babel.c:44: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/babel/babel.c:44: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/babel/babel.c:44: In file included from proto/babel/babel.h:20: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_LIST_DELSAFE(n, nx, e->sources) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:140:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, e->sources) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:140:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:247:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(r, rx, e->routes) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:247:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(r, rx, e->routes) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:247:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:415:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(sr, srx, e->requests) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:415:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(sr, srx, e->requests) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:415:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:537:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/babel/babel.c:537:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(nbr, nbx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:537:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/babel/babel.c:1010:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(rtable, struct babel_entry, e) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2174:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->ip4_rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2174:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->ip4_rtable, struct babel_entry, e) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2174:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2179:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->ip6_rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2179:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->ip6_rtable, struct babel_entry, e) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2179:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2308:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2308:3: note: place parentheses around the assignment to silence this warning FIB_WALK(rtable, struct babel_entry, e) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2308:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2323:16: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (r = e->selected) ~~^~~~~~~~~~~~~ proto/babel/babel.c:2323:16: note: place parentheses around the assignment to silence this warning else if (r = e->selected) ^ ( ) proto/babel/babel.c:2323:16: note: use '==' to turn this assignment into an equality comparison else if (r = e->selected) ^ == proto/babel/babel.c:2358:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(rtable, struct babel_entry, e) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/babel/babel.c:2358:3: note: place parentheses around the assignment to silence this warning FIB_WALK(rtable, struct babel_entry, e) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/babel/babel.c:2358:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/babel/packets.c:13: In file included from proto/babel/babel.h:17: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/babel/packets.c:13: In file included from proto/babel/babel.h:19: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/babel/packets.c:13: In file included from proto/babel/babel.h:20: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/attrs.c:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/bgp/attrs.c:1766:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(c->bucket_hash, RBH, c->pool, b); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bgp/attrs.c:1766:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:1766:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:1922:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE2(c->prefix_hash, PXH, c->pool, px); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ~~~^~~~~~ proto/bgp/attrs.c:1922:3: note: place parentheses around the assignment to silence this warning ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:1922:3: note: use '==' to turn this assignment into an equality comparison ./lib/hash.h:171:24: note: expanded from macro 'HASH_REMOVE2' HASH_TYPE(v) *_n = HASH_REMOVE(v, id, node); \ ^ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' if (_n = *_nn) \ ^ proto/bgp/attrs.c:2766:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] s = atomic_load_explicit(ptr, memory_order_acquire); ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2766:9: note: place parentheses around the assignment to silence this warning s = atomic_load_explicit(ptr, memory_order_acquire); ^ ( ) proto/bgp/attrs.c:2766:9: note: use '==' to turn this assignment into an equality comparison s = atomic_load_explicit(ptr, memory_order_acquire); ^ == proto/bgp/attrs.c:2787:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] s = atomic_load_explicit(ptr, memory_order_acquire); ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2787:9: note: place parentheses around the assignment to silence this warning s = atomic_load_explicit(ptr, memory_order_acquire); ^ ( ) proto/bgp/attrs.c:2787:9: note: use '==' to turn this assignment into an equality comparison s = atomic_load_explicit(ptr, memory_order_acquire); ^ == proto/bgp/attrs.c:2834:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_FEED_WALK(&c->stale_feed, f) TMP_SAVED ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2834:3: note: place parentheses around the assignment to silence this warning RT_FEED_WALK(&c->stale_feed, f) TMP_SAVED ^ ( ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ proto/bgp/attrs.c:2834:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ proto/bgp/attrs.c:2948:21: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] else if (metric = rt_get_igp_metric(e)) ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~ proto/bgp/attrs.c:2948:21: note: place parentheses around the assignment to silence this warning else if (metric = rt_get_igp_metric(e)) ^ ( ) proto/bgp/attrs.c:2948:21: note: use '==' to turn this assignment into an equality comparison else if (metric = rt_get_igp_metric(e)) ^ == 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bgp/bgp.o -c proto/bgp/bgp.c In file included from proto/bgp/bgp.c:116: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:117: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:117: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:117: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:118: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:118: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:118: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:118: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/bgp.c:118: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from proto/bgp/bgp.c:121: In file included from ./nest/cli.h:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from proto/bgp/bgp.c:131: 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == In file included from proto/bgp/bgp.c:131: 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/bgp/bgp.c:348:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(bs, nxt, bgp_sockets) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:348:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(bs, nxt, bgp_sockets) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bgp/bgp.c:348:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bgp/bgp.c:1690:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ proto/bgp/bgp.c:2200:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (tab = rt_get_default_table(cf->c.global, type)) ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bgp/bgp.c:2200:11: note: place parentheses around the assignment to silence this warning if (tab = rt_get_default_table(cf->c.global, type)) ^ ( ) proto/bgp/bgp.c:2200:11: note: use '==' to turn this assignment into an equality comparison if (tab = rt_get_default_table(cf->c.global, type)) ^ == proto/bgp/bgp.c:2356:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ proto/bgp/bgp.c:2363:7: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ proto/bgp/bgp.c:2477:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(C, C2, p->p.channels) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/bgp/bgp.c:2477:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(C, C2, p->p.channels) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/bgp/bgp.c:2477:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 26 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/bgp/packets.o -c proto/bgp/packets.c In file included from proto/bgp/packets.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/packets.c:17: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bgp/packets.c:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/bgp/packets.c:1297:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (nhloc = bgp_use_gateway(s)) ~~~~~~^~~~~~~~~~~~~~~~~~~~ proto/bgp/packets.c:1297:15: note: place parentheses around the assignment to silence this warning if (nhloc = bgp_use_gateway(s)) ^ ( ) proto/bgp/packets.c:1297:15: note: use '==' to turn this assignment into an equality comparison if (nhloc = bgp_use_gateway(s)) ^ == 21 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/l3vpn/l3vpn.o -c proto/l3vpn/l3vpn.c In file included from proto/l3vpn/l3vpn.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/l3vpn/l3vpn.c:38: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/dbdes.o -c proto/ospf/dbdes.c In file included from proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/dbdes.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/hello.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/iface.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:267:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:267:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:794:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:794:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:794:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:913:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:913:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(nb, nbx, ifa->nbma_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:913:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1168:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1168:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1168:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1203:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1203:7: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1203:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1388:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/iface.c:1388:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/iface.c:1388:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 20 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/lsack.o -c proto/ospf/lsack.c In file included from proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/lsack.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/lsalib.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (code = LOOKUP(opaque_lsa_types, id >> 24)) ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/lsalib.c:173:16: note: place parentheses around the assignment to silence this warning if (code = LOOKUP(opaque_lsa_types, id >> 24)) ^ ( ) proto/ospf/lsalib.c:173:16: note: use '==' to turn this assignment into an equality comparison if (code = LOOKUP(opaque_lsa_types, id >> 24)) ^ == 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/lsreq.o -c proto/ospf/lsreq.c In file included from proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/lsreq.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/lsupd.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~~ proto/ospf/lsupd.c:439:3: note: place parentheses around the assignment to silence this warning WALK_SLIST_DELSAFE(ret, nxt, n->lsrtl) ^ ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/lsupd.c:439:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/neighbor.o -c proto/ospf/neighbor.c In file included from proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/neighbor.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/ospf/neighbor.c:541:7: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/neighbor.c:541:7: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nx, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/neighbor.c:541:7: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/ospf.o -c proto/ospf/ospf.c In file included from proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/ospf.c:108: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/ospf/ospf.c:537:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:537:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtf, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:537:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:630:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:630:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:630:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:747:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:747:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(ifa, ifx, p->iface_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:747:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:754:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(oa, oax, p->area_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/ospf/ospf.c:754:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(oa, oax, p->area_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:754:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/ospf.c:841:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->net_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:841:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->net_fib, struct area_net, anet) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:841:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:854:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&oa->enet_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/ospf/ospf.c:854:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&oa->enet_fib, struct area_net, anet) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/ospf/ospf.c:854:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 20 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/packet.o -c proto/ospf/packet.c In file included from proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/packet.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/rt.c:11: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/ospf/rt.c:986:25: warning: equality comparison with extraneous parentheses [-Wparentheses-equality] if ((nf->n.oa->areaid == oa->areaid)) ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ proto/ospf/rt.c:986:25: note: remove extraneous parentheses around the comparison to silence this warning if ((nf->n.oa->areaid == oa->areaid)) ~ ^ ~ proto/ospf/rt.c:986:25: note: use '=' to turn this equality comparison into an assignment 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] FIB_WALK(&p->backbone->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&p->backbone->rtr, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&p->rtf, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&oa->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&oa->rtr, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&p->backbone->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&p->backbone->rtr, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&oa->rtr, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&oa->rtr, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&p->rtf, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&p->rtf, ort, nf) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&p->rtf, ort, nf) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&p->rtf, ort, ri) ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&p->rtf, ort, ri) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&oa->rtr, ort, ri) ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&oa->rtr, ort, ri) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&oa->net_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&oa->net_fib, struct area_net, anet) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' 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] FIB_WALK(&oa->enet_fib, struct area_net, anet) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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 FIB_WALK(&oa->enet_fib, struct area_net, anet) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' 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' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 26 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/ospf/topology.o -c proto/ospf/topology.c In file included from proto/ospf/topology.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/ospf/topology.c:15: In file included from proto/ospf/ospf.h:23: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_SLIST_DELSAFE(en, nxt, p->lsal) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~~ proto/ospf/topology.c:518:3: note: place parentheses around the assignment to silence this warning WALK_SLIST_DELSAFE(en, nxt, p->lsal) ^ ( ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/topology.c:518:3: note: use '==' to turn this assignment into an equality comparison ./lib/slists.h:76:28: note: expanded from macro 'WALK_SLIST_DELSAFE' for(n=SHEAD(list); nxt=SNODE_NEXT(n); n=(void *) nxt) ^ proto/ospf/topology.c:1720:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (en = ifa->link_lsa) ~~~^~~~~~~~~~~~~~~ proto/ospf/topology.c:1720:10: note: place parentheses around the assignment to silence this warning if (en = ifa->link_lsa) ^ ( ) proto/ospf/topology.c:1720:10: note: use '==' to turn this assignment into an equality comparison if (en = ifa->link_lsa) ^ == 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/pipe/pipe.o -c proto/pipe/pipe.c In file included from proto/pipe/pipe.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/pipe/pipe.c:37: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/radv/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/radv/packets.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] FIB_WALK(&p->routes, struct radv_route, rt) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/radv/packets.c:400:5: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->routes, struct radv_route, rt) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/radv/packets.c:400:5: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 15 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/radv/radv.o -c proto/radv/radv.c In file included from proto/radv/radv.c:12: In file included from proto/radv/radv.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/radv/radv.c:12: In file included from proto/radv/radv.h:20: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/radv/radv.c:170:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(pfx, next, ifa->prefixes) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/radv/radv.c:170:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/radv/radv.c:193:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/radv/radv.c:193:3: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(px, pxn, ifa->prefixes) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/radv/radv.c:193:3: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rip/packets.o -c proto/rip/packets.c In file included from proto/rip/packets.c:14: In file included from proto/rip/rip.h: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rip/packets.c:14: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rip/packets.c:14: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rip/rip.c:81: In file included from proto/rip/rip.h:16: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rip/rip.c:81: In file included from proto/rip/rip.h:18: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == proto/rip/rip.c:270:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rp = &en->routes; rt = *rp; rp = &rt->next) ~~~^~~~~ proto/rip/rip.c:270:29: note: place parentheses around the assignment to silence this warning for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ ( ) proto/rip/rip.c:270:29: note: use '==' to turn this assignment into an equality comparison for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ == proto/rip/rip.c:317:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rp = &en->routes; rt = *rp; rp = &rt->next) ~~~^~~~~ proto/rip/rip.c:317:29: note: place parentheses around the assignment to silence this warning for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ ( ) proto/rip/rip.c:317:29: note: use '==' to turn this assignment into an equality comparison for (rp = &en->routes; rt = *rp; rp = &rt->next) ^ == proto/rip/rip.c:427:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtable, struct rip_entry, en) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:427:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtable, struct rip_entry, en) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/rip/rip.c:427:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/rip/rip.c:943:31: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) ~~~^~~~~ proto/rip/rip.c:943:31: note: place parentheses around the assignment to silence this warning for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) ^ ( ) proto/rip/rip.c:943:31: note: use '==' to turn this assignment into an equality comparison for (rp = &en->routes; rt = *rp; /* rp = &rt->next */) ^ == proto/rip/rip.c:1002:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ~~~^~~~~~~~~~~~~ proto/rip/rip.c:1002:5: note: place parentheses around the assignment to silence this warning WALK_LIST_DELSAFE(n, nn, ifa->neigh_list) ^ ( ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/rip/rip.c:1002:5: note: use '==' to turn this assignment into an equality comparison ./lib/lists.h:56:24: note: expanded from macro 'WALK_LIST_DELSAFE' for(n=HEAD(list); nxt=NODE_NEXT(n); n=(void *) nxt) ^ proto/rip/rip.c:1361:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] FIB_WALK(&p->rtable, struct rip_entry, en) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/rip/rip.c:1361:3: note: place parentheses around the assignment to silence this warning FIB_WALK(&p->rtable, struct rip_entry, en) ^ ( ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ proto/rip/rip.c:1361:3: note: use '==' to turn this assignment into an equality comparison ./lib/fib.h:86:25: note: expanded from macro 'FIB_WALK' for (fn_ = *ff_++; z = fib_node_to_user(fib, fn_); fn_=fn_->next) ^ 18 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/rpki.o -c proto/rpki/rpki.c In file included from proto/rpki/rpki.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/rpki.c:96: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/rpki/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/packets.c:18: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/tcp_transport.c:21: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/ssh_transport.c:18: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:16: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/rpki/transport.c:15: In file included from proto/rpki/rpki.h:17: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 11 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/static/static.c:40: In file included from ./nest/protocol.h:17: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/static/static.c:40: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 14 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/proto/mrt/mrt.o -c proto/mrt/mrt.c In file included from proto/mrt/mrt.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/mrt/mrt.c:47: In file included from proto/mrt/mrt.h:14: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] 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 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 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] RT_FEED_WALK(&s->feeder, route_feed) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/mrt/mrt.c:660:5: note: place parentheses around the assignment to silence this warning RT_FEED_WALK(&s->feeder, route_feed) ^ ( ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ proto/mrt/mrt.c:660:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ 16 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from 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:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from proto/bmp/bmp.c:31: In file included from ./proto/bmp/bmp.h:13: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] 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 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 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] HASH_REMOVE(p->table_map, HASH_TABLE, bt); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 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' 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' if (_n = *_nn) \ ^ proto/bmp/bmp.c:639:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->stream_map, HASH_STREAM, bs); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 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' 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' if (_n = *_nn) \ ^ proto/bmp/bmp.c:747:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] HASH_REMOVE(p->peer_map, HASH_PEER, bp); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./lib/hash.h:89:12: note: expanded from macro 'HASH_REMOVE' 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' 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' if (_n = *_nn) \ ^ proto/bmp/bmp.c:1069:3: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_EXPORT_WALK(&bt->out_req, u) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~ proto/bmp/bmp.c:1069:3: note: place parentheses around the assignment to silence this warning RT_EXPORT_WALK(&bt->out_req, u) ^ ( ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ proto/bmp/bmp.c:1069:3: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:275:10: note: expanded from macro 'RT_EXPORT_WALK' _u = rt_export_get(_reader); \ ^ proto/bmp/bmp.c:1435:15: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] last_up = lfjour_get(&p->proto_state_reader); ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ proto/bmp/bmp.c:1435:15: note: place parentheses around the assignment to silence this warning last_up = lfjour_get(&p->proto_state_reader); ^ ( ) proto/bmp/bmp.c:1435:15: note: use '==' to turn this assignment into an equality comparison last_up = lfjour_get(&p->proto_state_reader); ^ == 26 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == sysdep/unix/alloc.c:188:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (fp = PAGE_STACK_GET) ~~~^~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:188:10: note: place parentheses around the assignment to silence this warning if (fp = PAGE_STACK_GET) ^ ( ) sysdep/unix/alloc.c:188:10: note: use '==' to turn this assignment into an equality comparison if (fp = PAGE_STACK_GET) ^ == sysdep/unix/alloc.c:238:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (fp = alloc_hot_page(fp)) ~~~^~~~~~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:238:10: note: place parentheses around the assignment to silence this warning if (fp = alloc_hot_page(fp)) ^ ( ) sysdep/unix/alloc.c:238:10: note: use '==' to turn this assignment into an equality comparison 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] if (fp = alloc_hot_page(fp)) ~~~^~~~~~~~~~~~~~~~~~~~ sysdep/unix/alloc.c:252:10: note: place parentheses around the assignment to silence this warning if (fp = alloc_hot_page(fp)) ^ ( ) sysdep/unix/alloc.c:252:10: note: use '==' to turn this assignment into an equality comparison 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] 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 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 while (next = atomic_load_explicit(&last->next, memory_order_relaxed)) ^ == 6 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/io.c:46: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/io.c:46: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/io.c:46: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/io.c:47: 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/io.c:47: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == sysdep/unix/io.c:258:2: warning: add explicit braces to avoid dangling else [-Wdangling-else] else ^ sysdep/unix/io.c:2210:7: warning: 'ssh_channel_select' is deprecated [-Wdeprecated-declarations] if (ssh_channel_select(rchans, NULL, NULL, &timev) == SSH_EINTR) ^ /usr/local/include/libssh/libssh.h:584:1: note: 'ssh_channel_select' has been explicitly marked deprecated here SSH_DEPRECATED LIBSSH_API int ssh_channel_select(ssh_channel *readchans, ssh_channel *writechans, ssh_channel *exceptchans, struct ^ /usr/local/include/libssh/libssh.h:81:40: note: expanded from macro 'SSH_DEPRECATED' #define SSH_DEPRECATED __attribute__ ((deprecated)) ^ sysdep/unix/io.c:2616:13: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (t = timers_first(&main_birdloop.time)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io.c:2616:13: note: place parentheses around the assignment to silence this warning if (t = timers_first(&main_birdloop.time)) ^ ( ) sysdep/unix/io.c:2616:13: note: use '==' to turn this assignment into an equality comparison if (t = timers_first(&main_birdloop.time)) ^ == 9 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/io-loop.c:31: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == sysdep/unix/io-loop.c:798:24: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (thr->busy_active = val) ~~~~~~~~~~~~~~~~~^~~~~ sysdep/unix/io-loop.c:798:24: note: place parentheses around the assignment to silence this warning if (thr->busy_active = val) ^ ( ) sysdep/unix/io-loop.c:798:24: note: use '==' to turn this assignment into an equality comparison if (thr->busy_active = val) ^ == sysdep/unix/io-loop.c:1003:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (e = pthread_attr_init(&thr->thread_attr)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1003:9: note: place parentheses around the assignment to silence this warning if (e = pthread_attr_init(&thr->thread_attr)) ^ ( ) sysdep/unix/io-loop.c:1003:9: note: use '==' to turn this assignment into an equality comparison if (e = pthread_attr_init(&thr->thread_attr)) ^ == sysdep/unix/io-loop.c:1011:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (e = pthread_attr_setdetachstate(&thr->thread_attr, PTHREAD_CREATE_DETACHED)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1011:9: note: place parentheses around the assignment to silence this warning if (e = pthread_attr_setdetachstate(&thr->thread_attr, PTHREAD_CREATE_DETACHED)) ^ ( ) sysdep/unix/io-loop.c:1011:9: note: use '==' to turn this assignment into an equality comparison if (e = pthread_attr_setdetachstate(&thr->thread_attr, PTHREAD_CREATE_DETACHED)) ^ == sysdep/unix/io-loop.c:1014:9: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (e = pthread_create(&thr->thread_id, &thr->thread_attr, bird_thread_main, thr)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1014:9: note: place parentheses around the assignment to silence this warning if (e = pthread_create(&thr->thread_id, &thr->thread_attr, bird_thread_main, thr)) ^ ( ) sysdep/unix/io-loop.c:1014:9: note: use '==' to turn this assignment into an equality comparison if (e = pthread_create(&thr->thread_id, &thr->thread_attr, bird_thread_main, thr)) ^ == sysdep/unix/io-loop.c:1474:12: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] while (t = timers_first(&loop->time)) ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1474:12: note: place parentheses around the assignment to silence this warning while (t = timers_first(&loop->time)) ^ ( ) sysdep/unix/io-loop.c:1474:12: note: use '==' to turn this assignment into an equality comparison while (t = timers_first(&loop->time)) ^ == sysdep/unix/io-loop.c:1525:11: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] ltt = atomic_load_explicit(&loop->thread_transition, memory_order_acquire); ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/io-loop.c:1525:11: note: place parentheses around the assignment to silence this warning ltt = atomic_load_explicit(&loop->thread_transition, memory_order_acquire); ^ ( ) sysdep/unix/io-loop.c:1525:11: note: use '==' to turn this assignment into an equality comparison ltt = atomic_load_explicit(&loop->thread_transition, memory_order_acquire); ^ == 9 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/krt.o -c sysdep/unix/krt.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/krt.c:56: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/krt.c:57: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == sysdep/unix/krt.c:891:5: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] RT_FEED_WALK(&req, f) ^~~~~~~~~~~~~~~~~~~~~ ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/krt.c:891:5: note: place parentheses around the assignment to silence this warning RT_FEED_WALK(&req, f) ^ ( ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ sysdep/unix/krt.c:891:5: note: use '==' to turn this assignment into an equality comparison ./nest/route.h:248:44: note: expanded from macro 'RT_FEED_WALK' for (const struct rt_export_feed *_f; _f = rt_export_next_feed(_feeder); ) \ ^ 12 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/log.o -c sysdep/unix/log.c In file included from sysdep/unix/log.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/log.c:27: In file included from ./nest/cli.h:67: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == sysdep/unix/log.c:579:10: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] ol = atomic_load_explicit(pprev, memory_order_acquire); ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ sysdep/unix/log.c:579:10: note: place parentheses around the assignment to silence this warning ol = atomic_load_explicit(pprev, memory_order_acquire); ^ ( ) sysdep/unix/log.c:579:10: note: use '==' to turn this assignment into an equality comparison ol = atomic_load_explicit(pprev, memory_order_acquire); ^ == 4 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c: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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c:35: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/main.c:36: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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:67: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison 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] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == 17 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/random.o -c sysdep/unix/random.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/unix/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 2 warnings generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/bsd/krt-sock.c:28: In file included from ./nest/route.h:190: ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == In file included from sysdep/bsd/krt-sock.c:29: In file included from ./nest/protocol.h:217: ./lib/tlists.h:97:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = list->first) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~ ./lib/tlists.h:97:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = list->first) ^ ( ) ./lib/tlists.h:97:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = list->first) ^ == ./lib/tlists.h:112:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == ./lib/tlists.h:151:29: warning: using the result of an assignment as a condition without parentheses [-Wparentheses] if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ ./lib/tlists.h:151:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ ( ) ./lib/tlists.h:151:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.next = after->TLIST_ITEM.next) ^ == sysdep/bsd/krt-sock.c:1251:39: warning: incompatible pointer types passing 'struct sockaddr *' to parameter of type 'sockaddr *' (aka 'struct sockaddr_bird *') [-Wincompatible-pointer-types] i->sysdep = ipa_to_ip4(ipa_from_sa4(&ifr.ifr_addr)); ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~ ./lib/ip.h:98:32: note: expanded from macro 'ipa_to_ip4' #define ipa_to_ip4(x) _MI4(_I3(x)) ~~~~~~~~~^~~ ./lib/ip.h:87:18: note: expanded from macro '_I3' #define _I3(a) ((a).addr[3]) ^ ./lib/ip.h:73:25: note: expanded from macro '_MI4' #define _MI4(x) ((u32) (x)) ^ ./sysdep/unix/unix.h:78:46: note: passing argument to parameter 'sa' here static inline ip_addr ipa_from_sa4(sockaddr *sa) ^ 12 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:495 (conf/cf-lex.l:495)(obj/conf/cf-lex.o:(cf_include)): warning: sprintf() is often misused, please use snprintf() ld: warning: bgp.c:449 (proto/bgp/bgp.c:449)(obj/proto/bgp/bgp.o:(bgp_start_timer)): warning: random() may return deterministic values, is that what you want? ld: warning: io.c:1889 (sysdep/unix/io.c:1889)(obj/sysdep/unix/io.o:(sk_open_unix)): 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 -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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -pthread -L/usr/local/lib -o birdcl obj/client/commands.o obj/client/util.o obj/client/client.o obj/client/birdcl.o ld: warning: commands.c:212 (client/commands.c:212)(obj/client/commands.o:(cmd_complete)): warning: strcpy() is almost always misused, please use strlcpy() ld: warning: commands.c:332 (client/commands.c:332)(obj/client/commands.o:(cmd_expand)): warning: sprintf() is often misused, please use snprintf() cc -Iobj -I. -I/usr/local/include -O2 -pipe -g -pthread -fno-strict-aliasing -fno-strict-overflow -MMD -MP -o obj/client/birdc.o -c client/birdc.c 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] if (node->TLIST_ITEM.prev = list->last) ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~ ./lib/tlists.h:112:29: note: place parentheses around the assignment to silence this warning if (node->TLIST_ITEM.prev = list->last) ^ ( ) ./lib/tlists.h:112:29: note: use '==' to turn this assignment into an equality comparison if (node->TLIST_ITEM.prev = list->last) ^ == 1 warning generated. cc -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: client.c:108 (client/client.c:108)(obj/client/client.o:(main)): warning: strcpy() is almost always misused, please use strlcpy() ld: warning: commands.c:332 (client/commands.c:332)(obj/client/commands.o:(cmd_expand)): warning: sprintf() is often misused, please use snprintf() >>> Running fake in net/bird/3 at 1734991798.93 ===> net/bird/3 ===> Faking installation for bird-3.0.0 /bin/sh: git: not found /exopi-obj/pobj/bird-3.0.0/bin/install -c -d /exopi-obj/pobj/bird-3.0.0/fake-amd64//usr/local/sbin /exopi-obj/pobj/bird-3.0.0/fake-amd64//usr/local/share/examples/bird /exopi-obj/pobj/bird-3.0.0/fake-amd64//var/run for BIN in bird birdcl birdc ; do \ /exopi-obj/pobj/bird-3.0.0/bin/install -c -m 755 ./$BIN /exopi-obj/pobj/bird-3.0.0/fake-amd64//usr/local/sbin/$BIN ; \ done if ! test -f /exopi-obj/pobj/bird-3.0.0/fake-amd64//usr/local/share/examples/bird/bird.conf ; then \ /exopi-obj/pobj/bird-3.0.0/bin/install -c -m 644 ./doc/bird.conf.example /exopi-obj/pobj/bird-3.0.0/fake-amd64//usr/local/share/examples/bird/bird.conf ; \ else \ echo "Not overwriting old bird.conf" ; \ fi /exopi-obj/pobj/bird-3.0.0/bin/install -d -m 755 /exopi-obj/pobj/bird-3.0.0/fake-amd64/usr/local/share/doc/bird /exopi-obj/pobj/bird-3.0.0/bin/install -c -m 644 /exopi-obj/pobj/bird-3.0.0/bird-doc-*/doc/* /exopi-obj/pobj/bird-3.0.0/fake-amd64/usr/local/share/doc/bird/ /exopi-obj/pobj/bird-3.0.0/bin/install -c -m 644 /exopi-obj/pobj/bird-3.0.0/bird-3.0.0/doc/bird.conf.example2 /exopi-obj/pobj/bird-3.0.0/fake-amd64/usr/local/share/examples/bird/ >>> Running package in net/bird/3 at 1734991799.66 ===> net/bird/3 `/exopi-obj/pobj/bird-3.0.0/fake-amd64/.fake_done' is up to date. Reading existing plist for bird-3.0.0 Writing /exopi-obj/pobj/bird-3.0.0/fake-amd64/debug-pkg/Makefile.new Writing /exopi-obj/pobj/bird-3.0.0/fake-amd64/debug-pkg/PLIST Renaming /exopi-obj/pobj/bird-3.0.0/fake-amd64/debug-pkg/Makefile.new to Makefile > Extracting debug info from /exopi-obj/pobj/bird-3.0.0/fake-amd64/usr/local/sbin/bird > Extracting debug info from /exopi-obj/pobj/bird-3.0.0/fake-amd64/usr/local/sbin/birdc > Extracting debug info from /exopi-obj/pobj/bird-3.0.0/fake-amd64/usr/local/sbin/birdcl Installing /exopi-cvs/ports/net/bird/3/pkg/bird.rc as /exopi-obj/pobj/bird-3.0.0/fake-amd64/etc/rc.d/bird ===> Building package for bird-3.0.0 Create /exopi-cvs/ports/packages/amd64/all/bird-3.0.0.tgz Creating package bird-3.0.0 reading plist| checking dependencies| checking dependencies|security/libssh checksumming| checksumming| | 0% checksumming|** | 4% checksumming|***** | 7% checksumming|******* | 11% checksumming|********* | 15% checksumming|*********** | 19% checksumming|************** | 22% checksumming|**************** | 26% checksumming|****************** | 30% checksumming|******************** | 33% checksumming|*********************** | 37% checksumming|************************* | 41% checksumming|*************************** | 44% checksumming|***************************** | 48% checksumming|******************************** | 52% checksumming|********************************** | 56% checksumming|************************************ | 59% checksumming|************************************** | 63% checksumming|***************************************** | 67% checksumming|******************************************* | 70% checksumming|********************************************* | 74% checksumming|*********************************************** | 78% checksumming|************************************************** | 81% checksumming|**************************************************** | 85% checksumming|****************************************************** | 89% checksumming|******************************************************** | 93% checksumming|*********************************************************** | 96% checksumming|*************************************************************|100% archiving| archiving| | 0% archiving|*************************************** | 61% archiving|**************************************** | 63% archiving|***************************************** | 64% archiving|**************************************************** | 81% archiving|****************************************************************|100% Creating package debug-bird-3.0.0 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|************************************ | 56% archiving|*************************************************************** | 98% archiving|*************************************************************** | 99% archiving|****************************************************************|100% Link to /exopi-cvs/ports/packages/amd64/ftp/bird-3.0.0.tgz Link to /exopi-cvs/ports/packages/amd64/ftp/debug-bird-3.0.0.tgz >>> Running clean in net/bird/3 at 1734991804.04 ===> net/bird/3 ===> Cleaning for bird-3.0.0 >>> Ended at 1734991804.39 max_stuck=1.87/depends=2.36/show-prepare-results=1.77/patch=0.65/configure=14.31/build=73.53/fake=0.74/package=4.37/clean=0.38