On 02/19/2015 02:02 PM, Ananyev, Konstantin wrote: > Hi Panu, > >> -----Original Message----- >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Panu Matilainen >> Sent: Thursday, February 19, 2015 10:25 AM >> To: dev at dpdk.org >> Subject: [dpdk-dev] [PATCH] ixgbe: fix build with gcc 5 >> >> Add extra parenthesis to remove ambiguity on what we want to compare, >> otherwise gcc 5 issues a "logical not is only applied to the left hand >> side of comparison" warning which with -Werror fails the build. >> >> Signed-off-by: Panu Matilainen <pmatilai at redhat.com> >> --- >> lib/librte_pmd_ixgbe/ixgbe/ixgbe_common.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_common.c >> b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_common.c >> index 37e5bae..93a6a00 100644 >> --- a/lib/librte_pmd_ixgbe/ixgbe/ixgbe_common.c >> +++ b/lib/librte_pmd_ixgbe/ixgbe/ixgbe_common.c >> @@ -2898,8 +2898,8 @@ STATIC s32 ixgbe_fc_autoneg_fiber(struct ixgbe_hw *hw) >> */ >> >> linkstat = IXGBE_READ_REG(hw, IXGBE_PCS1GLSTA); >> - if ((!!(linkstat & IXGBE_PCS1GLSTA_AN_COMPLETE) == 0) || >> - (!!(linkstat & IXGBE_PCS1GLSTA_AN_TIMED_OUT) == 1)) { >> + if (((!!(linkstat & IXGBE_PCS1GLSTA_AN_COMPLETE)) == 0) || >> + ((!!(linkstat & IXGBE_PCS1GLSTA_AN_TIMED_OUT)) == 1)) { >> ERROR_REPORT1(IXGBE_ERROR_POLLING, >> "Auto-Negotiation did not complete or timed out"); >> goto out; > > Unfortunately we are not supposed to change files under ixgbe subfirectory > (except ixgbe_osdep.*).
Oh, sorry about that, I didn't realize there were untouchable files in the repo. Its not a very common setup :) > Usually we deal with it just by: > If GCC_VERSION... > CFLAGS_ixgbe_common.o += -Wno... > > You can have a look at lib/librte_pmd_ixgbe/Makefile, there are plenty of > such things. Yup, noticed that but assumed the warning disablers were mainly for things that are not trivial to fix. This one can be worked around just as easily with -Wlogical-not-parentheses, but since this flag is new to gcc 5 it can't really be added until gcc 5 is recognized as a supported version by the makefiles: http://dpdk.org/dev/patchwork/patch/3452/ I'll send an updated version using warning disabler once other gcc-5 support goes in. - Panu -