<div dir="ltr">Hi,<br><br>This is causing major compiling problems here on Win32 (XP).<br>- using scons/mingw (i.e. gcc 3.4.4, scons 0.96.1):<br>compiling breaks down in guardedmalloc. It seems that somehow, uintptr_t doesn&#39;t get defined for some or rather reason. There are likely many more such places<br>
<br>- using cmake/mingw (I&#39;ve made some local patches to make this work at all):<br>compiling breaks down in bf_kernel with similar errors<br><br>Regards,<br>Joshua<br><br><br><br><br><div class="gmail_quote">On Mon, Aug 18, 2008 at 5:08 AM, Daniel Genrich <span dir="ltr">&lt;<a href="mailto:daniel.genrich@gmx.net">daniel.genrich@gmx.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Revision: 16147<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&amp;root=bf-blender&amp;revision=16147" target="_blank">http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&amp;root=bf-blender&amp;revision=16147</a><br>

Author: &nbsp; genscher<br>
Date: &nbsp; &nbsp; 2008-08-17 19:08:00 +0200 (Sun, 17 Aug 2008)<br>
<br>
Log Message:<br>
-----------<br>
Win64: please check my changes if you ran across them ;) But should be fine since no additional crashes were reported!<br>
<br>
Modified Paths:<br>
--------------<br>
 &nbsp; &nbsp;trunk/blender/intern/guardedalloc/intern/mallocn.c<br>
 &nbsp; &nbsp;trunk/blender/intern/guardedalloc/intern/mmap_win.c<br>
 &nbsp; &nbsp;trunk/blender/intern/guardedalloc/mmap_win.h<br>
 &nbsp; &nbsp;trunk/blender/intern/opennl/superlu/smemory.c<br>
 &nbsp; &nbsp;trunk/blender/release/datafiles/datatoc.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/BKE_customdata.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/BKE_endian.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/BKE_utildefines.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/intern/CCGSubSurf.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/intern/DerivedMesh.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/intern/cloth.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/intern/displist.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/intern/image.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenkernel/intern/implicit.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenlib/BLI_editVert.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenlib/intern/BLI_ghash.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenlib/intern/fileops.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenlib/intern/psfont.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenlib/intern/util.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/blenpluginapi/intern/pluginapi.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/imbuf/intern/cineon/cineonlib.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/imbuf/intern/cineon/dpxlib.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/imbuf/intern/cineon/logImageCore.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/imbuf/intern/cineon/logmemfile.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/imbuf/intern/cineon/logmemfile.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/imbuf/intern/scaling.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/include/BIF_meshtools.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/makesdna/intern/makesdna.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/radiosity/CMakeLists.txt<br>
 &nbsp; &nbsp;trunk/blender/source/blender/radiosity/SConscript<br>
 &nbsp; &nbsp;trunk/blender/source/blender/radiosity/intern/source/Makefile<br>
 &nbsp; &nbsp;trunk/blender/source/blender/radiosity/intern/source/radnode.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/radiosity/intern/source/radpreprocess.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/CMakeLists.txt<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/SConscript<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/include/render_types.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/source/occlusion.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/source/pipeline.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/source/rendercore.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/source/shadbuf.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/source/strand.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/render/intern/source/zbuf.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/buttons_editing.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/buttons_scene.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/drawmesh.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/drawobject.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/editkey.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/editmesh_mods.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/editmesh_tools.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/header_info.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/header_script.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/interface.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/meshlaplacian.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/meshtools.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/parametrizer.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/parametrizer.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/parametrizer_intern.h<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/renderwin.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/space.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/toolbox.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/src/transform_conversions.c<br>
 &nbsp; &nbsp;trunk/blender/source/blender/yafray/intern/export_Plugin.cpp<br>
 &nbsp; &nbsp;trunk/blender/source/gameengine/Ketsji/KX_MaterialIpoController.cpp<br>
 &nbsp; &nbsp;trunk/blender/source/kernel/CMakeLists.txt<br>
 &nbsp; &nbsp;trunk/blender/source/kernel/SConscript<br>
 &nbsp; &nbsp;trunk/blender/source/kernel/gen_system/GEN_HashedPtr.cpp<br>
 &nbsp; &nbsp;trunk/blender/source/kernel/gen_system/Makefile<br>
