The host configuration across platforms wrongly assumes that
sizeof(long) == sizeof(intptr_t) which is incorrect on amd64-hosted
compiler hosting mingw-w64.
Here's a patch fixing
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66488>
cheers,
sh
diff --git a/gcc/config/i386/xm-mingw32.h b/gcc/config/i386/xm-mingw32.h
index 501cebd..1b17263 100644
--- a/gcc/config/i386/xm-mingw32.h
+++ b/gcc/config/i386/xm-mingw32.h
@@ -38,3 +38,7 @@ along with GCC; see the file COPYING3. If not see
#define HOST_LONG_LONG_FORMAT "I64"
#endif
+/* this is to prevent ggc-heap.c from assuming sizeof(long) ==
sizeof(intptr_t) */
+#ifdef __x86_64__
+# define HOST_BITS_PER_PTR 64
+#endif
\ No newline at end of file