DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 00/10] Fix build errors related to exported headers
@ 2016-04-05 14:08 Adrien Mazarguil
  2016-04-05 14:08 ` [dpdk-dev] [PATCH 01/10] lib: add extension keyword to braced-groups within expressions Adrien Mazarguil
                   ` (10 more replies)
  0 siblings, 11 replies; 79+ messages in thread
From: Adrien Mazarguil @ 2016-04-05 14:08 UTC (permalink / raw)
  To: dev; +Cc: Bruce Richardson, Thomas Monjalon

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

^ permalink raw reply	[flat|nested] 79+ messages in thread

end of thread, other threads:[~2016-09-13 13:38 UTC | newest]

Thread overview: 79+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-04-05 14:08 [dpdk-dev] [PATCH 00/10] Fix build errors related to exported headers Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 01/10] lib: add extension keyword to braced-groups within expressions Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 02/10] lib: add extension keyword to large enum values Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 03/10] lib: use C99 syntax for zero-size arrays Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 04/10] lib: add extension keyword to nonstandard bit-fields Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 05/10] lib: add extension keyword to structs with no members Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 06/10] lib: add extension keyword to unnamed structs/unions Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 07/10] lib: fix missing include dependencies Adrien Mazarguil
2016-04-05 20:23   ` [dpdk-dev] [dpdk-dev, " Jan Viktorin
2016-04-06  8:54     ` Adrien Mazarguil
2016-04-06 12:10       ` Jan Viktorin
2016-04-05 14:08 ` [dpdk-dev] [PATCH 08/10] lib: add extension keyword to forward reference to enum types Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 09/10] lib: remove named variadic macros in exported headers Adrien Mazarguil
2016-04-05 14:08 ` [dpdk-dev] [PATCH 10/10] lib: hide static functions that are never defined Adrien Mazarguil
2016-07-05 10:44 ` [dpdk-dev] [PATCH v2 00/11] Fix build errors related to exported headers Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 01/11] lib: work around braced-groups within expressions Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 02/11] lib: work around large enum values Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 03/11] lib: use C99 syntax for zero-size arrays Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 04/11] lib: work around nonstandard bit-fields Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 05/11] lib: work around structs with no members Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 06/11] lib: work around unnamed structs/unions Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 07/11] lib: add missing include dependencies Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 08/11] lib: work around forward reference to enum types Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 09/11] lib: remove named variadic macros in exported headers Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 10/11] lib: hide static functions never defined Adrien Mazarguil
2016-07-05 10:44   ` [dpdk-dev] [PATCH v2 11/11] scripts: check compilation of exported header files Adrien Mazarguil
2016-07-05 11:15   ` [dpdk-dev] [PATCH v2 00/11] Fix build errors related to exported headers Jan Viktorin
2016-07-05 11:35     ` Adrien Mazarguil
2016-07-05 11:27   ` Ferruh Yigit
2016-07-05 12:33     ` Thomas Monjalon
2016-07-05 12:37     ` Adrien Mazarguil
2016-07-06 16:34   ` Thomas Monjalon
2016-07-07 15:49   ` [dpdk-dev] [PATCH v3 " Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 01/11] lib: work around braced-groups within expressions Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 02/11] lib: work around large enum values Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 03/11] lib: use C99 syntax for zero-size arrays Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 04/11] lib: work around nonstandard bit-fields Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 05/11] lib: work around structs with no members Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 06/11] lib: work around unnamed structs/unions Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 07/11] lib: add missing include dependencies Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 08/11] lib: work around forward reference to enum types Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 09/11] lib: remove named variadic macros in exported headers Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 10/11] lib: hide static functions never defined Adrien Mazarguil
2016-07-07 15:49     ` [dpdk-dev] [PATCH v3 11/11] scripts: check compilation of exported header files Adrien Mazarguil
2016-07-07 18:33     ` [dpdk-dev] [PATCH v3 00/11] Fix build errors related to exported headers Wiles, Keith
2016-07-08  8:05       ` Adrien Mazarguil
2016-07-08  9:56         ` Ferruh Yigit
2016-07-08 14:15           ` Wiles, Keith
2016-07-08 14:35             ` Adrien Mazarguil
2016-07-08 14:45               ` Ferruh Yigit
2016-07-08 15:23                 ` Adrien Mazarguil
2016-07-13 13:02     ` [dpdk-dev] [PATCH v4 00/10] " Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 01/10] lib: work around braced-groups within expressions Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 02/10] lib: work around large enum values Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 03/10] lib: use C99 syntax for zero-size arrays Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 04/10] lib: work around nonstandard bit-fields Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 05/10] lib: work around unnamed structs/unions Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 06/10] lib: add missing include dependencies Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 07/10] lib: work around forward reference to enum types Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 08/10] lib: remove named variadic macros in exported headers Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 09/10] lib: hide static functions never defined Adrien Mazarguil
2016-07-13 13:02       ` [dpdk-dev] [PATCH v4 10/10] scripts: check compilation of exported header files Adrien Mazarguil
2016-07-15 21:03       ` [dpdk-dev] [PATCH v4 00/10] Fix build errors related to exported headers Bruce Richardson
2016-07-18 10:47         ` Adrien Mazarguil
2016-07-20  9:55         ` Thomas Monjalon
2016-08-23 16:36       ` Thomas Monjalon
2016-09-08 12:39         ` Adrien Mazarguil
2016-09-08 12:25       ` [dpdk-dev] [PATCH v5 " Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 01/10] lib: work around braced-groups within expressions Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 02/10] lib: work around large enum values Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 03/10] lib: use C99 syntax for zero-size arrays Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 04/10] lib: work around nonstandard bit-fields Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 05/10] lib: work around unnamed structs/unions Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 06/10] lib: add missing include dependencies Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 07/10] lib: work around forward reference to enum types Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 08/10] lib: remove named variadic macros in exported headers Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 09/10] lib: hide static functions never defined Adrien Mazarguil
2016-09-08 12:25         ` [dpdk-dev] [PATCH v5 10/10] scripts: check compilation of exported header files Adrien Mazarguil
2016-09-13 13:38         ` [dpdk-dev] [PATCH v5 00/10] Fix build errors related to exported headers Thomas Monjalon

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).