[Bf-blender-cvs] [618df84] temp-python-bgl: Make gcc 5 more happy

Martijn Berger noreply at git.blender.org
Mon Jul 20 13:44:13 CEST 2015


Commit: 618df849d5fdfc936057adf22d18bb6fb4c32a0a
Author: Martijn Berger
Date:   Mon Jul 20 13:43:43 2015 +0200
Branches: temp-python-bgl
https://developer.blender.org/rB618df849d5fdfc936057adf22d18bb6fb4c32a0a

Make gcc 5 more happy

===================================================================

M	source/blender/python/generic/bgl.c
M	source/blender/python/generic/bgl.h

===================================================================

diff --git a/source/blender/python/generic/bgl.c b/source/blender/python/generic/bgl.c
index bfad393..b50d6b6 100644
--- a/source/blender/python/generic/bgl.c
+++ b/source/blender/python/generic/bgl.c
@@ -1014,8 +1014,8 @@ BGL_Wrap( 1, BlendEquation,             void,      (GLenum))
 // GL_VERSION_1_5
 BGL_Wrap( 2, BeginQuery,                void,      (GLenum, GLuint))
 BGL_Wrap( 2, BindBuffer,                void,      (GLenum, GLuint))
-BGL_Wrap( 4, BufferData,                void,      (GLenum, GLsizeiP, GLvoidP, GLenum))
-BGL_Wrap( 4, BufferSubData,             void,      (GLenum, GLintP, GLsizeiP, GLvoidP))
+BGL_Wrap( 4, BufferData,                void,      (GLenum, GLsizeiptr, GLvoidP, GLenum))
+BGL_Wrap( 4, BufferSubData,             void,      (GLenum, GLintptr, GLsizeiptr, GLvoidP))
 BGL_Wrap( 2, DeleteBuffers,             void,      (GLsizei, GLuintP))
 BGL_Wrap( 2, DeleteQueries,             void,      (GLsizei, GLuintP))
 BGL_Wrap( 1, EndQuery,                  void,      (GLenum))
@@ -1023,7 +1023,7 @@ BGL_Wrap( 2, GenBuffers,                void,      (GLsizei, GLuintP))
 BGL_Wrap( 2, GenQueries,                void,      (GLsizei, GLuintP))
 BGL_Wrap( 3, GetBufferParameteriv,      void,      (GLenum, GLenum, GLintP))
 BGL_Wrap( 3, GetBufferPointerv,         void,      (GLenum, GLenum, GLvoidP))
-BGL_Wrap( 4, GetBufferSubData,          void,      (GLenum, GLintP, GLsizeiP, GLvoidP))
+BGL_Wrap( 4, GetBufferSubData,          void,      (GLenum, GLintptr, GLsizeiptr, GLvoidP))
 BGL_Wrap( 3, GetQueryObjectiv,          void,      (GLuint, GLenum, GLintP))
 BGL_Wrap( 3, GetQueryObjectuiv,         void,      (GLuint, GLenum, GLuintP))
 BGL_Wrap( 3, GetQueryiv,                void,      (GLenum, GLenum, GLintP))
@@ -1146,7 +1146,7 @@ BGL_Wrap( 1, IsVertexArray,             GLboolean, (GLuint))
 
 // GL_VERSION_3_1
 BGL_Wrap( 3, BindBufferBase,            void,      (GLenum, GLuint, GLuint))
-BGL_Wrap( 5, BindBufferRange,           void,      (GLenum, GLuint, GLuint, GLintP, GLsizeiP))
+BGL_Wrap( 5, BindBufferRange,           void,      (GLenum, GLuint, GLuint, GLintptr, GLsizeiptr))
 BGL_Wrap( 5, GetActiveUniformBlockName, void,      (GLuint, GLuint, GLsizei, GLsizeiP, GLcharP))
 BGL_Wrap( 4, GetActiveUniformBlockiv,   void,      (GLuint, GLuint, GLenum, GLintP))
 BGL_Wrap( 5, GetActiveUniformName,      void,      (GLuint, GLuint, GLsizei, GLsizeiP, GLcharP))
