On 11 Nov 2020, at 16:58, 0-day Robot wrote:

Bleep bloop. Greetings Eelco Chaudron, I am a robot and I have tried out your patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting. See the details below.


build:
/bin/sh ./libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror -g -O2 -DHAVE_LD_AVX512_GOOD -MT ofproto/ofproto_libofproto_la-ofproto.lo -MD -MP -MF ofproto/.deps/ofproto_libofproto_la-ofproto.Tpo -c -o ofproto/ofproto_libofproto_la-ofproto.lo `test -f 'ofproto/ofproto.c' || echo './'`ofproto/ofproto.c libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror -g -O2 -DHAVE_LD_AVX512_GOOD -MT ofproto/ofproto_libofproto_la-ofproto.lo -MD -MP -MF ofproto/.deps/ofproto_libofproto_la-ofproto.Tpo -c ofproto/ofproto.c -o ofproto/ofproto_libofproto_la-ofproto.o mv -f ofproto/.deps/ofproto_libofproto_la-ofproto.Tpo ofproto/.deps/ofproto_libofproto_la-ofproto.Plo /bin/sh ./libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror -g -O2 -DHAVE_LD_AVX512_GOOD -MT ofproto/ofproto_libofproto_la-ofproto-dpif.lo -MD -MP -MF ofproto/.deps/ofproto_libofproto_la-ofproto-dpif.Tpo -c -o ofproto/ofproto_libofproto_la-ofproto-dpif.lo `test -f 'ofproto/ofproto-dpif.c' || echo './'`ofproto/ofproto-dpif.c libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I ./include -I ./include -I ./lib -I ./lib -Wstrict-prototypes -Wall -Wextra -Wno-sign-compare -Wpointer-arith -Wformat -Wformat-security -Wswitch-enum -Wunused-parameter -Wbad-function-cast -Wcast-align -Wstrict-prototypes -Wold-style-definition -Wmissing-prototypes -Wmissing-field-initializers -fno-strict-aliasing -Wshadow -Werror -Werror -g -O2 -DHAVE_LD_AVX512_GOOD -MT ofproto/ofproto_libofproto_la-ofproto-dpif.lo -MD -MP -MF ofproto/.deps/ofproto_libofproto_la-ofproto-dpif.Tpo -c ofproto/ofproto-dpif.c -o ofproto/ofproto_libofproto_la-ofproto-dpif.o
ofproto/ofproto-dpif.c: In function 'check_dec_ttl_action':
ofproto/ofproto-dpif.c:1196:12: error: missing braces around initializer [-Werror=missing-braces]
     struct flow flow = { 0 };
            ^

Could this be a clang compiler issues? Searching a bit online looks like it. I do not see this with CLANG10, however I do see it in TravicCi which is using Clang7.0.

Any idea what to do to resolve it? I could do something like (also for the OS X build):

diff --git a/.travis/linux-build.sh b/.travis/linux-build.sh
index e0a065291..da7a30767 100755
--- a/.travis/linux-build.sh
+++ b/.travis/linux-build.sh
@@ -181,6 +181,7 @@ fi

 if [ "$CC" = "clang" ]; then
CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-error=unused-command-line-argument" + CFLAGS_FOR_OVS="${CFLAGS_FOR_OVS} -Wno-missing-braces -Wmissing-field-initializers"
 elif [ "$M32" ]; then
     # Not using sparse for 32bit builds on 64bit machine.
# Adding m32 flag directly to CC to avoid any posiible issues with API/ABI

Or do a memset() instead, but seems odd to work around a compiler issue.

Thoughts?

ofproto/ofproto-dpif.c:1196:12: error: (near initialization for 'flow.tunnel') [-Werror=missing-braces] ofproto/ofproto-dpif.c:1196:12: error: missing initializer for field 'metadata' of 'struct flow' [-Werror=missing-field-initializers]
In file included from ./include/openvswitch/match.h:20:0,
                 from ./lib/classifier.h:302,
                 from ofproto/ofproto-provider.h:37,
                 from ofproto/bond.h:22,
                 from ofproto/ofproto-dpif.c:20:
./include/openvswitch/flow.h:103:14: note: 'metadata' declared here
     ovs_be64 metadata;          /* OpenFlow Metadata. */
              ^
cc1: all warnings being treated as errors
make[2]: *** [ofproto/ofproto_libofproto_la-ofproto-dpif.lo] Error 1
make[2]: Leaving directory `/var/lib/jenkins/jobs/0day_robot_upstream_build_from_pw/workspace'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/lib/jenkins/jobs/0day_robot_upstream_build_from_pw/workspace'
make: *** [all] Error 2


Please check this out. If you feel there has been an error, please email [email protected]

Thanks,
0-day Robot

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to