diff -Naur glib-2.46.0-orig/configure.ac glib-2.46.0/configure.ac
--- glib-2.46.0-orig/configure.ac	2015-09-21 15:38:33.000000000 +0300
+++ glib-2.46.0/configure.ac	2015-09-22 09:09:02.118820700 +0300
@@ -567,7 +567,7 @@
 ])
 fi
 
-AS_IF([test x$glib_native_win32 != xyes && test x$ac_cv_sizeof_long_long = x8], [
+AS_IF([test x$ac_cv_sizeof_long_long = x8], [
 	# long long is a 64 bit integer.
 	AC_MSG_CHECKING(for format to printf and scanf a guint64)
 	AC_CACHE_VAL(glib_cv_long_long_format,[
@@ -589,8 +589,8 @@
 	AS_IF([ test -n "$glib_cv_long_long_format"], [
 	  AC_MSG_RESULT(%${glib_cv_long_long_format}u)
 	  AC_DEFINE(HAVE_LONG_LONG_FORMAT,1,[define if system printf can print long long])
-	  if test x"$glib_cv_long_long_format" = xI64; then
-	    AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format I64])
+	  if test x"$glib_cv_long_long_format" = xll; then
+	    AC_DEFINE(HAVE_INT64_AND_I64,1,[define to support printing 64-bit integers with format ll])
           fi
 	], [AC_MSG_RESULT(none)])
 ],[ test x$ac_cv_sizeof___int64 = x8], [
@@ -3177,8 +3177,8 @@
   glib_msize_type='LONG'
   ;;
 "long long"|__int64)
-  gsize_modifier='"I64"'
-  gsize_format='"I64u"'
+  gsize_modifier='"z"'
+  gsize_format='"zu"'
   glib_msize_type='INT64'
   ;;
 esac
@@ -3200,8 +3200,8 @@
   glib_mssize_type='LONG'
   ;;
 "long long"|__int64)
-  gssize_modifier='"I64"'
-  gssize_format='"I64i"'
+  gssize_modifier='"z"'
+  gssize_format='"zi"'
   glib_mssize_type='INT64'
   ;;
 esac
@@ -3230,9 +3230,9 @@
   ;;
 $ac_cv_sizeof_long_long)
   glib_intptr_type_define='long long'
-  gintptr_modifier='"I64"'
-  gintptr_format='"I64i"'
-  guintptr_format='"I64u"'
+  gintptr_modifier='"ll"'
+  gintptr_format='"lli"'
+  guintptr_format='"llu"'
   glib_gpi_cast='(gint64)'
   glib_gpui_cast='(guint64)'
   ;;
diff -Naur glib-2.46.0-orig/glib/gmacros.h glib-2.46.0/glib/gmacros.h
--- glib-2.46.0-orig/glib/gmacros.h	2015-08-19 06:35:30.000000000 +0300
+++ glib-2.46.0/glib/gmacros.h	2015-09-22 09:09:02.118820700 +0300
@@ -79,9 +79,9 @@
 
 #if     __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4)
 #define G_GNUC_PRINTF( format_idx, arg_idx )    \
-  __attribute__((__format__ (__printf__, format_idx, arg_idx)))
+  __attribute__((__format__ (gnu_printf, format_idx, arg_idx)))
 #define G_GNUC_SCANF( format_idx, arg_idx )     \
-  __attribute__((__format__ (__scanf__, format_idx, arg_idx)))
+  __attribute__((__format__ (gnu_scanf, format_idx, arg_idx)))
 #define G_GNUC_FORMAT( arg_idx )                \
   __attribute__((__format_arg__ (arg_idx)))
 #define G_GNUC_NORETURN                         \
diff -Naur glib-2.46.0-orig/glib/gpoll.h glib-2.46.0/glib/gpoll.h
--- glib-2.46.0-orig/glib/gpoll.h	2014-12-20 00:49:48.000000000 +0300
+++ glib-2.46.0/glib/gpoll.h	2015-09-22 09:09:02.118820700 +0300
@@ -108,7 +108,7 @@
  */
 #ifdef G_OS_WIN32
 #if GLIB_SIZEOF_VOID_P == 8
-#define G_POLLFD_FORMAT "%#I64x"
+#define G_POLLFD_FORMAT "%#llx"
 #else
 #define G_POLLFD_FORMAT "%#x"
 #endif