@@ -1260,6 +1260,7 @@ void BGL_disable_deprecated(void)
 PyObject *BPyInit_bgl(void)
 {
 	PyObject *submodule, *dict;
+	PyMethodDef* dyn_methods;
 	submodule = PyModule_Create(&BGL_module_def);
 	dict = PyModule_GetDict(submodule);
 
@@ -1270,18 +1271,19 @@ PyObject *BPyInit_bgl(void)
 	Py_INCREF((PyObject *)&BGL_bufferType);
 
 #define BGL_NUM_DYNAMIC_METHODS 556
-	PyMethodDef* dyn_methods = MEM_mallocN(sizeof(PyMethodDef) * (BGL_NUM_DYNAMIC_METHODS + 1), "BGL methods");
-
+	dyn_methods = MEM_mallocN(sizeof(PyMethodDef) * (BGL_NUM_DYNAMIC_METHODS + 1), "BGL methods");
 
 	int dyn_meth_offset = 0;
 
+#pragma GCC diagnostic ignored "-Waddress"
 #define MethodAdd(func) { \
 	if ( gl##func != NULL) {\
+		PyObject* m; \
 		dyn_methods[dyn_meth_offset].ml_name = "gl"#func; \
 		dyn_methods[dyn_meth_offset].ml_meth = Method_##func; \
 		dyn_methods[dyn_meth_offset].ml_flags = METH_VARARGS; \
 		dyn_methods[dyn_meth_offset].ml_doc = "no string"; \
-		PyObject* m = PyCFunction_NewEx(&(dyn_methods[dyn_meth_offset]), (PyObject*)NULL, submodule); \
+		m = PyCFunction_NewEx(&(dyn_methods[dyn_meth_offset]), (PyObject*)NULL, submodule); \
 		PyDict_SetItemString(dict, dyn_methods[dyn_meth_offset].ml_name , m); \
 		Py_DECREF(m); \
 		dyn_meth_offset++; \
diff --git a/source/blender/python/generic/bgl.h b/source/blender/python/generic/bgl.h
index 82b44d2..b25a956 100644
--- a/source/blender/python/generic/bgl.h
+++ b/source/blender/python/generic/bgl.h
@@ -45,7 +45,6 @@ struct _Buffer *BGL_MakeBuffer(int type, int ndimensions, int *dimensions, void
 int BGL_typeSize(int type);
 
 void BGL_free(void*);
-void BGL_disable_deprecated(void);
 
 /*@ Buffer Object */
 /*@ For Python access to OpenGL functions requiring a pointer. */
@@ -73,17 +72,6 @@ extern PyTypeObject BGL_bufferType;
 
 /*@ By golly George! It looks like fancy pants macro time!!! */
 
-#if 0 /* unused so far */
-#define int_str       "i"
-#define int_var(number)   bgl_int##number
-#define int_ref(number)   &bgl_int##number
-#define int_def(number)   int int_var(number)
-
-#define float_str     "f"
-#define float_var(number) bgl_float##number
-#define float_ref(number) &bgl_float##number
-#define float_def(number) float float_var(number)
-#endif
 
 /* TYPE_str is the string to pass to Py_ArgParse (for the format) */
 /* TYPE_var is the name to pass to the GL function */
@@ -233,10 +221,22 @@ extern PyTypeObject BGL_bufferType;
 #define GLint_def(num)      int GLint_var(num)
 
 /* typedef int GLsizei; */
-#define GLsizei_str       "i"
+#define GLsizei_str       "N"
 #define GLsizei_var(num)    bgl_var##num
 #define GLsizei_ref(num)    &bgl_var##num
-#define GLsizei_def(num)    int GLsizei_var(num)
+#define GLsizei_def(num)    size_t GLsizei_var(num)
+
+/* typedef int GLsizeiptr; */
+#define GLsizeiptr_str       "N"
+#define GLsizeiptr_var(num)    bgl_var##num
+#define GLsizeiptr_ref(num)    &bgl_var##num
+#define GLsizeiptr_def(num)    size_t GLsizeiptr_var(num)
+
+/* typedef int GLintptr; */
+#define GLintptr_str       "N"
+#define GLintptr_var(num)    bgl_var##num
+#define GLintptr_ref(num)    &bgl_var##num
+#define GLintptr_def(num)    size_t GLintptr_var(num)
 
 /* typedef unsigned char GLubyte; */
 #define GLubyte_str       "B"
@@ -298,12 +298,6 @@ extern PyTypeObject BGL_bufferType;
 #define GLclampd_ref(num)   &bgl_var##num
 #define GLclampd_def(num)   double GLclampd_var(num)
 
-/* typedef void GLvoid; */
-/* #define GLvoid_str       "" */
-/* #define GLvoid_var(num)      bgl_var##num */
-/* #define GLvoid_ref(num)      &bgl_var##num */
-/* #define GLvoid_def(num)      char bgl_var##num */
-
 #define arg_def1(a1)          a1##_def(1)
 #define arg_def2(a1, a2)        arg_def1(a1); a2##_def(2)
 #define arg_def3(a1, a2, a3)      arg_def2(a1, a2); a3##_def(3)
@@ -368,6 +362,10 @@ extern PyTypeObject BGL_bufferType;
 #define ret_set_GLuint    ret_uint =
 #define ret_ret_GLuint    return PyLong_FromLong((long) ret_uint)
 
+#define ret_def_GLsizei   size_t ret_size_t
+#define ret_set_GLsizei   ret_size_t =
+#define ret_ret_GLsizei   return PyLong_FromSsize_t(ret_size_t)
+
 #define ret_def_GLsync    unsigned int ret_sync
 #define ret_set_GLsync    ret_sync =
 #define ret_ret_GLsync    return PyLong_FromLong((long) ret_sync)




More information about the Bf-blender-cvs mailing list