From e0da333d6b5027609579110b3df8d5ad2127307a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jos=C3=A9=20Fonseca?= Date: Wed, 3 Feb 2010 22:15:53 +0000 Subject: [PATCH] util: Don't include system headers inside extern "C" { ... } That breaks when some of the system headers have C++ code. --- src/gallium/auxiliary/util/u_atomic.h | 46 ++++++++++++++++++++------- src/gallium/auxiliary/util/u_prim.h | 6 ++-- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/gallium/auxiliary/util/u_atomic.h b/src/gallium/auxiliary/util/u_atomic.h index 1c042c3ede9..e30280a1e10 100644 --- a/src/gallium/auxiliary/util/u_atomic.h +++ b/src/gallium/auxiliary/util/u_atomic.h @@ -12,11 +12,6 @@ #include "pipe/p_compiler.h" #include "pipe/p_defines.h" -#ifdef __cplusplus -extern "C" { -#endif - - /* Favor OS-provided implementations. * * Where no OS-provided implementation is available, fall back to @@ -44,10 +39,13 @@ extern "C" { #define PIPE_ATOMIC "GCC x86 assembly" +#ifdef __cplusplus +extern "C" { +#endif + #define p_atomic_set(_v, _i) (*(_v) = (_i)) #define p_atomic_read(_v) (*(_v)) - static INLINE boolean p_atomic_dec_zero(int32_t *v) { @@ -76,6 +74,11 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) { return __sync_val_compare_and_swap(v, old, _new); } + +#ifdef __cplusplus +} +#endif + #endif @@ -86,10 +89,13 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) #define PIPE_ATOMIC "GCC Sync Intrinsics" +#ifdef __cplusplus +extern "C" { +#endif + #define p_atomic_set(_v, _i) (*(_v) = (_i)) #define p_atomic_read(_v) (*(_v)) - static INLINE boolean p_atomic_dec_zero(int32_t *v) { @@ -113,6 +119,11 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) { return __sync_val_compare_and_swap(v, old, _new); } + +#ifdef __cplusplus +} +#endif + #endif @@ -140,6 +151,10 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) #define PIPE_ATOMIC "MSVC x86 assembly" +#ifdef __cplusplus +extern "C" { +#endif + #define p_atomic_set(_v, _i) (*(_v) = (_i)) #define p_atomic_read(_v) (*(_v)) @@ -190,6 +205,11 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) return orig; } + +#ifdef __cplusplus +} +#endif + #endif @@ -203,6 +223,10 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) #pragma intrinsic(_InterlockedDecrement) #pragma intrinsic(_InterlockedCompareExchange) +#ifdef __cplusplus +extern "C" { +#endif + #define p_atomic_set(_v, _i) (*(_v) = (_i)) #define p_atomic_read(_v) (*(_v)) @@ -230,6 +254,10 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) return _InterlockedCompareExchange(v, _new, old); } +#ifdef __cplusplus +} +#endif + #endif @@ -240,8 +268,4 @@ p_atomic_cmpxchg(int32_t *v, int32_t old, int32_t _new) -#ifdef __cplusplus -} -#endif - #endif /* U_ATOMIC_H */ diff --git a/src/gallium/auxiliary/util/u_prim.h b/src/gallium/auxiliary/util/u_prim.h index 799e8f168f1..64390e13851 100644 --- a/src/gallium/auxiliary/util/u_prim.h +++ b/src/gallium/auxiliary/util/u_prim.h @@ -30,13 +30,13 @@ #define U_BLIT_H +#include "pipe/p_defines.h" +#include "util/u_debug.h" + #ifdef __cplusplus extern "C" { #endif -#include "pipe/p_defines.h" -#include "util/u_debug.h" - static INLINE boolean u_validate_pipe_prim( unsigned pipe_prim, unsigned nr ) { boolean ok = TRUE; -- 2.30.2