Go to file
Adrien Mazarguil 3aec2d14d6 net/mlx: update C compliance standard
This commit addresses a compilation issue against Glibc >= 2.25, which
implements assert() through a nonstandard ({ }) construct. Such constructs
can normally not be used without __extension__ keyword when -pedantic is
enabled, as is the case when compiling mlx4 and mlx5 PMDs in debug mode.

While assert.h checks for the compiler ability to support GNU extensions,
Clang, unlike GCC, does not allow the above syntax when combining
-std=gnu99 with -pedantic.

Work around missing keyword by moving these PMDs to a stricter compliance
standard without GNU extensions but properly checked by Glibc. Doing so is
supported on the DPDK side since includes have been cleaned up.

Even in C11, using types other than _Bool or signed/unsigned int for
bit-fields is an extension. Some GCC versions complain about that when
-pedantic checks are enabled.

The RTE_STD_C11 macro correctly prevented this issue with C99 but not with
C11 as it becomes a no-op. Forcing the extension keyword addresses it.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Tested-by: Yongseok Koh <yskoh@mellanox.com>
2017-07-06 15:00:57 +02:00
app app/testpmd: enable DDP remove profile feature 2017-07-06 15:00:57 +02:00
buildtools mk: optimize directory dependencies 2017-03-27 23:28:43 +02:00
config config: support clang for ARMv8 Linux 2017-07-03 22:28:19 +02:00
devtools mem: balanced allocation of hugepages 2017-06-30 17:54:32 +02:00
doc net/cxgbe: fix supported speed capabilities 2017-07-06 15:00:57 +02:00
drivers net/mlx: update C compliance standard 2017-07-06 15:00:57 +02:00
examples examples/l3fwd: add loop count for hash multi-lookup 2017-07-04 17:41:53 +02:00
lib pci: increase domain storage to 32 bits 2017-07-06 01:28:02 +02:00
mk mk: add crypto capability for armv8a and thunderx 2017-07-04 15:56:58 +02:00
pkg version: 17.05.0 2017-05-11 03:11:34 +02:00
test net: implement CRC for ARM64 NEON 2017-07-04 15:58:45 +02:00
usertools usertools: add option to unbind all devices 2017-07-06 00:53:15 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore devtools: add tags and cscope index generation 2017-04-30 12:57:04 +02:00
GNUmakefile mk: do not build tests by default 2017-02-28 16:04:18 +01:00
LICENSE.GPL
LICENSE.LGPL
MAINTAINERS net: implement CRC for ARM64 NEON 2017-07-04 15:58:45 +02:00
Makefile
README doc: add readme file 2015-12-13 22:06:58 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD license for the core libraries and
drivers. The kernel components are GPLv2 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org