Define __MSC__.
authormichal <michal@michal-laptop.(none)>
Tue, 21 Aug 2007 19:42:33 +0000 (20:42 +0100)
committermichal <michal@michal-laptop.(none)>
Tue, 21 Aug 2007 19:42:33 +0000 (20:42 +0100)
Make ALIGN macros more error-proof.

src/mesa/pipe/p_compiler.h

index a4d05f7..3dd6bc5 100644 (file)
 #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