Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
update gras architecture macro to 3 for Visual C++ (little endian, 8 bytes alignment)
[simgrid.git] / src / win32 / compiler / visualc.h
index 3833296..0ed25e8 100644 (file)
 
 #include <win32/platform/select_platform_features.h>
 
+#ifdef _WIN32_WINNT
+       #if _WIN32_WINNT < 0x0400
+               #undef _WIN32_WINNT
+               #define _WIN32_WINNT 0x0400
+       #endif
+#else
+       #define _WIN32_WINNT 0x0400     
+#endif
+
 /* 
  * include files. 
  */
        #undef HAVE_SIGNAL
 #endif
 
+/* "disable the snprintf replacement ( this function is broken on system v only" */
+
+
+
+#ifdef PREFER_PORTABLE_SNPRINTF
+# undef PREFER_PORTABLE_SNPRINTF       1       
+#endif
+
+
 /* The compiler has `snprintf' function. */
-#if _MSC_VER >= 7 /* FIXME: check version number */
+#if _MSC_VER >= 1400 
 #  ifndef HAVE_SNPRINTF
-       #define HAVE_SNPRINTF   1
+#    define HAVE_SNPRINTF      1
+#    ifndef PREFER_PORTABLE_SNPRINTF
+#      define snprintf _snprintf
+#    endif
 #  endif
 #else 
 #  ifdef HAVE_SNPRINTF
 #  endif
 #endif
 
+
+
 /* No `swapcontext' function. */
 #if defined(HAVE_SWAPCONTEXT)
        #undef HAVE_SWAPCONTEXT
        #define NEED_VASPRINTF
 #endif
 
-/* "disable the snprintf replacement ( this function is broken on system v only" */
-
-
-#if !defined(PREFER_PORTABLE_SNPRINTF)
-       #define PREFER_PORTABLE_SNPRINTF        
-#endif
-
 /* The maximal size of any scalar on this arch */
 #if !defined(SIZEOF_MAX)
        #define SIZEOF_MAX 8
@@ -301,7 +317,7 @@ the double. For now, GRAS requires the structures to be compacted. */
        #undef GRAS_THISARCH
 #endif
 
-#define GRAS_THISARCH 0
+#define GRAS_THISARCH 3
 
  
  /* Path to the addr2line tool */
@@ -392,8 +408,6 @@ the double. For now, GRAS requires the structures to be compacted. */
  * Replace winsock2.h,ws2tcpip.h and winsock.h header files */
 #include <windows.h>
 
-/* types */
-typedef unsigned int uint32_t;
 
 /* Choose setjmp as exception implementation */
 #ifndef __EX_MCTX_SJLJ__
@@ -401,6 +415,21 @@ typedef unsigned int uint32_t;
 #endif 
 
 
+
+#include <sys/stat.h>
+
+#define S_IWUSR _S_IWRITE
+#define S_IRUSR _S_IREAD
+
+
+/* Visual C++ does not declare the ssize_t type */
 typedef int ssize_t;
 
+/* Visual C++ does not declare the mode_t type */
+typedef unsigned int mode_t;
+
+/* Visual C++ does not declare the uint32_t type */
+typedef unsigned int uint32_t;
+
+
 #endif /* #ifndef __XBT_VISUALC_COMPILER_CONFIG_H__ */