[commit: ghc] master: rts: Fix C compiler warnings on Windows (0efbf18)
git at git.haskell.org
git at git.haskell.org
Wed May 11 12:09:56 UTC 2016
Repository : ssh://git@git.haskell.org/ghc
On branch : master
Link : http://ghc.haskell.org/trac/ghc/changeset/0efbf18b80c261708da9ef61bcd420fa94cfed42/ghc
>---------------------------------------------------------------
commit 0efbf18b80c261708da9ef61bcd420fa94cfed42
Author: Erik de Castro Lopo <erikd at mega-nerd.com>
Date: Wed May 11 16:17:08 2016 +1000
rts: Fix C compiler warnings on Windows
Summary:
Specifcally we want the MinGW compiler to use ISO print format
specfifiers.
Test Plan: Validate on Linux, OS X and Windows
Reviewers: Phyx, austin, bgamari, simonmar
Reviewed By: bgamari, simonmar
Subscribers: thomie
Differential Revision: https://phabricator.haskell.org/D2192
>---------------------------------------------------------------
0efbf18b80c261708da9ef61bcd420fa94cfed42
includes/stg/Types.h | 5 +++++
rts/Linker.c | 9 ++++++---
rts/Trace.c | 13 +++++++------
3 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/includes/stg/Types.h b/includes/stg/Types.h
index 1a61c8b..0ad3c5c 100644
--- a/includes/stg/Types.h
+++ b/includes/stg/Types.h
@@ -21,6 +21,11 @@
#ifndef STGTYPES_H
#define STGTYPES_H
+#if defined(mingw32_HOST_OS)
+/* Inform mingw we want the ISO rather than Windows printf format specifiers. */
+#define __USE_MINGW_ANSI_STDIO 1
+#endif
+
/* ISO C 99 says:
* "C++ implementations should define these macros only when
* __STDC_LIMIT_MACROS is defined before <stdint.h> is included."
diff --git a/rts/Linker.c b/rts/Linker.c
index 981df25..09d4f6a 100644
--- a/rts/Linker.c
+++ b/rts/Linker.c
@@ -3799,9 +3799,12 @@ ocVerifyImage_PEi386 ( ObjectCode* oc )
IF_DEBUG(linker, i=1);
if (i == 0) return 1;
- debugBelch( "sectab offset = %" FMT_Int "\n", ((UChar*)sectab) - ((UChar*)hdr) );
- debugBelch( "symtab offset = %" FMT_Int "\n", ((UChar*)symtab) - ((UChar*)hdr) );
- debugBelch( "strtab offset = %" FMT_Int "\n", ((UChar*)strtab) - ((UChar*)hdr) );
+ debugBelch("sectab offset = %" FMT_SizeT "\n",
+ ((UChar*)sectab) - ((UChar*)hdr) );
+ debugBelch("symtab offset = %" FMT_SizeT "\n",
+ ((UChar*)symtab) - ((UChar*)hdr) );
+ debugBelch("strtab offset = %" FMT_SizeT "\n",
+ ((UChar*)strtab) - ((UChar*)hdr) );
debugBelch("\n" );
debugBelch( "Machine: 0x%x\n", (UInt32)(hdr->Machine) );
diff --git a/rts/Trace.c b/rts/Trace.c
index cf47e16..8480f10 100644
--- a/rts/Trace.c
+++ b/rts/Trace.c
@@ -424,18 +424,19 @@ void traceCapsetEvent (EventTypeNum tag,
tracePreface();
switch (tag) {
case EVENT_CAPSET_CREATE: // (capset, capset_type)
- debugBelch("created capset %" FMT_Word " of type %d\n", (W_)capset, (int)info);
+ debugBelch("created capset %" FMT_Word32 " of type %d\n", capset,
+ (int)info);
break;
case EVENT_CAPSET_DELETE: // (capset)
- debugBelch("deleted capset %" FMT_Word "\n", (W_)capset);
+ debugBelch("deleted capset %" FMT_Word32 "\n", capset);
break;
case EVENT_CAPSET_ASSIGN_CAP: // (capset, capno)
- debugBelch("assigned cap %" FMT_Word " to capset %" FMT_Word "\n",
- (W_)info, (W_)capset);
+ debugBelch("assigned cap %" FMT_Word " to capset %" FMT_Word32 "\n",
+ info, capset);
break;
case EVENT_CAPSET_REMOVE_CAP: // (capset, capno)
- debugBelch("removed cap %" FMT_Word " from capset %" FMT_Word "\n",
- (W_)info, (W_)capset);
+ debugBelch("removed cap %" FMT_Word " from capset %" FMT_Word32
+ "\n", info, capset);
break;
}
RELEASE_LOCK(&trace_utx);
More information about the ghc-commits
mailing list