rts/PosixSource.h: Define __USE_MINGW_ANSI_STDIO on Windows
authorBen Gamari <bgamari.foss@gmail.com>
Fri, 9 Dec 2016 04:05:21 +0000 (23:05 -0500)
committerBen Gamari <ben@smart-cactus.org>
Fri, 9 Dec 2016 04:05:43 +0000 (23:05 -0500)
This was removed in 8dc72f3c33b0e724ddb690c9d494969980c10afd which cleaned up
PosixSource.h. Strangely, this only started breaking for me now.

Test Plan: Validate on Windows

Reviewers: simonmar, erikd, austin, Phyx

Reviewed By: Phyx

Subscribers: thomie

Differential Revision: https://phabricator.haskell.org/D2812

GHC Trac Issues: #12951

rts/PosixSource.h

index 0ba74df..edf16b5 100644 (file)
 #define _XOPEN_SOURCE   700
 #endif
 
+#if defined(mingw32_HOST_OS)
+/* Without this gcc will warn about %ull and the like since some msvcrt versions
+   do not support them. See
+   https://sourceforge.net/p/mingw-w64/mailman/message/28557333/
+
+   Note that this is implied by _POSIX_C_SOURCE in the msys2 toolchain that we
+   now use. However, we retain this explicit #define to preserve the ability to
+   bootstrap GHC with compilers still using msys (e.g. GHC 7.10.1 and 7.10.2).
+   This can be removed in for GHC 8.4. See #12951.
+  */
+#define __USE_MINGW_ANSI_STDIO 1
+#endif
+
 #endif /* POSIXSOURCE_H */