Save errno before calling other funcs that potentially alter it. Bug
[platform/upstream/glib.git] / glibconfig.h.win32.in
index b5d2c8d..b7e8b4c 100644 (file)
@@ -55,6 +55,11 @@ typedef unsigned __int64 guint64;
 #else /* _MSC_VER */
 #define G_GINT64_CONSTANT(val) (val##i64)
 #endif /* _MSC_VER */
+#ifndef _MSC_VER
+#define G_GUINT64_CONSTANT(val)        (G_GNUC_EXTENSION (val##ULL))
+#else /* _MSC_VER */
+#define G_GUINT64_CONSTANT(val)        (val##Ui64)
+#endif /* _MSC_VER */
 #define G_GINT64_MODIFIER "I64"
 #define G_GINT64_FORMAT "I64i"
 #define G_GUINT64_FORMAT "I64u"
@@ -70,6 +75,13 @@ typedef unsigned int gsize;
 #define G_GSIZE_FORMAT "u"
 
 #define G_MAXSIZE      G_MAXUINT
+#define G_MINSSIZE     G_MININT
+#define G_MAXSSIZE     G_MAXINT
+
+typedef gint64 goffset;
+#define G_MINOFFSET    G_MININT64
+#define G_MAXOFFSET    G_MAXINT64
+
 
 #define GPOINTER_TO_INT(p)     ((gint)   (p))
 #define GPOINTER_TO_UINT(p)    ((guint)  (p))
@@ -83,7 +95,7 @@ typedef unsigned int gsize;
 # define g_ATEXIT(proc)        (atexit (proc))
 #endif
 
-#define g_memmove(d,s,n) G_STMT_START { memmove ((d), (s), (n)); } G_STMT_END
+#define g_memmove(dest,src,len) G_STMT_START { memmove ((dest), (src), (len)); } G_STMT_END
 
 #define GLIB_MAJOR_VERSION @GLIB_MAJOR_VERSION@
 #define GLIB_MINOR_VERSION @GLIB_MINOR_VERSION@
@@ -101,22 +113,17 @@ typedef unsigned int gsize;
 #else  /* !__cplusplus */
 #ifndef _MSC_VER
 #define G_HAVE_INLINE 1
-#else /* _MSC_VER */
-
 #endif /* _MSC_VER */
 #define G_HAVE___INLINE 1
-#ifndef _MSC_VER
+#if !defined(_MSC_VER) && !defined(__DMC__)
 #define G_HAVE___INLINE__ 1
-#endif /* not _MSC_VER */
+#endif /* !_MSC_VER and !__DMC__ */
 #endif /* !__cplusplus */
 
+#define G_CAN_INLINE   1
+
 #ifndef _MSC_VER
-#ifndef __cplusplus
-# define G_HAVE_ISO_VARARGS 1
-#endif
-#ifdef __cplusplus
-# define G_HAVE_ISO_VARARGS 1
-#endif
+#define G_HAVE_ISO_VARARGS 1
 
 /* gcc-2.95.x supports both gnu style and ISO varargs, but if -ansi
  * is passed ISO vararg support is turned off, and there is no work
@@ -127,9 +134,15 @@ typedef unsigned int gsize;
 #endif
 
 #define G_HAVE_GNUC_VARARGS 1
+#else /* _MSC_VER */
+/* varargs macros available since msvc8 (vs2005) */
+#  if _MSC_VER >= 1400
+#    define G_HAVE_ISO_VARARGS 1
+#   endif
 #endif /* not _MSC_VER */
 #define G_HAVE_GROWING_STACK 0
 
+#define G_GNUC_INTERNAL
 
 #define G_THREADS_ENABLED
 #define G_THREADS_IMPL_WIN32
@@ -137,12 +150,6 @@ typedef struct _GMutex* GStaticMutex;
 #define G_STATIC_MUTEX_INIT NULL
 #define g_static_mutex_get_mutex(mutex) \
   (g_static_mutex_get_mutex_impl_shortcut (mutex))
-/* double checked locking can be used on this platform */
-#define g_once(once, func, arg) \
-  ((once)->status == G_ONCE_STATUS_READY ? (once)->retval : \
-   g_once_impl (once, func, arg));
-#define g_static_mutex_get_mutex_impl_shortcut(mutex) \
-  (*(mutex) ? *(mutex) : g_static_mutex_get_mutex_impl (mutex))
 /* This represents a system thread as used by the implementation. An
  * alien implementaion, as loaded by g_thread_init can only count on
  * "sizeof (gpointer)" bytes to store their info. We however need more
@@ -187,6 +194,8 @@ union _GSystemThread
 
 #define G_MODULE_SUFFIX "dll"
 
+typedef void * GPid;
+
 G_END_DECLS
 
 #endif /* GLIBCONFIG_H */