[GHC] #9275: Missing import statement in GHC.Event.Poll

GHC ghc-devs at haskell.org
Sun Jul 6 18:47:31 UTC 2014


#9275: Missing import statement in GHC.Event.Poll
----------------------------------------+----------------------------------
        Reporter:  ydewit               |            Owner:
            Type:  bug                  |           Status:  new
        Priority:  normal               |        Milestone:
       Component:  libraries/base       |          Version:  7.8.2
      Resolution:                       |         Keywords:
Operating System:  MacOS X              |     Architecture:
 Type of failure:  Building GHC failed  |  Unknown/Multiple
       Test Case:                       |       Difficulty:  Unknown
        Blocking:                       |       Blocked By:
                                        |  Related Tickets:
----------------------------------------+----------------------------------
Description changed by ydewit:

Old description:

> See the following section from base's GHC.Event.Poll module:
> {{{
> module GHC.Event.Poll
>     (
>       new
>     , available
>     ) where
>
> #include "EventConfig.h"
>
> #if !defined(HAVE_POLL_H)
> import GHC.Base
>
> new :: IO E.Backend
> new = error "Poll back end not implemented for this platform"
>
> available :: Bool
> available = False
> {-# INLINE available #-}
> #else
> #include <poll.h>
>
> import Control.Concurrent.MVar (MVar, newMVar, swapMVar)
> import Control.Monad ((=<<), liftM, liftM2, unless)
> import Data.Bits (Bits, FiniteBits, (.|.), (.&.))
> import Data.Maybe (Maybe(..))
> import Data.Monoid (Monoid(..))
> import Data.Word
> import Foreign.C.Types (CInt(..), CShort(..))
> import Foreign.Ptr (Ptr)
> import Foreign.Storable (Storable(..))
> import GHC.Base
> import GHC.Conc.Sync (withMVar)
> import GHC.Enum (maxBound)
> import GHC.Num (Num(..))
> import GHC.Real (ceiling, fromIntegral)
> import GHC.Show (Show)
> import System.Posix.Types (Fd(..))
>
> import qualified GHC.Event.Array as A
> import qualified GHC.Event.Internal as E
> }}}
>
> Note how there is a missing {{{import qualified GHC.Event.Internal as
> E}}}  when {{{HAVE_POLL_H}}} is not defined.
>
> The same issue is present in master.

New description:

 See the following section from base's GHC.Event.Poll module:
 {{{
 module GHC.Event.Poll
     (
       new
     , available
     ) where

 #include "EventConfig.h"

 #if !defined(HAVE_POLL_H)
 import GHC.Base

 new :: IO E.Backend
 new = error "Poll back end not implemented for this platform"

 available :: Bool
 available = False
 {-# INLINE available #-}
 #else
 #include <poll.h>

 import Control.Concurrent.MVar (MVar, newMVar, swapMVar)
 import Control.Monad ((=<<), liftM, liftM2, unless)
 import Data.Bits (Bits, FiniteBits, (.|.), (.&.))
 import Data.Maybe (Maybe(..))
 import Data.Monoid (Monoid(..))
 import Data.Word
 import Foreign.C.Types (CInt(..), CShort(..))
 import Foreign.Ptr (Ptr)
 import Foreign.Storable (Storable(..))
 import GHC.Base
 import GHC.Conc.Sync (withMVar)
 import GHC.Enum (maxBound)
 import GHC.Num (Num(..))
 import GHC.Real (ceiling, fromIntegral)
 import GHC.Show (Show)
 import System.Posix.Types (Fd(..))

 import qualified GHC.Event.Array as A
 import qualified GHC.Event.Internal as E
 }}}

 Note how there is a missing {{{import qualified GHC.Event.Internal as E}}}
 when {{{HAVE_POLL_H}}} is not defined.

 The same issue is present in master.

 This is the error seen (note this is a custom haste build):
 {{{
 Building base-4.7.0.0...
 Preprocessing library base-4.7.0.0...
 hastec: setNumCapabilities: not supported in the non-threaded RTS

 GHC/Event/Poll.hsc:18:11:
     Not in scope: type constructor or class ‘E.Backend’
 }}}

--

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


More information about the ghc-tickets mailing list