<div dir="ltr">I will fix it, sorry about this.  Unfortunately I can't really add a Windows validate into my workflow because it would mean rebooting my laptop into Windows and not doing anything else for several hours.  We need some CI support for Windows - Ben/Austin any thoughts on this?<br></div><div class="gmail_extra"><br><div class="gmail_quote">On 4 July 2016 at 09:28, Simon Peyton Jones <span dir="ltr"><<a href="mailto:simonpj@microsoft.com" target="_blank">simonpj@microsoft.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">That was it.<br>
<br>
Simon M: would you care to fix? Or should I push a revert?<br>
<br>
Simon<br>
<div><div class="h5"><br>
|  -----Original Message-----<br>
|  From: ghc-devs [mailto:<a href="mailto:ghc-devs-bounces@haskell.org">ghc-devs-bounces@haskell.org</a>] On Behalf Of<br>
|  Edward Z. Yang<br>
|  Sent: 02 July 2016 01:02<br>
|  To: ghc-devs <<a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a>><br>
|  Subject: Re: Linker.c broken<br>
|<br>
|  I'm guessing it's:<br>
|<br>
|  commit 6377757918c1e7f63638d6f258cad8d5f02bb6a7<br>
|  Author: Simon Marlow <<a href="mailto:marlowsd@gmail.com">marlowsd@gmail.com</a>><br>
|  Date:   Wed Jun 29 21:50:18 2016 +0100<br>
|<br>
|      Linker: some extra debugging / logging<br>
|<br>
|  which added ghci_find.<br>
|<br>
|  Edward<br>
|<br>
|  Excerpts from Simon Peyton Jones via ghc-devs's message of 2016-07-01<br>
|  18:51:20 -0400:<br>
|  > Aargh!  Windows is broken /again/.   Some mess-up in Linker.c.<br>
|  > I have not yet tried reverting recent patches.  Might someone fix<br>
|  please?<br>
|  > It’s really helpful to validate on Windows when making RTS changes.<br>
|  > Simon<br>
|  ><br>
|  ><br>
|  ><br>
|  > rts\Linker.c: In function 'ghci_find':<br>
|  ><br>
|  ><br>
|  ><br>
|  > rts\Linker.c:1482:52: error:<br>
|  ><br>
|  >      error: pointer type mismatch in conditional expression [-<br>
|  Werror]<br>
|  ><br>
|  >                                   oc->archiveMemberName : oc-<br>
|  >fileName);<br>
|  ><br>
|  >                                                         ^<br>
|  ><br>
|  ><br>
|  ><br>
|  > rts\Linker.c:1480:28: error:<br>
|  ><br>
|  >      error: format '%ls' expects argument of type 'wchar_t *', but<br>
|  argument 3 has type 'void *' [-Werror=format=]<br>
|  ><br>
|  >                      debugBelch("%p is in %" PATH_FMT, addr,<br>
|  ><br>
|  >                                 ^<br>
|  ><br>
|  > "inplace/bin/ghc-stage1.exe" -optc-fno-stack-protector -optc-Wall -<br>
|  optc-Werror -optc-Wall -optc-Wextra -optc-Wstrict-prototypes -optc-<br>
|  Wmissing-prototypes -optc-Wmissing-declarations -optc-Winline -optc-<br>
|  Waggregate-return -optc-Wpointer-arith -optc-Wmissing-noreturn -optc-<br>
|  Wnested-externs -optc-Wredundant-decls -optc-Iincludes -optc-<br>
|  Iincludes/dist -optc-Iincludes/dist-derivedconstants/header -optc-<br>
|  Iincludes/dist-ghcconstants/header -optc-Irts -optc-Irts/dist/build -<br>
|  optc-DCOMPILING_RTS -optc-fno-strict-aliasing -optc-fno-common -optc-<br>
|  Irts/dist/build/./autogen -optc-Wno-error=inline -optc-O2 -optc-fomit-<br>
|  frame-pointer -optc-g -optc-fno-omit-frame-pointer -optc-g -optc-O0 -<br>
|  optc-DRtsWay=\"rts_debug\" -optc-DWINVER=0x06000100 -static -optc-<br>
|  DDEBUG -ticky -DTICKY_TICKY  -O0 -H64m -Wall -fllvm-fill-undef-with-<br>
|  garbage    -Werror -Iincludes -Iincludes/dist -Iincludes/dist-<br>
|  derivedconstants/header -Iincludes/dist-ghcconstants/header -Irts -<br>
|  Irts/dist/build -DCOMPILING_RTS -this-unit-id rts -dcmm-lint      -i -<br>
|  irts -irts/dist/build -Irts/dist/build -irts/dist/build/./autogen -<br>
|  Irts/dist/build/./autogen           -O2 -O0    -Wnoncanonical-monad-<br>
|  instances  -c rts/RaiseAsync.c -o rts/dist/build/RaiseAsync.debug_o<br>
|  ><br>
|  ><br>
|  ><br>
|  > rts\Linker.c:1483:28: error:<br>
|  ><br>
|  >      error: format '%lx' expects argument of type 'long unsigned<br>
|  int', but argument 3 has type 'long long unsigned int' [-<br>
|  Werror=format=]<br>
|  ><br>
|  >                      debugBelch(", section %d, offset %lx\n", i,<br>
|  ><br>
|  >                                 ^<br>
|  ><br>
|  ><br>
|  ><br>
|  > In file included from rts\Linker.c:13:0: error:<br>
|  ><br>
|  > rts\Linker.c: In function 'ocTryLoad':<br>
|  ><br>
|  ><br>
|  ><br>
|  > rts\Linker.c:2563:55: error:<br>
|  ><br>
|  >      error: pointer type mismatch in conditional expression [-<br>
|  Werror]<br>
|  ><br>
|  >                                      oc->archiveMemberName : oc-<br>
|  >fileName));<br>
|  ><br>
|  >                                                            ^<br>
|  ><br>
|  ><br>
|  ><br>
|  > includes\Rts.h:300:53: error:<br>
|  ><br>
|  >      note: in definition of macro 'IF_DEBUG'<br>
|  ><br>
|  >      #define IF_DEBUG(c,s)  if (RtsFlags.DebugFlags.c) { s; }<br>
|  ><br>
|  >                                                          ^<br>
|  ><br>
|  ><br>
|  ><br>
|  > rts\Linker.c:2561:33: error:<br>
|  ><br>
|  >      error: format '%ls' expects argument of type 'wchar_t *', but<br>
|  argument 2 has type 'void *' [-Werror=format=]<br>
|  ><br>
|  >          IF_DEBUG(linker, debugBelch("Resolving %" PATH_FMT "\n",<br>
|  ><br>
|  >                                      ^<br>
|  ><br>
|  ><br>
|  ><br>
|  > includes\Rts.h:300:53: error:<br>
|  ><br>
|  >      note: in definition of macro 'IF_DEBUG'<br>
|  ><br>
|  >      #define IF_DEBUG(c,s)  if (RtsFlags.DebugFlags.c) { s; }<br>
|  ><br>
|  >                                                          ^<br>
|  ><br>
|  > cc1.exe: all warnings being treated as errors<br>
|  ><br>
|  > `gcc.exe' failed in phase `C Compiler'. (Exit code: 1)<br>
|  ><br>
|  > rts/<a href="http://ghc.mk:255" rel="noreferrer" target="_blank">ghc.mk:255</a>: recipe for target 'rts/dist/build/Linker.debug_o'<br>
|  failed<br>
|  ><br>
|  > make[1]: *** [rts/dist/build/Linker.debug_o] Error 1<br>
|  ><br>
|  > make[1]: *** Waiting for unfinished jobs....<br>
|  ><br>
|  > Makefile:129: recipe for target 'all' failed<br>
|  ><br>
|  > make: *** [all] Error 2<br>
|  ><br>
|  > /cygdrive/c/code/HEAD$<br>
|  _______________________________________________<br>
|  ghc-devs mailing list<br>
|  <a href="mailto:ghc-devs@haskell.org">ghc-devs@haskell.org</a><br>
</div></div>|  <a href="https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.h" rel="noreferrer" target="_blank">https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.h</a><br>
|  <a href="http://askell.org" rel="noreferrer" target="_blank">askell.org</a>%2fcgi-bin%2fmailman%2flistinfo%2fghc-<br>
|  devs&data=01%7c01%7csimonpj%<a href="http://40064d.mgd.microsoft.com" rel="noreferrer" target="_blank">40064d.mgd.microsoft.com</a>%7c5be115baccfd40d<br>
|  0352a08d3a20c257d%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=ZJFHPuP<br>
|  zkPfac4Upu3w6r4bSawNwxbV4p%2fr%2f69vqh2o%3d<br>
</blockquote></div><br></div>