diff options
author | Antony Riakiotakis <kalast@gmail.com> | 2012-04-24 18:33:44 +0400 |
---|---|---|
committer | Antony Riakiotakis <kalast@gmail.com> | 2012-04-24 18:33:44 +0400 |
commit | 0db3c5f74300980d35b3114992c299f072b913b1 (patch) | |
tree | 46cd6f52ac700ed09afc455944ca33e6e7e0d672 /intern/elbeem | |
parent | 4782522379b708f15bd5b045ca4193637c465979 (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.cpp | 11 | ||||
-rw-r--r-- | intern/elbeem/patches/mingw64_nopermissive.patch | 29 |
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; |