* [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds @ 2016-06-26 15:32 Keith Wiles 2016-06-26 15:32 ` [dpdk-dev] [PATCH 2/2] fix building with clang-3.8.0 compiler Keith Wiles 2016-06-26 15:49 ` [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds Wiles, Keith 0 siblings, 2 replies; 13+ messages in thread From: Keith Wiles @ 2016-06-26 15:32 UTC (permalink / raw) To: dev Signed-off-by: Keith Wiles <keith.wiles@intel.com> --- drivers/net/e1000/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile index 5b801f5..1305163 100644 --- a/drivers/net/e1000/Makefile +++ b/drivers/net/e1000/Makefile @@ -48,7 +48,7 @@ ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) # CFLAGS for icc # CFLAGS_BASE_DRIVER = -wd177 -wd181 -wd188 -wd869 -wd2259 -else +else ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) # # CFLAGS for gcc # @@ -57,6 +57,9 @@ CFLAGS_BASE_DRIVER += -Wno-unused-variable ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1) CFLAGS_BASE_DRIVER += -Wno-misleading-indentation endif +else +CFLAGS_BASE_DRIVER = -Wno-uninitialized -Wno-unused-parameter +CFLAGS_BASE_DRIVER += -Wno-unused-variable endif # -- 2.8.0.GIT ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH 2/2] fix building with clang-3.8.0 compiler 2016-06-26 15:32 [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds Keith Wiles @ 2016-06-26 15:32 ` Keith Wiles 2016-06-26 15:50 ` Wiles, Keith 2016-06-26 15:49 ` [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds Wiles, Keith 1 sibling, 1 reply; 13+ messages in thread From: Keith Wiles @ 2016-06-26 15:32 UTC (permalink / raw) To: dev Latest clang compiler 3.8.0 on latest update of Ubuntu creates a few more warnings on -Warray-bounds and extra () around 'if' expressions. Signed-off-by: Keith Wiles <keith.wiles@intel.com> --- app/test-pmd/Makefile | 3 +++ app/test/Makefile | 3 +++ drivers/net/bonding/Makefile | 4 ++++ drivers/net/fm10k/Makefile | 2 ++ drivers/net/i40e/Makefile | 2 ++ lib/librte_cmdline/Makefile | 6 ++++++ lib/librte_eal/linuxapp/eal/Makefile | 7 +++++++ 7 files changed, 27 insertions(+) diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index 2a0b5a5..14ab77c 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -59,6 +59,9 @@ SRCS-y += icmpecho.c SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c CFLAGS_cmdline.o := -D_GNU_SOURCE +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_cmdline.o += -Wno-array-bounds +endif # this application needs libraries first DEPDIRS-y += lib drivers diff --git a/app/test/Makefile b/app/test/Makefile index 2de8c7a..5593426 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -211,6 +211,9 @@ ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) CFLAGS_test_memcpy.o += -fno-var-tracking-assignments CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments endif +else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_test_errno.o += -Wno-array-bounds +CFLAGS_test_devargs.o += -Wno-array-bounds endif # this application needs libraries first diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile index 504f2e8..ee5f44a 100644 --- a/drivers/net/bonding/Makefile +++ b/drivers/net/bonding/Makefile @@ -43,6 +43,10 @@ EXPORT_MAP := rte_eth_bond_version.map LIBABIVER := 1 +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_rte_eth_bond_args.o := -Wno-array-bounds +endif + # # all source are stored in SRCS-y # diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile index afcbd1d..d6c692d 100644 --- a/drivers/net/fm10k/Makefile +++ b/drivers/net/fm10k/Makefile @@ -59,6 +59,8 @@ CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args CFLAGS_BASE_DRIVER += -Wno-unused-variable CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers +CFLAGS_fm10k_ethdev.o := -Wno-array-bounds + else # # CFLAGS for gcc diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile index 9ffef3f..3a9e5a1 100644 --- a/drivers/net/i40e/Makefile +++ b/drivers/net/i40e/Makefile @@ -60,6 +60,8 @@ CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast CFLAGS_BASE_DRIVER += -Wno-format-nonliteral CFLAGS_BASE_DRIVER += -Wno-unused-variable + +CFLAGS_i40e_hmc.o += -Wno-tautological-compare else CFLAGS_BASE_DRIVER = -Wno-sign-compare CFLAGS_BASE_DRIVER += -Wno-unused-value diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile index 7d2d148..0af1d0a 100644 --- a/lib/librte_cmdline/Makefile +++ b/lib/librte_cmdline/Makefile @@ -40,6 +40,12 @@ EXPORT_MAP := rte_cmdline_version.map LIBABIVER := 2 +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_cmdline_cirbuf.o:= -Wno-parentheses-equality +CFLAGS_cmdline_rdline.o:= -Wno-parentheses-equality +CFLAGS_cmdline_parse_string.o:= -Wno-array-bounds +endif + # all source are stored in SRCS-y SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 30b30f3..2ff8d62 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -125,6 +125,13 @@ CFLAGS_eal_common_options.o := -D_GNU_SOURCE CFLAGS_eal_common_thread.o := -D_GNU_SOURCE CFLAGS_eal_common_lcore.o := -D_GNU_SOURCE +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_eal_alarm.o += -Wno-parentheses-equality +CFLAGS_eal_common_options.o += -Wno-array-bounds +CFLAGS_eal_pci.o += -Wno-parentheses-equality +CFLAGS_eal_pci.o += -Wno-array-bounds +endif + # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) -- 2.8.0.GIT ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 2/2] fix building with clang-3.8.0 compiler 2016-06-26 15:32 ` [dpdk-dev] [PATCH 2/2] fix building with clang-3.8.0 compiler Keith Wiles @ 2016-06-26 15:50 ` Wiles, Keith 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 1/2] e1000:fix gcc test for clang builds Keith Wiles 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler Keith Wiles 0 siblings, 2 replies; 13+ messages in thread From: Wiles, Keith @ 2016-06-26 15:50 UTC (permalink / raw) To: dev On 6/26/16, 10:32 AM, "dev on behalf of Keith Wiles" <dev-bounces@dpdk.org on behalf of keith.wiles@intel.com> wrote: >Latest clang compiler 3.8.0 on latest update of Ubuntu >creates a few more warnings on -Warray-bounds and extra >() around 'if' expressions. > >Signed-off-by: Keith Wiles <keith.wiles@intel.com> >--- > app/test-pmd/Makefile | 3 +++ > app/test/Makefile | 3 +++ > drivers/net/bonding/Makefile | 4 ++++ > drivers/net/fm10k/Makefile | 2 ++ > drivers/net/i40e/Makefile | 2 ++ > lib/librte_cmdline/Makefile | 6 ++++++ > lib/librte_eal/linuxapp/eal/Makefile | 7 +++++++ > 7 files changed, 27 insertions(+) > self-nak: found another problem ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2 1/2] e1000:fix gcc test for clang builds 2016-06-26 15:50 ` Wiles, Keith @ 2016-06-26 15:54 ` Keith Wiles 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler Keith Wiles 1 sibling, 0 replies; 13+ messages in thread From: Keith Wiles @ 2016-06-26 15:54 UTC (permalink / raw) To: dev Signed-off-by: Keith Wiles <keith.wiles@intel.com> --- drivers/net/e1000/Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile index 5b801f5..1305163 100644 --- a/drivers/net/e1000/Makefile +++ b/drivers/net/e1000/Makefile @@ -48,7 +48,7 @@ ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) # CFLAGS for icc # CFLAGS_BASE_DRIVER = -wd177 -wd181 -wd188 -wd869 -wd2259 -else +else ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) # # CFLAGS for gcc # @@ -57,6 +57,9 @@ CFLAGS_BASE_DRIVER += -Wno-unused-variable ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1) CFLAGS_BASE_DRIVER += -Wno-misleading-indentation endif +else +CFLAGS_BASE_DRIVER = -Wno-uninitialized -Wno-unused-parameter +CFLAGS_BASE_DRIVER += -Wno-unused-variable endif # -- 2.8.0.GIT ^ permalink raw reply [flat|nested] 13+ messages in thread
* [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-26 15:50 ` Wiles, Keith 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 1/2] e1000:fix gcc test for clang builds Keith Wiles @ 2016-06-26 15:54 ` Keith Wiles 2016-06-27 8:46 ` Bruce Richardson 2016-06-27 8:48 ` Thomas Monjalon 1 sibling, 2 replies; 13+ messages in thread From: Keith Wiles @ 2016-06-26 15:54 UTC (permalink / raw) To: dev Latest clang compiler 3.8.0 on latest update of Ubuntu creates a few more warnings on -Warray-bounds and extra () around 'if' expressions. Signed-off-by: Keith Wiles <keith.wiles@intel.com> --- app/test-pmd/Makefile | 3 +++ app/test/Makefile | 3 +++ drivers/net/bonding/Makefile | 4 ++++ drivers/net/fm10k/Makefile | 2 ++ drivers/net/i40e/Makefile | 2 ++ lib/librte_cmdline/Makefile | 6 ++++++ lib/librte_eal/linuxapp/eal/Makefile | 8 ++++++++ 7 files changed, 28 insertions(+) diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile index 2a0b5a5..14ab77c 100644 --- a/app/test-pmd/Makefile +++ b/app/test-pmd/Makefile @@ -59,6 +59,9 @@ SRCS-y += icmpecho.c SRCS-$(CONFIG_RTE_LIBRTE_IEEE1588) += ieee1588fwd.c CFLAGS_cmdline.o := -D_GNU_SOURCE +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_cmdline.o += -Wno-array-bounds +endif # this application needs libraries first DEPDIRS-y += lib drivers diff --git a/app/test/Makefile b/app/test/Makefile index 2de8c7a..5593426 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -211,6 +211,9 @@ ifeq ($(shell test $(GCC_VERSION) -ge 44 && echo 1), 1) CFLAGS_test_memcpy.o += -fno-var-tracking-assignments CFLAGS_test_memcpy_perf.o += -fno-var-tracking-assignments endif +else ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_test_errno.o += -Wno-array-bounds +CFLAGS_test_devargs.o += -Wno-array-bounds endif # this application needs libraries first diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile index 504f2e8..ee5f44a 100644 --- a/drivers/net/bonding/Makefile +++ b/drivers/net/bonding/Makefile @@ -43,6 +43,10 @@ EXPORT_MAP := rte_eth_bond_version.map LIBABIVER := 1 +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_rte_eth_bond_args.o := -Wno-array-bounds +endif + # # all source are stored in SRCS-y # diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile index afcbd1d..d6c692d 100644 --- a/drivers/net/fm10k/Makefile +++ b/drivers/net/fm10k/Makefile @@ -59,6 +59,8 @@ CFLAGS_BASE_DRIVER += -Wno-strict-aliasing -Wno-format-extra-args CFLAGS_BASE_DRIVER += -Wno-unused-variable CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers +CFLAGS_fm10k_ethdev.o := -Wno-array-bounds + else # # CFLAGS for gcc diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile index 9ffef3f..3a9e5a1 100644 --- a/drivers/net/i40e/Makefile +++ b/drivers/net/i40e/Makefile @@ -60,6 +60,8 @@ CFLAGS_BASE_DRIVER += -Wno-missing-field-initializers CFLAGS_BASE_DRIVER += -Wno-pointer-to-int-cast CFLAGS_BASE_DRIVER += -Wno-format-nonliteral CFLAGS_BASE_DRIVER += -Wno-unused-variable + +CFLAGS_i40e_hmc.o += -Wno-tautological-compare else CFLAGS_BASE_DRIVER = -Wno-sign-compare CFLAGS_BASE_DRIVER += -Wno-unused-value diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile index 7d2d148..0af1d0a 100644 --- a/lib/librte_cmdline/Makefile +++ b/lib/librte_cmdline/Makefile @@ -40,6 +40,12 @@ EXPORT_MAP := rte_cmdline_version.map LIBABIVER := 2 +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_cmdline_cirbuf.o:= -Wno-parentheses-equality +CFLAGS_cmdline_rdline.o:= -Wno-parentheses-equality +CFLAGS_cmdline_parse_string.o:= -Wno-array-bounds +endif + # all source are stored in SRCS-y SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) := cmdline.c SRCS-$(CONFIG_RTE_LIBRTE_CMDLINE) += cmdline_cirbuf.c diff --git a/lib/librte_eal/linuxapp/eal/Makefile b/lib/librte_eal/linuxapp/eal/Makefile index 30b30f3..c771a85 100644 --- a/lib/librte_eal/linuxapp/eal/Makefile +++ b/lib/librte_eal/linuxapp/eal/Makefile @@ -125,6 +125,14 @@ CFLAGS_eal_common_options.o := -D_GNU_SOURCE CFLAGS_eal_common_thread.o := -D_GNU_SOURCE CFLAGS_eal_common_lcore.o := -D_GNU_SOURCE +ifeq ($(CONFIG_RTE_TOOLCHAIN_CLANG),y) +CFLAGS_eal_alarm.o += -Wno-parentheses-equality +CFLAGS_eal_interrupts.o += -Wno-parentheses-equality +CFLAGS_eal_common_options.o += -Wno-array-bounds +CFLAGS_eal_pci.o += -Wno-parentheses-equality +CFLAGS_eal_pci.o += -Wno-array-bounds +endif + # workaround for a gcc bug with noreturn attribute # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603 ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) -- 2.8.0.GIT ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler Keith Wiles @ 2016-06-27 8:46 ` Bruce Richardson 2016-06-27 12:58 ` Wiles, Keith 2016-06-27 8:48 ` Thomas Monjalon 1 sibling, 1 reply; 13+ messages in thread From: Bruce Richardson @ 2016-06-27 8:46 UTC (permalink / raw) To: Keith Wiles; +Cc: dev On Sun, Jun 26, 2016 at 10:54:12AM -0500, Keith Wiles wrote: > Latest clang compiler 3.8.0 on latest update of Ubuntu > creates a few more warnings on -Warray-bounds and extra > () around 'if' expressions. > > Signed-off-by: Keith Wiles <keith.wiles@intel.com> > --- > app/test-pmd/Makefile | 3 +++ > app/test/Makefile | 3 +++ > drivers/net/bonding/Makefile | 4 ++++ > drivers/net/fm10k/Makefile | 2 ++ > drivers/net/i40e/Makefile | 2 ++ > lib/librte_cmdline/Makefile | 6 ++++++ > lib/librte_eal/linuxapp/eal/Makefile | 8 ++++++++ > 7 files changed, 28 insertions(+) > All the fixes in this patch seem to be just disabling the compiler warnings, which should really be the last resort in cases like this. Can some of the issues be fixed by actually fixing the issues in the code? /Bruce ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-27 8:46 ` Bruce Richardson @ 2016-06-27 12:58 ` Wiles, Keith 2016-06-27 16:29 ` Wiles, Keith 0 siblings, 1 reply; 13+ messages in thread From: Wiles, Keith @ 2016-06-27 12:58 UTC (permalink / raw) To: Richardson, Bruce; +Cc: dev On 6/27/16, 3:46 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: >On Sun, Jun 26, 2016 at 10:54:12AM -0500, Keith Wiles wrote: >> Latest clang compiler 3.8.0 on latest update of Ubuntu >> creates a few more warnings on -Warray-bounds and extra >> () around 'if' expressions. >> >> Signed-off-by: Keith Wiles <keith.wiles@intel.com> >> --- >> app/test-pmd/Makefile | 3 +++ >> app/test/Makefile | 3 +++ >> drivers/net/bonding/Makefile | 4 ++++ >> drivers/net/fm10k/Makefile | 2 ++ >> drivers/net/i40e/Makefile | 2 ++ >> lib/librte_cmdline/Makefile | 6 ++++++ >> lib/librte_eal/linuxapp/eal/Makefile | 8 ++++++++ >> 7 files changed, 28 insertions(+) >> >All the fixes in this patch seem to be just disabling the compiler warnings, which >should really be the last resort in cases like this. Can some of the issues be >fixed by actually fixing the issues in the code? I did look at the code to fix the problem, because I could not see one: /work/home/rkwiles/projects/intel/dpdk/app/test-pmd/cmdline.c:3357:2140: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds] if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (res->proto) && __builtin_constant_p ("ip") && (__s1_len = __builtin_strlen (res->proto), __s2_len = __builtin_strlen ("ip"), (!((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) || __s2_len >= 4)) ? __builtin_strcmp (res->proto, "ip") : (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) && (__s1_len = __builtin_strlen (res->proto), __s1_len < 4) ? (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) ? __builtin_strcmp (res->proto, "ip") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("ip"); int __result = (((const unsigned char *) (const char *) (res->proto))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (res->proto))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) && (__s2_len = __builtin_strlen ("ip"), __s2_len < 4) ? (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) ? __builtin_strcmp (res->proto, "ip") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (res->proto); int __result = (((const unsigned char *) (const char *) ("ip"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("ip"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (res->proto, "ip")))); })) { Here is the line of code for that one: if (!strcmp(res->proto, "ip")) { The –Wno-parenthese-equality problem gives the output here: /work/home/rkwiles/projects/intel/dpdk/lib/librte_cmdline/cmdline_cirbuf.c:288:19: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if (((cbuf)->len == 0)) { The line is: if (CIRBUF_IS_EMPTY(cbuf)) { This one is in cmdline_cirbuf.h, which can be changed, but I do not think we need to remove the parenthese. I will look at some of other solution, so I rejected the patch. > >/Bruce > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-27 12:58 ` Wiles, Keith @ 2016-06-27 16:29 ` Wiles, Keith 2016-06-27 16:40 ` Bruce Richardson 0 siblings, 1 reply; 13+ messages in thread From: Wiles, Keith @ 2016-06-27 16:29 UTC (permalink / raw) To: Richardson, Bruce; +Cc: dev On 6/27/16, 7:58 AM, "dev on behalf of Wiles, Keith" <dev-bounces@dpdk.org on behalf of keith.wiles@intel.com> wrote: > >On 6/27/16, 3:46 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: > >>On Sun, Jun 26, 2016 at 10:54:12AM -0500, Keith Wiles wrote: >>> Latest clang compiler 3.8.0 on latest update of Ubuntu >>> creates a few more warnings on -Warray-bounds and extra >>> () around 'if' expressions. >>> >>> Signed-off-by: Keith Wiles <keith.wiles@intel.com> >>> --- >>> app/test-pmd/Makefile | 3 +++ >>> app/test/Makefile | 3 +++ >>> drivers/net/bonding/Makefile | 4 ++++ >>> drivers/net/fm10k/Makefile | 2 ++ >>> drivers/net/i40e/Makefile | 2 ++ >>> lib/librte_cmdline/Makefile | 6 ++++++ >>> lib/librte_eal/linuxapp/eal/Makefile | 8 ++++++++ >>> 7 files changed, 28 insertions(+) >>> >>All the fixes in this patch seem to be just disabling the compiler warnings, which >>should really be the last resort in cases like this. Can some of the issues be >>fixed by actually fixing the issues in the code? > >I did look at the code to fix the problem, because I could not see one: > >/work/home/rkwiles/projects/intel/dpdk/app/test-pmd/cmdline.c:3357:2140: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds] > if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (res->proto) && __builtin_constant_p ("ip") && (__s1_len = __builtin_strlen (res->proto), __s2_len = __builtin_strlen ("ip"), (!((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) || __s2_len >= 4)) ? __builtin_strcmp (res->proto, "ip") : (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) && (__s1_len = __builtin_strlen (res->proto), __s1_len < 4) ? (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) ? __builtin_strcmp (res->proto, "ip") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("ip"); int __result = (((const unsigned char *) (const char *) (res->proto))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (res->proto))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) && (__s2_len = __builtin_strlen ("ip"), __s2_len < 4) ? (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) ? __builtin_strcmp (res->proto, "ip") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (res->proto); int __result = (((const unsigned char *) (const char *) ("ip"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("ip"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (res->proto, "ip")))); })) { > >Here is the line of code for that one: > if (!strcmp(res->proto, "ip")) { > >The –Wno-parenthese-equality problem gives the output here: > >/work/home/rkwiles/projects/intel/dpdk/lib/librte_cmdline/cmdline_cirbuf.c:288:19: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] > if (((cbuf)->len == 0)) { > >The line is: > > if (CIRBUF_IS_EMPTY(cbuf)) { > >This one is in cmdline_cirbuf.h, which can be changed, but I do not think we need to remove the parenthese. > >I will look at some of other solution, so I rejected the patch. I found the problem to the compile errors I am seeing with building with clang and shared libraries. The x86_64-linux-gnu/bits/string2.h header file if getting included from string.h, but this would be mean __GNUC__ is defined and this is the clang compiler. After much investigation it turns out ‘ccache’ is the problem here. If ccache is enabled with clang builds the __GNUC__ is defined some how, I never did find the location. Just a warning it appears ‘ccache’ for caching object files is not compatible with DPDK builds ☹ in all cases. > > >> >>/Bruce >> > > > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-27 16:29 ` Wiles, Keith @ 2016-06-27 16:40 ` Bruce Richardson 2016-06-27 16:51 ` Wiles, Keith 0 siblings, 1 reply; 13+ messages in thread From: Bruce Richardson @ 2016-06-27 16:40 UTC (permalink / raw) To: Wiles, Keith; +Cc: dev On Mon, Jun 27, 2016 at 05:29:59PM +0100, Wiles, Keith wrote: > On 6/27/16, 7:58 AM, "dev on behalf of Wiles, Keith" <dev-bounces@dpdk.org on behalf of keith.wiles@intel.com> wrote: > > > > >On 6/27/16, 3:46 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: > > > >>On Sun, Jun 26, 2016 at 10:54:12AM -0500, Keith Wiles wrote: > >>> Latest clang compiler 3.8.0 on latest update of Ubuntu > >>> creates a few more warnings on -Warray-bounds and extra > >>> () around 'if' expressions. > >>> > >>> Signed-off-by: Keith Wiles <keith.wiles@intel.com> > >>> --- > >>> app/test-pmd/Makefile | 3 +++ > >>> app/test/Makefile | 3 +++ > >>> drivers/net/bonding/Makefile | 4 ++++ > >>> drivers/net/fm10k/Makefile | 2 ++ > >>> drivers/net/i40e/Makefile | 2 ++ > >>> lib/librte_cmdline/Makefile | 6 ++++++ > >>> lib/librte_eal/linuxapp/eal/Makefile | 8 ++++++++ > >>> 7 files changed, 28 insertions(+) > >>> > >>All the fixes in this patch seem to be just disabling the compiler warnings, which > >>should really be the last resort in cases like this. Can some of the issues be > >>fixed by actually fixing the issues in the code? > > > >I did look at the code to fix the problem, because I could not see one: > > > >/work/home/rkwiles/projects/intel/dpdk/app/test-pmd/cmdline.c:3357:2140: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds] > > if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (res->proto) && __builtin_constant_p ("ip") && (__s1_len = __builtin_strlen (res->proto), __s2_len = __builtin_strlen ("ip"), (!((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) || __s2_len >= 4)) ? __builtin_strcmp (res->proto, "ip") : (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) && (__s1_len = __builtin_strlen (res->proto), __s1_len < 4) ? (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) ? __builtin_strcmp (res->proto, "ip") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("ip"); int __result = (((const unsigned char *) (const char *) (res->proto))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (res->proto))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) && (__s2_len = __builtin_strlen ("ip"), __s2_len < 4) ? (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) ? __builtin_strcmp (res->proto, "ip") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (res->proto); int __result = (((const unsigned char *) (const char *) ("ip"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("ip"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (res->proto, "ip")))); })) { > > > >Here is the line of code for that one: > > if (!strcmp(res->proto, "ip")) { > > > >The –Wno-parenthese-equality problem gives the output here: > > > >/work/home/rkwiles/projects/intel/dpdk/lib/librte_cmdline/cmdline_cirbuf.c:288:19: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] > > if (((cbuf)->len == 0)) { > > > >The line is: > > > > if (CIRBUF_IS_EMPTY(cbuf)) { > > > >This one is in cmdline_cirbuf.h, which can be changed, but I do not think we need to remove the parenthese. > > > >I will look at some of other solution, so I rejected the patch. > > I found the problem to the compile errors I am seeing with building with clang and shared libraries. > > The x86_64-linux-gnu/bits/string2.h header file if getting included from string.h, but this would be mean __GNUC__ is defined and this is the clang compiler. After much investigation it turns out ‘ccache’ is the problem here. If ccache is enabled with clang builds the __GNUC__ is defined some how, I never did find the location. > > Just a warning it appears ‘ccache’ for caching object files is not compatible with DPDK builds ☹ in all cases. > Actually, I believe it's a more general ccache and clang problem, not DPDK specific. See e.g. http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html where the recommendation is to set "export CCACHE_CPP2=yes" in your environment. This cleared quite a number of issues for me (and others) when compiling with clang. [Credit too to Ferruh who first pointed this issue out to me] /Bruce ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-27 16:40 ` Bruce Richardson @ 2016-06-27 16:51 ` Wiles, Keith 2016-06-27 17:13 ` Thomas Monjalon 0 siblings, 1 reply; 13+ messages in thread From: Wiles, Keith @ 2016-06-27 16:51 UTC (permalink / raw) To: Richardson, Bruce; +Cc: dev On 6/27/16, 11:40 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: >On Mon, Jun 27, 2016 at 05:29:59PM +0100, Wiles, Keith wrote: >> On 6/27/16, 7:58 AM, "dev on behalf of Wiles, Keith" <dev-bounces@dpdk.org on behalf of keith.wiles@intel.com> wrote: >> >> > >> >On 6/27/16, 3:46 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: >> > >> >>On Sun, Jun 26, 2016 at 10:54:12AM -0500, Keith Wiles wrote: >> >>> Latest clang compiler 3.8.0 on latest update of Ubuntu >> >>> creates a few more warnings on -Warray-bounds and extra >> >>> () around 'if' expressions. >> >>> >> >>> Signed-off-by: Keith Wiles <keith.wiles@intel.com> >> >>> --- >> >>> app/test-pmd/Makefile | 3 +++ >> >>> app/test/Makefile | 3 +++ >> >>> drivers/net/bonding/Makefile | 4 ++++ >> >>> drivers/net/fm10k/Makefile | 2 ++ >> >>> drivers/net/i40e/Makefile | 2 ++ >> >>> lib/librte_cmdline/Makefile | 6 ++++++ >> >>> lib/librte_eal/linuxapp/eal/Makefile | 8 ++++++++ >> >>> 7 files changed, 28 insertions(+) >> >>> >> >>All the fixes in this patch seem to be just disabling the compiler warnings, which >> >>should really be the last resort in cases like this. Can some of the issues be >> >>fixed by actually fixing the issues in the code? >> > >> >I did look at the code to fix the problem, because I could not see one: >> > >> >/work/home/rkwiles/projects/intel/dpdk/app/test-pmd/cmdline.c:3357:2140: error: array index 3 is past the end of the array (which contains 3 elements) [-Werror,-Warray-bounds] >> > if (!__extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (res->proto) && __builtin_constant_p ("ip") && (__s1_len = __builtin_strlen (res->proto), __s2_len = __builtin_strlen ("ip"), (!((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) || __s1_len >= 4) && (!((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) || __s2_len >= 4)) ? __builtin_strcmp (res->proto, "ip") : (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) && (__s1_len = __builtin_strlen (res->proto), __s1_len < 4) ? (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) ? __builtin_strcmp (res->proto, "ip") : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) ("ip"); int __result = (((const unsigned char *) (const char *) (res->proto))[0] - __s2[0]); if (__s1_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[1] - __s2[1]); if (__s1_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) (res->proto))[2] - __s2[2]); if (__s1_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) (res->proto))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p ("ip") && ((size_t)(const void *)(("ip") + 1) - (size_t)(const void *)("ip") == 1) && (__s2_len = __builtin_strlen ("ip"), __s2_len < 4) ? (__builtin_constant_p (res->proto) && ((size_t)(const void *)((res->proto) + 1) - (size_t)(const void *)(res->proto) == 1) ? __builtin_strcmp (res->proto, "ip") : (- (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (res->proto); int __result = (((const unsigned char *) (const char *) ("ip"))[0] - __s2[0]); if (__s2_len > 0 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[1] - __s2[1]); if (__s2_len > 1 && __result == 0) { __result = (((const unsigned char *) (const char *) ("ip"))[2] - __s2[2]); if (__s2_len > 2 && __result == 0) __result = (((const unsigned char *) (const char *) ("ip"))[3] - __s2[3]); } } __result; })))) : __builtin_strcmp (res->proto, "ip")))); })) { >> > >> >Here is the line of code for that one: >> > if (!strcmp(res->proto, "ip")) { >> > >> >The –Wno-parenthese-equality problem gives the output here: >> > >> >/work/home/rkwiles/projects/intel/dpdk/lib/librte_cmdline/cmdline_cirbuf.c:288:19: error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] >> > if (((cbuf)->len == 0)) { >> > >> >The line is: >> > >> > if (CIRBUF_IS_EMPTY(cbuf)) { >> > >> >This one is in cmdline_cirbuf.h, which can be changed, but I do not think we need to remove the parenthese. >> > >> >I will look at some of other solution, so I rejected the patch. >> >> I found the problem to the compile errors I am seeing with building with clang and shared libraries. >> >> The x86_64-linux-gnu/bits/string2.h header file if getting included from string.h, but this would be mean __GNUC__ is defined and this is the clang compiler. After much investigation it turns out ‘ccache’ is the problem here. If ccache is enabled with clang builds the __GNUC__ is defined some how, I never did find the location. >> >> Just a warning it appears ‘ccache’ for caching object files is not compatible with DPDK builds ☹ in all cases. >> >Actually, I believe it's a more general ccache and clang problem, not DPDK specific. > >See e.g. http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html > >where the recommendation is to set "export CCACHE_CPP2=yes" in your environment. >This cleared quite a number of issues for me (and others) when compiling with >clang. Adding the CCACHE_CPP2=yes Cleaned up all of the compiler errors I was seeing ☺ Do we need to document this in DPDK and if so where in the docs would someone suggest it be placed? > >[Credit too to Ferruh who first pointed this issue out to me] > >/Bruce > ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-27 16:51 ` Wiles, Keith @ 2016-06-27 17:13 ` Thomas Monjalon 0 siblings, 0 replies; 13+ messages in thread From: Thomas Monjalon @ 2016-06-27 17:13 UTC (permalink / raw) To: Wiles, Keith; +Cc: dev, Richardson, Bruce 2016-06-27 16:51, Wiles, Keith: > On 6/27/16, 11:40 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: > >On Mon, Jun 27, 2016 at 05:29:59PM +0100, Wiles, Keith wrote: > >> On 6/27/16, 7:58 AM, on behalf of keith.wiles@intel.com> wrote: > >> >On 6/27/16, 3:46 AM, "Richardson, Bruce" <bruce.richardson@intel.com> wrote: > >> >>On Sun, Jun 26, 2016 at 10:54:12AM -0500, Keith Wiles wrote: > >> I found the problem to the compile errors I am seeing with building with clang and shared libraries. > >> > >> The x86_64-linux-gnu/bits/string2.h header file if getting included from string.h, but this would be mean __GNUC__ is defined and this is the clang compiler. After much investigation it turns out ‘ccache’ is the problem here. If ccache is enabled with clang builds the __GNUC__ is defined some how, I never did find the location. > >> > >> Just a warning it appears ‘ccache’ for caching object files is not compatible with DPDK builds ☹ in all cases. > >> > >Actually, I believe it's a more general ccache and clang problem, not DPDK specific. > > > >See e.g. http://petereisentraut.blogspot.com/2011/09/ccache-and-clang-part-2.html > > > >where the recommendation is to set "export CCACHE_CPP2=yes" in your environment. > >This cleared quite a number of issues for me (and others) when compiling with > >clang. > > Adding the CCACHE_CPP2=yes > > Cleaned up all of the compiler errors I was seeing ☺ > > Do we need to document this in DPDK and if so where in the docs would someone suggest it be placed? I do not use ccache with clang because it is not known to work. But if you are sure it can work with few configuration, I would be glad to have a complete description. However it is not related to DPDK at all. That's why a nice email well written and explained on this ml looks enough to be found via Google. Thanks ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler Keith Wiles 2016-06-27 8:46 ` Bruce Richardson @ 2016-06-27 8:48 ` Thomas Monjalon 1 sibling, 0 replies; 13+ messages in thread From: Thomas Monjalon @ 2016-06-27 8:48 UTC (permalink / raw) To: Keith Wiles; +Cc: dev 2016-06-26 10:54, Keith Wiles: > Latest clang compiler 3.8.0 on latest update of Ubuntu > creates a few more warnings on -Warray-bounds and extra > () around 'if' expressions. The goal of compiler checks is to fix the code. Why disabling these checks instead of fixing the code? If they are false positive, they need to be justified and limited to some compiler versions. ^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds 2016-06-26 15:32 [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds Keith Wiles 2016-06-26 15:32 ` [dpdk-dev] [PATCH 2/2] fix building with clang-3.8.0 compiler Keith Wiles @ 2016-06-26 15:49 ` Wiles, Keith 1 sibling, 0 replies; 13+ messages in thread From: Wiles, Keith @ 2016-06-26 15:49 UTC (permalink / raw) To: dev On 6/26/16, 10:32 AM, "dev on behalf of Keith Wiles" <dev-bounces@dpdk.org on behalf of keith.wiles@intel.com> wrote: >Signed-off-by: Keith Wiles <keith.wiles@intel.com> >--- > drivers/net/e1000/Makefile | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > >diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile >index 5b801f5..1305163 100644 >--- a/drivers/net/e1000/Makefile >+++ b/drivers/net/e1000/Makefile >@@ -48,7 +48,7 @@ ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y) > # CFLAGS for icc > # > CFLAGS_BASE_DRIVER = -wd177 -wd181 -wd188 -wd869 -wd2259 >-else >+else ifeq ($(CONFIG_RTE_TOOLCHAIN_GCC),y) > # > # CFLAGS for gcc > # >@@ -57,6 +57,9 @@ CFLAGS_BASE_DRIVER += -Wno-unused-variable > ifeq ($(shell test $(GCC_VERSION) -ge 60 && echo 1), 1) > CFLAGS_BASE_DRIVER += -Wno-misleading-indentation > endif >+else >+CFLAGS_BASE_DRIVER = -Wno-uninitialized -Wno-unused-parameter >+CFLAGS_BASE_DRIVER += -Wno-unused-variable > endif self-nak found another clang compiler problem. > > # >-- >2.8.0.GIT > > ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-06-27 17:13 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2016-06-26 15:32 [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds Keith Wiles 2016-06-26 15:32 ` [dpdk-dev] [PATCH 2/2] fix building with clang-3.8.0 compiler Keith Wiles 2016-06-26 15:50 ` Wiles, Keith 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 1/2] e1000:fix gcc test for clang builds Keith Wiles 2016-06-26 15:54 ` [dpdk-dev] [PATCH v2 2/2] fix building with clang-3.8.0 compiler Keith Wiles 2016-06-27 8:46 ` Bruce Richardson 2016-06-27 12:58 ` Wiles, Keith 2016-06-27 16:29 ` Wiles, Keith 2016-06-27 16:40 ` Bruce Richardson 2016-06-27 16:51 ` Wiles, Keith 2016-06-27 17:13 ` Thomas Monjalon 2016-06-27 8:48 ` Thomas Monjalon 2016-06-26 15:49 ` [dpdk-dev] [PATCH 1/2] e1000:fix gcc test for clang builds Wiles, Keith
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).