<br>
Added Paths:<br>
-----------<br>
 &nbsp; &nbsp;trunk/blender/intern/guardedalloc/BLO_sys_types.h<br>
 &nbsp; &nbsp;trunk/blender/intern/opennl/superlu/BLO_sys_types.h<br>
<br>
Added: trunk/blender/intern/guardedalloc/BLO_sys_types.h<br>
===================================================================<br>
--- trunk/blender/intern/guardedalloc/BLO_sys_types.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (rev 0)<br>
+++ trunk/blender/intern/guardedalloc/BLO_sys_types.h &nbsp; 2008-08-17 17:08:00 UTC (rev 16147)<br>
@@ -0,0 +1,112 @@<br>
+/**<br>
+ * $Id$<br>
+ *<br>
+ * ***** BEGIN GPL LICENSE BLOCK *****<br>
+ *<br>
+ * This program is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU General Public License<br>
+ * as published by the Free Software Foundation; either version 2<br>
+ * of the License, or (at your option) any later version.<br>
+ *<br>
+ * This program is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the<br>
+ * GNU General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU General Public License<br>
+ * along with this program; if not, write to the Free Software Foundation,<br>
+ * Inc., 59 Temple Place - Suite 330, Boston, MA &nbsp;02111-1307, USA.<br>
+ *<br>
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.<br>
+ * All rights reserved.<br>
+ *<br>
+ * The Original Code is: all of this file.<br>
+ *<br>
+ * Contributor(s): none yet.<br>
+ *<br>
+ * ***** END GPL LICENSE BLOCK *****<br>
+ * A platform-independent definition of [u]intXX_t<br>
+ * Plus the accompanying header include for htonl/ntohl<br>
+ *<br>
+ * This file includes &lt;sys/types.h&gt; to define [u]intXX_t types, where<br>
+ * XX can be 8, 16, 32 or 64. Unfortunately, not all systems have this<br>
+ * file.<br>
+ * - Windows uses __intXX compiler-builtin types. These are signed,<br>
+ * &nbsp; so we have to flip the signs.<br>
+ * For these rogue platforms, we make the typedefs ourselves.<br>
+ *<br>
+ */<br>
+<br>
+/*<br>
+// DG: original BLO_sys_types.h is in source/blender/blenkernel<br>
+// but is not allowed be accessed here because of bad-level-call<br>
+*/<br>
+<br>
+#ifndef BLO_SYS_TYPES_H<br>
+#define BLO_SYS_TYPES_H<br>
+<br>
+#ifdef __cplusplus<br>
+extern &quot;C&quot; {<br>
+#endif<br>
+<br>
+#ifdef FREE_WINDOWS<br>
+typedef unsigned char uint8_t;<br>
+typedef unsigned int uint32_t;<br>
+#endif<br>
+<br>
+#if defined(_WIN32) &amp;&amp; !defined(FREE_WINDOWS)<br>
+<br>
+/* The __intXX are built-in types of the visual complier! So we don&#39;t<br>
+ * need to include anything else here. */<br>
+<br>
+typedef signed __int8 &nbsp;int8_t;<br>
+typedef signed __int16 int16_t;<br>
+typedef signed __int32 int32_t;<br>
+typedef signed __int64 int64_t;<br>
+<br>
+typedef unsigned __int8 &nbsp;uint8_t;<br>
+typedef unsigned __int16 uint16_t;<br>
+typedef unsigned __int32 uint32_t;<br>
+typedef unsigned __int64 uint64_t;<br>
+<br>
+#ifdef _WIN64<br>
+typedef __int64 intptr_t;<br>
+typedef unsigned __int64 uintptr_t;<br>
+#else<br>
+typedef long intptr_t;<br>
+typedef unsigned long uintptr_t;<br>
+#endif<br>
+<br>
+#elif defined(__linux__)<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* Linux-i386, Linux-Alpha, Linux-ppc */<br>
+#include &lt;stdint.h&gt;<br>
+<br>
+#elif defined (__APPLE__)<br>
+<br>
+#include &lt;inttypes.h&gt;<br>
+<br>
+#else<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* FreeBSD, Irix, Solaris */<br>
+#include &lt;sys/types.h&gt;<br>
+<br>
+#endif /* ifdef platform for types */<br>
+<br>
+#ifdef _WIN32<br>
+#define htonl(x) correctByteOrder(x)<br>
+#define ntohl(x) correctByteOrder(x)<br>
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)<br>
+#include &lt;sys/param.h&gt;<br>
+#elif defined (__APPLE__)<br>
+#include &lt;sys/types.h&gt;<br>
+#else &nbsp;/* irix sun linux */<br>
+#include &lt;netinet/in.h&gt;<br>
+#endif /* ifdef platform for htonl/ntohl */<br>
+<br>
+#ifdef __cplusplus<br>
+}<br>
+#endif<br>
+<br>
+#endif /* eof */<br>
+<br>
<br>
Modified: trunk/blender/intern/guardedalloc/intern/mallocn.c<br>
===================================================================<br>
--- trunk/blender/intern/guardedalloc/intern/mallocn.c &nbsp;2008-08-17 16:36:37 UTC (rev 16146)<br>
+++ trunk/blender/intern/guardedalloc/intern/mallocn.c &nbsp;2008-08-17 17:08:00 UTC (rev 16147)<br>
@@ -49,6 +49,8 @@<br>
<br>
&nbsp;#include &quot;MEM_guardedalloc.h&quot;<br>
<br>
+#include &quot;BLO_sys_types.h&quot; // needed for intptr_t<br>
+<br>
&nbsp;/* --------------------------------------------------------------------- */<br>
&nbsp;/* Data definition &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; */<br>
&nbsp;/* --------------------------------------------------------------------- */<br>
@@ -112,7 +114,7 @@<br>
<br>
<br>
&nbsp;volatile int totblock= 0;<br>
-volatile unsigned long mem_in_use= 0, mmap_in_use= 0;<br>
+volatile uintptr_t mem_in_use= 0, mmap_in_use= 0;<br>
<br>
&nbsp;static volatile struct localListBase _membase;<br>
&nbsp;static volatile struct localListBase *membase = &amp;_membase;<br>
@@ -335,7 +337,7 @@<br>
&nbsp;/* Memory statistics print */<br>
&nbsp;typedef struct MemPrintBlock {<br>
 &nbsp; &nbsp; &nbsp; &nbsp;const char *name;<br>
- &nbsp; &nbsp; &nbsp; unsigned long len;<br>
+ &nbsp; &nbsp; &nbsp; uintptr_t len;<br>
 &nbsp; &nbsp; &nbsp; &nbsp;int items;<br>
&nbsp;} MemPrintBlock;<br>
<br>
@@ -485,14 +487,14 @@<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return(-1);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br>
<br>
- &nbsp; &nbsp; &nbsp; if(sizeof(long)==8) {<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (((long) memh) &amp; 0x7) {<br>
+ &nbsp; &nbsp; &nbsp; if(sizeof(intptr_t)==8) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (((intptr_t) memh) &amp; 0x7) {<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemorY_ErroR(&quot;free&quot;,&quot;attempt to free illegal pointer&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return(-1);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp;}<br>
 &nbsp; &nbsp; &nbsp; &nbsp;else {<br>
- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (((long) memh) &amp; 0x3) {<br>
+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (((intptr_t) memh) &amp; 0x3) {<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;MemorY_ErroR(&quot;free&quot;,&quot;attempt to free illegal pointer&quot;);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;return(-1);<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>
<br>
Modified: trunk/blender/intern/guardedalloc/intern/mmap_win.c<br>
===================================================================<br>
--- trunk/blender/intern/guardedalloc/intern/mmap_win.c 2008-08-17 16:36:37 UTC (rev 16146)<br>
+++ trunk/blender/intern/guardedalloc/intern/mmap_win.c 2008-08-17 17:08:00 UTC (rev 16147)<br>
@@ -151,7 +151,7 @@<br>
&nbsp;}<br>
<br>
&nbsp;/* munmap for windows */<br>
-long munmap(void *ptr, long size)<br>
+intptr_t munmap(void *ptr, intptr_t size)<br>
&nbsp;{<br>
 &nbsp; &nbsp; &nbsp; &nbsp;MemMap *mm = mmap_findlink(mmapbase, ptr);<br>
 &nbsp; &nbsp; &nbsp; &nbsp;if (!mm) {<br>
<br>
Modified: trunk/blender/intern/guardedalloc/mmap_win.h<br>
===================================================================<br>
--- trunk/blender/intern/guardedalloc/mmap_win.h &nbsp; &nbsp; &nbsp; &nbsp;2008-08-17 16:36:37 UTC (rev 16146)<br>
+++ trunk/blender/intern/guardedalloc/mmap_win.h &nbsp; &nbsp; &nbsp; &nbsp;2008-08-17 17:08:00 UTC (rev 16147)<br>
@@ -45,8 +45,10 @@<br>
<br>
&nbsp;#define MAP_FAILED ((void *)-1)<br>
<br>
+#include &quot;BLO_sys_types.h&quot; // needed for intptr_t<br>
+<br>
&nbsp;void *mmap(void *start, size_t len, int prot, int flags, int fd, off_t offset);<br>
-long munmap(void *ptr, long size);<br>
+intptr_t munmap(void *ptr, intptr_t size);<br>
<br>
&nbsp;#endif<br>
<br>
<br>
Added: trunk/blender/intern/opennl/superlu/BLO_sys_types.h<br>
===================================================================<br>
--- trunk/blender/intern/opennl/superlu/BLO_sys_types.h &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; (rev 0)<br>
+++ trunk/blender/intern/opennl/superlu/BLO_sys_types.h 2008-08-17 17:08:00 UTC (rev 16147)<br>
@@ -0,0 +1,112 @@<br>
+/**<br>
+ * $Id$<br>
+ *<br>
+ * ***** BEGIN GPL LICENSE BLOCK *****<br>
+ *<br>
+ * This program is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU General Public License<br>
+ * as published by the Free Software Foundation; either version 2<br>
+ * of the License, or (at your option) any later version.<br>
+ *<br>
+ * This program is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. &nbsp;See the<br>
+ * GNU General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU General Public License<br>
+ * along with this program; if not, write to the Free Software Foundation,<br>
+ * Inc., 59 Temple Place - Suite 330, Boston, MA &nbsp;02111-1307, USA.<br>
+ *<br>
+ * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.<br>
+ * All rights reserved.<br>
+ *<br>
+ * The Original Code is: all of this file.<br>
+ *<br>
+ * Contributor(s): none yet.<br>
+ *<br>
+ * ***** END GPL LICENSE BLOCK *****<br>
+ * A platform-independent definition of [u]intXX_t<br>
+ * Plus the accompanying header include for htonl/ntohl<br>
+ *<br>
+ * This file includes &lt;sys/types.h&gt; to define [u]intXX_t types, where<br>
+ * XX can be 8, 16, 32 or 64. Unfortunately, not all systems have this<br>
+ * file.<br>
+ * - Windows uses __intXX compiler-builtin types. These are signed,<br>
+ * &nbsp; so we have to flip the signs.<br>
+ * For these rogue platforms, we make the typedefs ourselves.<br>
+ *<br>
+ */<br>
+<br>
+/*<br>
+// DG: original BLO_sys_types.h is in source/blender/blenkernel<br>
+// but is not allowed be accessed here because of bad-level-call<br>
+*/<br>
+<br>
+#ifndef BLO_SYS_TYPES_H<br>
+#define BLO_SYS_TYPES_H<br>
+<br>
+#ifdef __cplusplus<br>
+extern &quot;C&quot; {<br>
+#endif<br>
+<br>
+#ifdef FREE_WINDOWS<br>
+typedef unsigned char uint8_t;<br>
+typedef unsigned int uint32_t;<br>
+#endif<br>
+<br>
+#if defined(_WIN32) &amp;&amp; !defined(FREE_WINDOWS)<br>
+<br>
+/* The __intXX are built-in types of the visual complier! So we don&#39;t<br>
+ * need to include anything else here. */<br>
+<br>
+typedef signed __int8 &nbsp;int8_t;<br>
+typedef signed __int16 int16_t;<br>
+typedef signed __int32 int32_t;<br>
+typedef signed __int64 int64_t;<br>
+<br>
+typedef unsigned __int8 &nbsp;uint8_t;<br>
+typedef unsigned __int16 uint16_t;<br>
+typedef unsigned __int32 uint32_t;<br>
+typedef unsigned __int64 uint64_t;<br>
+<br>
+#ifdef _WIN64<br>
+typedef __int64 intptr_t;<br>
+typedef unsigned __int64 uintptr_t;<br>
+#else<br>
+typedef long intptr_t;<br>
+typedef unsigned long uintptr_t;<br>
+#endif<br>
+<br>
+#elif defined(__linux__)<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* Linux-i386, Linux-Alpha, Linux-ppc */<br>
+#include &lt;stdint.h&gt;<br>
+<br>
+#elif defined (__APPLE__)<br>
+<br>
+#include &lt;inttypes.h&gt;<br>
+<br>
+#else<br>
+<br>
+ &nbsp; &nbsp; &nbsp; /* FreeBSD, Irix, Solaris */<br>
+#include &lt;sys/types.h&gt;<br>
+<br>
+#endif /* ifdef platform for types */<br>
+<br>
+#ifdef _WIN32<br>
+#define htonl(x) correctByteOrder(x)<br>
+#define ntohl(x) correctByteOrder(x)<br>
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)<br>
+#include &lt;sys/param.h&gt;<br>
+#elif defined (__APPLE__)<br>
+#include &lt;sys/types.h&gt;<br>
+#else &nbsp;/* irix sun linux */<br>
+#include &lt;netinet/in.h&gt;<br>
+#endif /* ifdef platform for htonl/ntohl */<br>
+<br>
+#ifdef __cplusplus<br>
+}<br>
+#endif<br>
+<br>
+#endif /* eof */<br>
+<br>
<br>
Modified: trunk/blender/intern/opennl/superlu/smemory.c<br>
===================================================================<br>
--- trunk/blender/intern/opennl/superlu/smemory.c &nbsp; &nbsp; &nbsp; 2008-08-17 16:36:37 UTC (rev 16146)<br>
+++ trunk/blender/intern/opennl/superlu/smemory.c &nbsp; &nbsp; &nbsp; 2008-08-17 17:08:00 UTC (rev 16147)<br>
@@ -8,6 +8,8 @@<br>
 &nbsp;*/<br>
&nbsp;#include &quot;ssp_defs.h&quot;<br>
<br>
+#include &quot;BLO_sys_types.h&quot; // needed for intptr_t<br>
+<br>
&nbsp;/* Constants */<br>
&nbsp;#define NO_MEMTYPE &nbsp;4 &nbsp; &nbsp; &nbsp;/* 0: lusup;<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;1: ucol;<br>
@@ -49,8 +51,8 @@<br>
<br>
&nbsp;/* Macros to manipulate stack */<br>
&nbsp;#define StackFull(x) &nbsp; &nbsp; &nbsp; &nbsp; ( x + stack.used &gt;= stack.size )<br>
-#define NotDoubleAlign(addr) ( (long int)addr &amp; 7 )<br>
-#define DoubleAlign(addr) &nbsp; &nbsp;( ((long int)addr + 7) &amp; ~7L )<br>
+#define NotDoubleAlign(addr) ( (intptr_t)addr &amp; 7 )<br>
+#define DoubleAlign(addr) &nbsp; &nbsp;( ((intptr_t)addr + 7) &amp; ~7L )<br>
&nbsp;#define TempSpace(m, w) &nbsp; &nbsp; &nbsp;( (2*w + 4 + NO_MARKER) * m * sizeof(int) + \<br>
 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;(w + 1) * m * sizeof(float) )<br>
&nbsp;#define Reduce(alpha) &nbsp; &nbsp; &nbsp; &nbsp;((alpha + 1) / 2) &nbsp;/* i.e. (alpha-1)/2 + 1 */<br>
@@ -611,8 +613,8 @@<br>
<br>
 &nbsp; &nbsp; last = (char*)usub + xusub[ndim] * iword;<br>
 &nbsp; &nbsp; fragment = (char*) (((char*)stack.array + stack.top1) - last);<br>
- &nbsp; &nbsp;stack.used -= (long int) fragment;<br>
- &nbsp; &nbsp;stack.top1 -= (long int) fragment;<br>
+ &nbsp; &nbsp;stack.used -= (intptr_t) fragment;<br>
+ &nbsp; &nbsp;stack.top1 -= (intptr_t) fragment;<br>
<br>
 &nbsp; &nbsp; Glu-&gt;ucol = ucol;<br>
<br>
@@ Diff output truncated at 10240 characters. @@<br>
<br>
_______________________________________________<br>
Bf-blender-cvs mailing list<br>
<a href="mailto:Bf-blender-cvs@blender.org">Bf-blender-cvs@blender.org</a><br>
<a href="http://lists.blender.org/mailman/listinfo/bf-blender-cvs" target="_blank">http://lists.blender.org/mailman/listinfo/bf-blender-cvs</a><br>
</blockquote></div><br></div>