Port Mesa to build on a P64 platform (e.g., Win64). P64 platforms
use 64-bit pointers and 32-bit longs. So, operations like casting pointers
to unsigned long and back to pointer won't work. glheader.h now
includes files to define uintptr_t, which should instead be used for
this sort of operation. It is an integer type that is the same size
as a pointer.
diff --git a/src/mesa/shader/arbprogparse.c b/src/mesa/shader/arbprogparse.c
index d46e5a3..ffb451d 100644
--- a/src/mesa/shader/arbprogparse.c
+++ b/src/mesa/shader/arbprogparse.c
@@ -3884,7 +3884,7 @@
{
const GLubyte *extensions = GL_CALL(GetString)(GL_EXTENSIONS);
const GLubyte *end = extensions + _mesa_strlen ((const char *) extensions);
- const GLint ext_len = _mesa_strlen ((const char *) ext);
+ const GLint ext_len = (GLint)_mesa_strlen ((const char *) ext);
while (extensions < end)
{
diff --git a/src/mesa/shader/arbprogram.c b/src/mesa/shader/arbprogram.c
index ad8683f..43baab4 100644
--- a/src/mesa/shader/arbprogram.c
+++ b/src/mesa/shader/arbprogram.c
@@ -509,7 +509,7 @@
switch (pname) {
case GL_PROGRAM_LENGTH_ARB:
- *params = prog->String ? _mesa_strlen((char *) prog->String) : 0;
+ *params = prog->String ? (GLint)_mesa_strlen((char *) prog->String) : 0;
break;
case GL_PROGRAM_FORMAT_ARB:
*params = prog->Format;
diff --git a/src/mesa/shader/grammar.h b/src/mesa/shader/grammar.h
index 622cdb2..3b537f6 100644
--- a/src/mesa/shader/grammar.h
+++ b/src/mesa/shader/grammar.h
@@ -36,13 +36,13 @@
#endif
void grammar_alloc_free (void *);
-void *grammar_alloc_malloc (unsigned int);
-void *grammar_alloc_realloc (void *, unsigned int, unsigned int);
+void *grammar_alloc_malloc (size_t);
+void *grammar_alloc_realloc (void *, size_t, size_t);
void *grammar_memory_copy (void *, const void *, unsigned int);
int grammar_string_compare (const byte *, const byte *);
-int grammar_string_compare_n (const byte *, const byte *, unsigned int);
+int grammar_string_compare_n (const byte *, const byte *, size_t);
byte *grammar_string_copy (byte *, const byte *);
-byte *grammar_string_copy_n (byte *, const byte *, unsigned int);
+byte *grammar_string_copy_n (byte *, const byte *, size_t);
byte *grammar_string_duplicate (const byte *);
unsigned int grammar_string_length (const byte *);
diff --git a/src/mesa/shader/grammar_mesa.c b/src/mesa/shader/grammar_mesa.c
index 0aadac5..eb96250 100644
--- a/src/mesa/shader/grammar_mesa.c
+++ b/src/mesa/shader/grammar_mesa.c
@@ -40,17 +40,17 @@
_mesa_free (ptr);
}
-void *grammar_alloc_malloc (unsigned int size)
+void *grammar_alloc_malloc (size_t size)
{
return _mesa_malloc (size);
}
-void *grammar_alloc_realloc (void *ptr, unsigned int old_size, unsigned int size)
+void *grammar_alloc_realloc (void *ptr, size_t old_size, size_t size)
{
return _mesa_realloc (ptr, old_size, size);
}
-void *grammar_memory_copy (void *dst, const void * src, unsigned int size)
+void *grammar_memory_copy (void *dst, const void * src, size_t size)
{
return _mesa_memcpy (dst, src, size);
}
@@ -60,7 +60,7 @@
return _mesa_strcmp ((const char *) str1, (const char *) str2);
}
-int grammar_string_compare_n (const byte *str1, const byte *str2, unsigned int n)
+int grammar_string_compare_n (const byte *str1, const byte *str2, size_t n)
{
return _mesa_strncmp ((const char *) str1, (const char *) str2, n);
}
@@ -70,7 +70,7 @@
return (byte *) _mesa_strcpy ((char *) dst, (const char *) src);
}
-byte *grammar_string_copy_n (byte *dst, const byte *src, unsigned int n)
+byte *grammar_string_copy_n (byte *dst, const byte *src, size_t n)
{
return (byte *) _mesa_strncpy ((char *) dst, (const char *) src, n);
}
@@ -82,6 +82,6 @@
unsigned int grammar_string_length (const byte *str)
{
- return _mesa_strlen ((const char *) str);
+ return (unsigned int)_mesa_strlen ((const char *) str);
}
diff --git a/src/mesa/shader/nvfragparse.c b/src/mesa/shader/nvfragparse.c
index e51ba31..f7e10b8 100644
--- a/src/mesa/shader/nvfragparse.c
+++ b/src/mesa/shader/nvfragparse.c
@@ -373,7 +373,7 @@
parseState->pos += (-i);
return GL_FALSE;
}
- len = _mesa_strlen((const char *) token);
+ len = (GLint)_mesa_strlen((const char *) token);
parseState->pos += (i - len);
return GL_TRUE;
}
diff --git a/src/mesa/shader/nvprogram.c b/src/mesa/shader/nvprogram.c
index 4db78a8..4b89301 100644
--- a/src/mesa/shader/nvprogram.c
+++ b/src/mesa/shader/nvprogram.c
@@ -266,7 +266,7 @@
*params = prog->Target;
return;
case GL_PROGRAM_LENGTH_NV:
- *params = prog->String ? _mesa_strlen((char *) prog->String) : 0;
+ *params = prog->String ?(GLint)_mesa_strlen((char *) prog->String) : 0;
return;
case GL_PROGRAM_RESIDENT_NV:
*params = prog->Resident;
diff --git a/src/mesa/shader/nvvertparse.c b/src/mesa/shader/nvvertparse.c
index 23a01c7..c6fb72d 100644
--- a/src/mesa/shader/nvvertparse.c
+++ b/src/mesa/shader/nvvertparse.c
@@ -233,7 +233,7 @@
parseState->pos += (-i);
return GL_FALSE;
}
- len = _mesa_strlen((const char *) token);
+ len = (GLint)_mesa_strlen((const char *) token);
parseState->pos += (i - len);
return GL_TRUE;
}