diff options
author | William Tu <u9012063@gmail.com> | 2016-02-17 18:00:22 -0800 |
---|---|---|
committer | Ben Pfaff <blp@ovn.org> | 2016-02-22 10:04:03 -0800 |
commit | e8fed7d01ca6fb6c7e96faf2b831fcfa4552cb4a (patch) | |
tree | 296425544006b786242034825cb3214bf5aa2531 /ofproto | |
parent | e0512257a9750d42359111c659d9d50be809d89f (diff) | |
download | openvswitch-e8fed7d01ca6fb6c7e96faf2b831fcfa4552cb4a.tar.gz |
gcc: Fix compile errors due to anonymous union initilization.
gcc 4.4.7 lets you initialize named fields, and assign to anonymous union members,
but cannot statically initialize a named member of an anonymous union. This causes
errors when doing make:
fproto/fail-open.c: In function ‘send_bogus_packet_ins’:
ofproto/fail-open.c:130: error: unknown field ‘pin’ specified in initializer
ofproto/fail-open.c:131: error: unknown field ‘up’ specified in initializer
ofproto/fail-open.c:132: error: unknown field ‘packet’ specified in initializer
ofproto/fail-open.c:132: warning: missing braces around initializer
ofproto/fail-open.c:132: warning: (near initialization for ‘am.<anonymous>.pin.up’)
ofproto/fail-open.c:134: error: extra brace group at end of initializer
Examaple: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=42875
We can either assign a name to the union or, in this patch, remove the unnecessary union.
Signed-off-by: William Tu <u9012063@gmail.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ofproto')
-rw-r--r-- | ofproto/connmgr.h | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/ofproto/connmgr.h b/ofproto/connmgr.h index c5992185d..f2e0a5f10 100644 --- a/ofproto/connmgr.h +++ b/ofproto/connmgr.h @@ -60,13 +60,11 @@ struct ofproto_async_msg { uint16_t controller_id; /* Controller ID to send to. */ enum ofputil_async_msg_type oam; - union { - /* OAM_PACKET_IN. */ - struct { - struct ofputil_packet_in_private up; - int max_len; /* From action, or -1 if none. */ - } pin; - }; + /* OAM_PACKET_IN. */ + struct { + struct ofputil_packet_in_private up; + int max_len; /* From action, or -1 if none. */ + } pin; }; void ofproto_async_msg_free(struct ofproto_async_msg *); |