[dpdk-dev] mbuf: fix incompatibility with C++ in header file

Message ID 1439541195-26630-1-git-send-email-avi@cloudius-systems.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Avi Kivity Aug. 14, 2015, 8:33 a.m. UTC
  C++ doesn't allow implied casting from void * to another pointer, so
supply an explicit cast.

Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
---
 lib/librte_mbuf/rte_mbuf.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Sergey Balabanov Aug. 14, 2015, 8:59 a.m. UTC | #1
The patch duplicates http://dpdk.org/dev/patchwork/patch/6750/

On Friday 14 August 2015 11:33:15 Avi Kivity wrote:
> C++ doesn't allow implied casting from void * to another pointer, so
> supply an explicit cast.
> 
> Signed-off-by: Avi Kivity <avi@cloudius-systems.com>
> ---
>  lib/librte_mbuf/rte_mbuf.h | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
> index c3b8c98..8c2db1b 100644
> --- a/lib/librte_mbuf/rte_mbuf.h
> +++ b/lib/librte_mbuf/rte_mbuf.h
> @@ -882,7 +882,7 @@ static inline uint16_t rte_pktmbuf_priv_size(struct
> rte_mempool *mp); static inline struct rte_mbuf *
>  rte_mbuf_from_indirect(struct rte_mbuf *mi)
>  {
> -	return RTE_PTR_SUB(mi->buf_addr, sizeof(*mi) + mi->priv_size);
> +	return (struct rte_mbuf *)RTE_PTR_SUB(mi->buf_addr, sizeof(*mi) +
> mi->priv_size); }
> 
>  /**
  

Patch

diff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h
index c3b8c98..8c2db1b 100644
--- a/lib/librte_mbuf/rte_mbuf.h
+++ b/lib/librte_mbuf/rte_mbuf.h
@@ -882,7 +882,7 @@  static inline uint16_t rte_pktmbuf_priv_size(struct rte_mempool *mp);
 static inline struct rte_mbuf *
 rte_mbuf_from_indirect(struct rte_mbuf *mi)
 {
-	return RTE_PTR_SUB(mi->buf_addr, sizeof(*mi) + mi->priv_size);
+	return (struct rte_mbuf *)RTE_PTR_SUB(mi->buf_addr, sizeof(*mi) + mi->priv_size);
 }
 
 /**