Mesa (master): util: Don't include system headers inside extern "C" { ... }
Jose Fonseca
jrfonseca at kemper.freedesktop.org
Wed Feb 3 22:16:50 UTC 2010
Module: Mesa
Branch: master
Commit: e0da333d6b5027609579110b3df8d5ad2127307a
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e0da333d6b5027609579110b3df8d5ad2127307a
Author: José Fonseca <jfonseca at vmware.com>
Date: Wed Feb 3 22:15:53 2010 +0000
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 1c042c3..e30280a 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 799e8f1..64390e1 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;
More information about the mesa-commit
mailing list