3aec2d14d6
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> |
||
---|---|---|
app | ||
buildtools | ||
config | ||
devtools | ||
doc | ||
drivers | ||
examples | ||
lib | ||
mk | ||
pkg | ||
test | ||
usertools | ||
.gitattributes | ||
.gitignore | ||
GNUmakefile | ||
LICENSE.GPL | ||
LICENSE.LGPL | ||
MAINTAINERS | ||
Makefile | ||
README |
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