Message ID | 1445034719-59328-1-git-send-email-joestringer@nicira.com |
---|---|
State | Accepted, archived |
Headers | show |
On Fri, Oct 16, 2015 at 3:31 PM, Joe Stringer <joestringer@nicira.com> wrote: > GCC4.4 gets confused by anonymous fields + flexible fields, complains: > lib/ofp-actions.h:510: error: flexible array member in otherwise empty > struct > lib/ofp-actions.h:512: error: bit-field ‘build_assert_failed’ width not > an integer constant > lib/ofp-actions.h:514: error: bit-field ‘build_assert_failed’ width not > an integer constant > > Fix the problem by specifying the actions length as zero. > > Reported-by: Pravin B Shelar <pshelar@nicira.com> > Signed-off-by: Joe Stringer <joestringer@nicira.com> Acked-by: Pravin B Shelar <pshelar@nicira.com>
On 16 October 2015 at 15:46, Pravin Shelar <pshelar@nicira.com> wrote: > On Fri, Oct 16, 2015 at 3:31 PM, Joe Stringer <joestringer@nicira.com> wrote: >> GCC4.4 gets confused by anonymous fields + flexible fields, complains: >> lib/ofp-actions.h:510: error: flexible array member in otherwise empty >> struct >> lib/ofp-actions.h:512: error: bit-field ‘build_assert_failed’ width not >> an integer constant >> lib/ofp-actions.h:514: error: bit-field ‘build_assert_failed’ width not >> an integer constant >> >> Fix the problem by specifying the actions length as zero. >> >> Reported-by: Pravin B Shelar <pshelar@nicira.com> >> Signed-off-by: Joe Stringer <joestringer@nicira.com> > > Acked-by: Pravin B Shelar <pshelar@nicira.com> Thanks, I applied this to master.
diff --git a/lib/ofp-actions.h b/lib/ofp-actions.h index 0ad2e3f9f26f..773b6170474d 100644 --- a/lib/ofp-actions.h +++ b/lib/ofp-actions.h @@ -507,7 +507,7 @@ struct ofpact_conntrack { CT_MEMBERS; uint8_t pad[OFPACT_ALIGN(sizeof(CT_MEMBERS))]; }; - struct ofpact actions[]; + struct ofpact actions[0]; }; BUILD_ASSERT_DECL(offsetof(struct ofpact_conntrack, actions) % OFPACT_ALIGNTO == 0);
GCC4.4 gets confused by anonymous fields + flexible fields, complains: lib/ofp-actions.h:510: error: flexible array member in otherwise empty struct lib/ofp-actions.h:512: error: bit-field ‘build_assert_failed’ width not an integer constant lib/ofp-actions.h:514: error: bit-field ‘build_assert_failed’ width not an integer constant Fix the problem by specifying the actions length as zero. Reported-by: Pravin B Shelar <pshelar@nicira.com> Signed-off-by: Joe Stringer <joestringer@nicira.com> --- Tested manually on RHEL6.6, and via AppVeyor and Travis CI. Everything seems happy. --- lib/ofp-actions.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)