summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormichal <michal@michal-laptop.(none)>2007-08-21 20:42:33 +0100
committermichal <michal@michal-laptop.(none)>2007-08-21 20:42:33 +0100
commit044c19e6b347d13df70dbc9980cec8a464afe214 (patch)
treed54102b3b75de97268087db005b191934bb0790a /src
parentaf3d6c83d245c3a5b2af3bddfc261c3678afb7d1 (diff)
Define __MSC__.
Make ALIGN macros more error-proof.
Diffstat (limited to 'src')
-rw-r--r--src/mesa/pipe/p_compiler.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/mesa/pipe/p_compiler.h b/src/mesa/pipe/p_compiler.h
index a4d05f74cd..3dd6bc5c5a 100644
--- a/src/mesa/pipe/p_compiler.h
+++ b/src/mesa/pipe/p_compiler.h
@@ -38,6 +38,10 @@
#define __WIN32__
#endif
+#if defined(_MSC_VER) && !defined(__MSC__)
+#define __MSC__
+#endif
+
typedef unsigned int uint;
typedef unsigned char ubyte;
@@ -55,8 +59,6 @@ typedef unsigned long long uint64;
# define INLINE __inline__
#elif defined(__MSC__)
# define INLINE __inline
-#elif defined(_MSC_VER)
-# define INLINE __inline
#elif defined(__ICL)
# define INLINE __inline
#elif defined(__INTEL_COMPILER)
@@ -69,11 +71,11 @@ typedef unsigned long long uint64;
#if defined __GNUC__
-#define ALIGN16_DECL(TYPE, NAME, SIZE) TYPE NAME[SIZE] __attribute__(( aligned( 16 ) ))
-#define ALIGN16_ASSIGN(P) P
+#define ALIGN16_DECL(TYPE, NAME, SIZE) TYPE NAME##___aligned[SIZE] __attribute__(( aligned( 16 ) ))
+#define ALIGN16_ASSIGN(NAME) NAME##___aligned
#else
-#define ALIGN16_DECL(TYPE, NAME, SIZE) TYPE NAME[SIZE + 1]
-#define ALIGN16_ASSIGN(P) align16(P)
+#define ALIGN16_DECL(TYPE, NAME, SIZE) TYPE NAME##___unaligned[SIZE + 1]
+#define ALIGN16_ASSIGN(NAME) align16(NAME##___unaligned)
#endif