Force use of "%I64d" format for 64 bit ints on MinGW.
authorAndrew Dunstan <[email protected]>
Wed, 27 Apr 2011 14:09:23 +0000 (10:09 -0400)
committerAndrew Dunstan <[email protected]>
Wed, 27 Apr 2011 14:09:23 +0000 (10:09 -0400)
Both this and "%lld" work, but the compiler's format checking doesn't
like "%lld", so we get all sorts of spurious warnings.

src/include/port/win32.h

index 34f40041298e4378d9d9d9a0ec2f5bceaf2a497c..8863bb300cd5b78abe1fbcc51ee646ce760cfd3f 100644 (file)
 #define PGDLLEXPORT
 #endif
 
+/*
+ * MinGW compilers accept both "%I64d" and "%lld" for 64 bit ints,
+ * but whine about the latter, so force the former, regardless of what
+ * configure found.
+ */
+#if __GNUC__
+#ifdef INT64_FORMAT
+#undef INT64_FORMAT
+#undef UINT64_FORMAT
+#endif
+#define INT64_FORMAT "%I64d"
+#define UINT64_FORMAT "%I64u"
+#endif
 
 /*
  *     IPC defines