numam-dpdk/drivers/net/mlx4
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
..
Makefile net/mlx: update C compliance standard 2017-07-06 15:00:57 +02:00
mlx4_flow.c net/mlx4: use a single drop queue for all drop flows 2017-04-04 19:03:03 +02:00
mlx4_flow.h net/mlx4: use a single drop queue for all drop flows 2017-04-04 19:03:03 +02:00
mlx4.c net/mlx4: fix assertion failure on link update 2017-07-06 15:00:56 +02:00
mlx4.h net/mlx4: fix Rx interrupts with multiple ports 2017-07-06 15:00:56 +02:00
rte_pmd_mlx4_version.map mlx4: move to drivers/net/ 2015-05-22 16:06:22 +02:00