[GHC] #9945: export list for System.Posix.Internals breaking the build on Windows

GHC ghc-devs at haskell.org
Wed Dec 31 16:41:45 UTC 2014


#9945: export list for System.Posix.Internals breaking the build on Windows
-------------------------------------+-------------------------------------
        Reporter:  MartinF           |                   Owner:  MartinF
            Type:  bug               |                  Status:  new
        Priority:  normal            |               Milestone:
       Component:  Compiler          |                 Version:  7.11
      Resolution:                    |                Keywords:
Operating System:  Windows           |            Architecture:
 Type of failure:  Building GHC      |  Unknown/Multiple
  failed                             |               Test Case:
      Blocked By:                    |                Blocking:
 Related Tickets:  #9852             |  Differential Revisions:
-------------------------------------+-------------------------------------

Comment (by MartinF):

 Good call, I'll check while I'm at it.

 I've already discovered `is_console` was missing from the export list
 entirely, but CPP-conditionally used in `GHC.IO.FD.isTerminal`:

 {{{#!hs
 isTerminal :: FD -> IO Bool
 isTerminal fd =
 #if defined(mingw32_HOST_OS)
     if fdIsSocket fd then return False
                      else is_console (fdFD fd) >>= return.toBool
 #else
     c_isatty (fdFD fd) >>= return.toBool
 #endif
 }}}

 I note it's used there `#if defined(mingw32_HOST_OS)`, but its definition
 in `System.Posix.Internals` is `#if !defined(HTYPE_TCFLAG_T)` - that
 doesn't seem right, but I don't know enough about what those constants
 mean to say what should be done about it (if anything).

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9945#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list