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

2014-09-28 Thread Wiles, Roger Keith
Self nack this one :-(. It looks like the code should be something like this 
instead:

#if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4))
#pragma GCC push_options
#pragma GCC diagnostic ignored "-Wcast-qual"
#endif

GCC 4.4 is when push_options and pop_options showed up in GCC. I will post a 
new patch, but I wanted to ask if this was the best solution for these ifdefs? 
If someone sees a better solution please let me know.

Thanks
++Keith

On Sep 27, 2014, at 12:53 AM, Wiles, Roger Keith  
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 
> ---
> 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
> 

Keith Wiles, Principal Technologist with CTO office, Wind River mobile 
972-213-5533



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

2014-09-27 Thread Neil Horman
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 
> ---
>  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 



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

2014-09-27 Thread Wiles, Roger Keith
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 
---
 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



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

2014-09-27 Thread Keith Wiles
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 
---
 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



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

2014-09-27 Thread Keith Wiles
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 
---
 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