[dpdk-dev] Clang compile error with RTE_LIBRTE_MEMPOOL_DEBUG enabled.

Message ID 1411795835-87197-1-git-send-email-keith.wiles@windriver.com (mailing list archive)
State Not Applicable, archived
Headers

Commit Message

Wiles, Roger Keith Sept. 27, 2014, 5:30 a.m. UTC
  When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang
compiler an error occurs, because ifdefed code now includes GCC pragmas.

Signed-off-by: Keith Wiles <keith.wiles@windriver.com>
---
 lib/librte_mempool/rte_mempool.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
  

Comments

Neil Horman Sept. 27, 2014, 12:56 p.m. UTC | #1
On Sat, Sep 27, 2014 at 12:30:35AM -0500, Keith Wiles wrote:
> When enabling RTE_LIBRTE_MEMPOOL_DEBUG and compiling with clang
> compiler an error occurs, because ifdefed code now includes GCC pragmas.
> 
> Signed-off-by: Keith Wiles <keith.wiles@windriver.com>
> ---
>  lib/librte_mempool/rte_mempool.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
> index 95f19f9..299d4d7 100644
> --- a/lib/librte_mempool/rte_mempool.h
> +++ b/lib/librte_mempool/rte_mempool.h
> @@ -312,7 +312,7 @@ static inline void __mempool_write_trailer_cookie(void *obj)
>   *   - 2: just check that cookie is valid (free or allocated)
>   */
>  #ifdef RTE_LIBRTE_MEMPOOL_DEBUG
> -#ifndef __INTEL_COMPILER
> +#ifdef __GCC__
>  #pragma GCC push_options
>  #pragma GCC diagnostic ignored "-Wcast-qual"
>  #endif
> @@ -379,7 +379,7 @@ static inline void __mempool_check_cookies(const struct rte_mempool *mp,
>  		}
>  	}
>  }
> -#ifndef __INTEL_COMPILER
> +#ifdef __GCC__
>  #pragma GCC pop_options
>  #endif
>  #else
> -- 
> 2.1.0
> 
> 
Acked-by: Neil Horman <nhorman@tuxdriver.com>
  

Patch

diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 95f19f9..299d4d7 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -312,7 +312,7 @@  static inline void __mempool_write_trailer_cookie(void *obj)
  *   - 2: just check that cookie is valid (free or allocated)
  */
 #ifdef RTE_LIBRTE_MEMPOOL_DEBUG
-#ifndef __INTEL_COMPILER
+#ifdef __GCC__
 #pragma GCC push_options
 #pragma GCC diagnostic ignored "-Wcast-qual"
 #endif
@@ -379,7 +379,7 @@  static inline void __mempool_check_cookies(const struct rte_mempool *mp,
 		}
 	}
 }
-#ifndef __INTEL_COMPILER
+#ifdef __GCC__
 #pragma GCC pop_options
 #endif
 #else