ring: fix build with icc
authorFerruh Yigit <ferruh.yigit@intel.com>
Wed, 5 Apr 2017 15:03:12 +0000 (16:03 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 5 Apr 2017 16:20:42 +0000 (18:20 +0200)
build error:
In file included from .../lib/librte_ring/rte_ring.c(90):
.../lib/librte_ring/rte_ring.h(162):
error #1366: a reduction in alignment without the "packed" attribute
is ignored
  } __rte_cache_aligned;
      ^

Alignment attribute moved to first element of the struct

Fixes: a6619414e0a9 ("ring: make struct and macros type agnostic")

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
lib/librte_ring/rte_ring.h

index 6642e18..28b7b2a 100644 (file)
@@ -147,7 +147,7 @@ struct rte_ring {
         * compatibility requirements, it could be changed to RTE_RING_NAMESIZE
         * next time the ABI changes
         */
-       char name[RTE_MEMZONE_NAMESIZE];    /**< Name of the ring. */
+       char name[RTE_MEMZONE_NAMESIZE] __rte_cache_aligned; /**< Name of the ring. */
        int flags;               /**< Flags supplied at creation. */
        const struct rte_memzone *memzone;
                        /**< Memzone, if any, containing the rte_ring */
@@ -159,7 +159,7 @@ struct rte_ring {
 
        /** Ring consumer status. */
        struct rte_ring_headtail cons __rte_aligned(CONS_ALIGN);
-} __rte_cache_aligned;
+};
 
 #define RING_F_SP_ENQ 0x0001 /**< The default enqueue is "single-producer". */
 #define RING_F_SC_DEQ 0x0002 /**< The default dequeue is "single-consumer". */