[dpdk-dev] [PATCH 00/10] Fix build errors related to exported headers
Adrien Mazarguil
adrien.mazarguil at 6wind.com
Tue Apr 5 16:08:00 CEST 2016
DPDK uses GNU C language extensions in most of its code base. This is fine
for internal source files whose compilation flags are controlled by DPDK,
however user applications that use exported "public" headers may experience
compilation failures when enabling strict error/standard checks (-std and
-pedantic for instance).
Exported headers are installed system-wide and must be as clean as possible
so applications do not have to use workarounds for compilation issues.
This patchset affects exported headers only, compilation problems are
addressed as follows:
- adding the __extension__ keyword to nonstandard constructs (same method as
existing libraries when there is no other choice)
- adding the __extension__ keyword to C11 constructs to remain compatible
with pure C99
- adding missing includes so exported files can be included out of order and
on their own
- fixing GNU printf-like variadic macros as there is no magic keyword for
these
Adrien Mazarguil (10):
lib: add extension keyword to braced-groups within expressions
lib: add extension keyword to large enum values
lib: use C99 syntax for zero-size arrays
lib: add extension keyword to nonstandard bit-fields
lib: add extension keyword to structs with no members
lib: add extension keyword to unnamed structs/unions
lib: fix missing include dependencies
lib: add extension keyword to forward reference to enum types
lib: remove named variadic macros in exported headers
lib: hide static functions that are never defined
lib/librte_acl/rte_acl.h | 2 +-
lib/librte_cfgfile/rte_cfgfile.h | 2 ++
lib/librte_cmdline/cmdline.h | 1 +
lib/librte_cmdline/cmdline_parse_portlist.h | 1 +
lib/librte_cmdline/cmdline_socket.h | 3 ++
lib/librte_cryptodev/rte_crypto.h | 3 ++
lib/librte_cryptodev/rte_crypto_sym.h | 4 +++
lib/librte_cryptodev/rte_cryptodev.h | 41 ++++++++++++++--------
lib/librte_cryptodev/rte_cryptodev_pmd.h | 6 ++--
.../common/include/arch/arm/rte_byteorder.h | 3 ++
.../common/include/arch/arm/rte_memcpy_32.h | 3 +-
.../common/include/arch/arm/rte_prefetch_32.h | 2 ++
.../common/include/arch/arm/rte_prefetch_64.h | 2 ++
lib/librte_eal/common/include/arch/arm/rte_vect.h | 1 +
.../common/include/arch/ppc_64/rte_atomic.h | 2 ++
.../common/include/arch/ppc_64/rte_byteorder.h | 2 ++
.../common/include/arch/ppc_64/rte_cycles.h | 3 ++
.../common/include/arch/ppc_64/rte_memcpy.h | 3 +-
.../common/include/arch/ppc_64/rte_prefetch.h | 2 ++
.../common/include/arch/x86/rte_atomic.h | 3 ++
.../common/include/arch/x86/rte_atomic_32.h | 9 +++++
.../common/include/arch/x86/rte_atomic_64.h | 8 +++++
.../common/include/arch/x86/rte_byteorder.h | 3 ++
.../common/include/arch/x86/rte_byteorder_32.h | 7 ++++
.../common/include/arch/x86/rte_byteorder_64.h | 7 ++++
.../common/include/arch/x86/rte_cycles.h | 3 ++
.../common/include/arch/x86/rte_memcpy.h | 4 +--
.../common/include/arch/x86/rte_prefetch.h | 2 ++
lib/librte_eal/common/include/arch/x86/rte_rtm.h | 1 +
lib/librte_eal/common/include/arch/x86/rte_vect.h | 8 +++--
lib/librte_eal/common/include/generic/rte_atomic.h | 1 +
.../common/include/generic/rte_byteorder.h | 2 ++
.../common/include/generic/rte_cpuflags.h | 3 ++
lib/librte_eal/common/include/generic/rte_memcpy.h | 7 ++--
lib/librte_eal/common/include/rte_common.h | 22 ++++++++++--
lib/librte_eal/common/include/rte_devargs.h | 1 +
lib/librte_eal/common/include/rte_eal.h | 1 +
lib/librte_eal/common/include/rte_interrupts.h | 2 ++
lib/librte_eal/common/include/rte_memory.h | 4 +++
lib/librte_eal/common/include/rte_memzone.h | 2 ++
lib/librte_eal/common/include/rte_time.h | 8 +++++
lib/librte_eal/common/include/rte_version.h | 1 +
.../linuxapp/eal/include/exec-env/rte_interrupts.h | 1 +
.../linuxapp/eal/include/exec-env/rte_kni_common.h | 2 +-
lib/librte_ether/rte_dev_info.h | 2 ++
lib/librte_ether/rte_eth_ctrl.h | 4 +++
lib/librte_ether/rte_ethdev.h | 4 +++
lib/librte_hash/rte_fbk_hash.h | 2 +-
lib/librte_hash/rte_thash.h | 4 +++
lib/librte_ip_frag/rte_ip_frag.h | 2 +-
lib/librte_lpm/rte_lpm.h | 7 +++-
lib/librte_lpm/rte_lpm6.h | 2 ++
lib/librte_lpm/rte_lpm_neon.h | 1 +
lib/librte_lpm/rte_lpm_sse.h | 1 +
lib/librte_mbuf/rte_mbuf.h | 9 +++++
lib/librte_mempool/rte_mempool.h | 1 +
lib/librte_pipeline/rte_pipeline.h | 5 ++-
lib/librte_reorder/rte_reorder.h | 2 ++
lib/librte_ring/rte_ring.h | 2 +-
lib/librte_sched/rte_bitmap.h | 3 +-
lib/librte_sched/rte_reciprocal.h | 2 ++
lib/librte_sched/rte_sched_common.h | 2 ++
lib/librte_timer/rte_timer.h | 2 ++
lib/librte_vhost/rte_virtio_net.h | 2 +-
64 files changed, 221 insertions(+), 36 deletions(-)
--
2.1.4
More information about the dev
mailing list