mesa: Use typecast in BITFIELD64_BIT macro.
authorJosé Fonseca <jfonseca@vmware.com>
Wed, 16 Mar 2011 09:15:30 +0000 (09:15 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Wed, 16 Mar 2011 09:15:30 +0000 (09:15 +0000)
Unsigned long is 32bit on several platforms (e.g., Windows), yielding
1UL << 32 to be zero.

Note that BITFIELD64_BIT result is often assigned to variables of type
GLbitfield, instead of GLbitfield64. That's probably wrong and should be
addressed in a later change.

src/mesa/main/mtypes.h

index 95a7988d7e450240c0a8ce5d3d2cab97ca4d8aae..831774fa4b1d5b2087c446631e5012f65f52bbc8 100644 (file)
 typedef GLuint64 GLbitfield64;
 
 /** Set a single bit */
-#ifdef __cplusplus
-#define BITFIELD64_BIT(b)      (1UL << (b))
-#else
-#define BITFIELD64_BIT(b)      (1ULL << (b))
-#endif
+#define BITFIELD64_BIT(b)      ((GLbitfield64)1 << (b))
 
 
 /**