Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntony Riakiotakis <kalast@gmail.com>2012-04-24 18:33:44 +0400
committerAntony Riakiotakis <kalast@gmail.com>2012-04-24 18:33:44 +0400
commit0db3c5f74300980d35b3114992c299f072b913b1 (patch)
tree46cd6f52ac700ed09afc455944ca33e6e7e0d672 /intern/elbeem
parent4782522379b708f15bd5b045ca4193637c465979 (diff)
Remove mingw-w64 errors from loss of precision by converting 64bit pointers to ints. All cases found were harmless and the error behaviour could be turned off by the -fpermissive flag but I'd rather keep that off to detect any real problems should they arise.
Diffstat (limited to 'intern/elbeem')
-rw-r--r--intern/elbeem/intern/ntl_geometrymodel.cpp11
-rw-r--r--intern/elbeem/patches/mingw64_nopermissive.patch29
2 files changed, 38 insertions, 2 deletions
diff --git a/intern/elbeem/intern/ntl_geometrymodel.cpp b/intern/elbeem/intern/ntl_geometrymodel.cpp
index 13220736b8e..b518416b639 100644
--- a/intern/elbeem/intern/ntl_geometrymodel.cpp
+++ b/intern/elbeem/intern/ntl_geometrymodel.cpp
@@ -21,7 +21,14 @@
#endif
#endif // WIN32
-
+#if defined(_WIN64)
+# ifdef __MINGW64__
+# include <basetsd.h>
+# endif
+typedef __int64 int_ptr;
+#else
+typedef long int_ptr;
+#endif
/******************************************************************************
* Default Constructor
*****************************************************************************/
@@ -164,7 +171,7 @@ int ntlGeometryObjModel::initModel(int numVertices, float *vertices, int numTria
}
//fprintf(stderr,"initModel DEBUG %d \n",channelSize);
- debMsgStd("ntlGeometryObjModel::initModel",DM_MSG, "Csize:"<<channelSize<<", Cvert:"<<(long)(channelVertices) ,10);
+ debMsgStd("ntlGeometryObjModel::initModel",DM_MSG, "Csize:"<<channelSize<<", Cvert:"<<(int_ptr)(channelVertices) ,10);
if(channelVertices && (channelSize>0)) {
vector<ntlSetVec3f> aniverts;
vector<ntlSetVec3f> aninorms;
diff --git a/intern/elbeem/patches/mingw64_nopermissive.patch b/intern/elbeem/patches/mingw64_nopermissive.patch
new file mode 100644
index 00000000000..a01e65d43e4
--- /dev/null
+++ b/intern/elbeem/patches/mingw64_nopermissive.patch
@@ -0,0 +1,29 @@
+Index: intern/ntl_geometrymodel.cpp
+===================================================================
+--- intern/ntl_geometrymodel.cpp (revision 45919)
++++ intern/ntl_geometrymodel.cpp (working copy)
+@@ -21,7 +21,14 @@
+ #endif
+ #endif // WIN32
+
+-
++#if defined(_WIN64)
++# ifdef __MINGW64__
++# include <basetsd.h>
++# endif
++typedef __int64 int_ptr;
++#else
++typedef long int_ptr;
++#endif
+ /******************************************************************************
+ * Default Constructor
+ *****************************************************************************/
+@@ -164,7 +171,7 @@
+ }
+
+ //fprintf(stderr,"initModel DEBUG %d \n",channelSize);
+- debMsgStd("ntlGeometryObjModel::initModel",DM_MSG, "Csize:"<<channelSize<<", Cvert:"<<(long)(channelVertices) ,10);
++ debMsgStd("ntlGeometryObjModel::initModel",DM_MSG, "Csize:"<<channelSize<<", Cvert:"<<(int_ptr)(channelVertices) ,10);
+ if(channelVertices && (channelSize>0)) {
+ vector<ntlSetVec3f> aniverts;
+ vector<ntlSetVec3f> aninorms;