[GHC] #11290: T6031: *** Core Lint errors : in result of Common sub-expression ***

GHC ghc-devs at haskell.org
Sat Dec 26 13:52:10 UTC 2015


#11290: T6031: *** Core Lint errors : in result of Common sub-expression ***
-------------------------------------+-------------------------------------
           Reporter:  thomie         |             Owner:
               Type:  bug            |            Status:  new
           Priority:  highest        |         Milestone:  8.0.1
          Component:  Compiler       |           Version:  7.11
           Keywords:                 |  Operating System:  Unknown/Multiple
       Architecture:                 |   Type of failure:  None/Unknown
  Unknown/Multiple                   |
          Test Case:                 |        Blocked By:
  deriving/should_compile/T6031      |
           Blocking:                 |   Related Tickets:
Differential Rev(s):                 |         Wiki Page:
-------------------------------------+-------------------------------------
 {{{
 $ make test TEST=T6031 WAY=optasm TEST_HC=ghc-7.11.20151225
 ...
 =====> T6031(optasm) 1 of 1 [0, 0, 0]
 cd ./deriving/should_compile &&  "/opt/ghc/head/bin/ghc-head" --make
 T6031 -fforce-recomp -dcore-lint -dcmm-lint -dno-debug-output -no-user-
 package-db -rtsopts -fno-warn-tabs -fno-warn-missed-specialisations -fno-
 ghci-history  -O -fasm -v0 > T6031.comp.stderr 2>&1
 Compile failed (status 256) errors were:
 *** Core Lint errors : in result of Common sub-expression ***
 <no location info>: warning:
     [in body of lambda with binder x_aSX :: Empty]
     No alternatives for a case scrutinee not known to diverge for sure:
 lvl_sUb
 *** Offending Program ***
 lvl_sTZ :: [Char]
 [LclId, Str=DmdType]
 lvl_sTZ = unpackCString# "error"#

 lvl_sU0 :: [Char]
 [LclId, Str=DmdType]
 lvl_sU0 = unpackCString# "main"#

 lvl_sU1 :: [Char]
 [LclId, Str=DmdType]
 lvl_sU1 = unpackCString# "T6031"#

 lvl_sU2 :: [Char]
 [LclId, Str=DmdType]
 lvl_sU2 = unpackCString# "T6031.hs"#

 lvl_sU3 :: Int
 [LclId, Str=DmdType]
 lvl_sU3 = I# 7#

 lvl_sU4 :: Int
 [LclId, Str=DmdType]
 lvl_sU4 = I# 1#

 lvl_sU5 :: Int
 [LclId, Str=DmdType]
 lvl_sU5 = lvl_sU3

 lvl_sU6 :: Int
 [LclId, Str=DmdType]
 lvl_sU6 = I# 29#

 lvl_sU7 :: SrcLoc
 [LclId, Str=DmdType]
 lvl_sU7 =
   SrcLoc lvl_sU0 lvl_sU1 lvl_sU2 lvl_sU3 lvl_sU4 lvl_sU3 lvl_sU6

 lvl_sU8 :: ([Char], SrcLoc)
 [LclId, Str=DmdType]
 lvl_sU8 = (lvl_sTZ, lvl_sU7)

 lvl_sU9 :: CallStack
 [LclId, Str=DmdType]
 lvl_sU9 = PushCallStack lvl_sU8 EmptyCallStack

 lvl_sUa :: [Char]
 [LclId, Str=DmdType]
 lvl_sUa = unpackCString# "Void showsPrec"#

 $cshowsPrec_aQD :: Int -> Empty -> ShowS
 [LclId, Str=DmdType b]
 $cshowsPrec_aQD =
   error
     @ 'Lifted
     @ (Int -> Empty -> ShowS)
     (lvl_sU9
      `cast` (Sym (NTCo:IP[0] <"callStack">_N <CallStack>_N)
              :: CallStack ~R# (?callStack::CallStack)))
     lvl_sUa

 lvl_sUb :: Empty -> ShowS
 [LclId, Str=DmdType]
 lvl_sUb = case $cshowsPrec_aQD of wild_00 { }

 $cshowList_aQR :: [Empty] -> ShowS
 [LclId, Arity=2, Str=DmdType]
 $cshowList_aQR = showList__ @ Empty lvl_sUb

 $cshow_aQN :: Empty -> String
 [LclId,
  Arity=1,
  Str=DmdType <B,A>b,
  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=1,unsat_ok=True,boring_ok=False)
          Tmpl= \ _ [Occ=Dead] -> case $cshowsPrec_aQD of _ [Occ=Dead] {
 }}]
 $cshow_aQN = \ _ [Occ=Dead] -> case $cshowsPrec_aQD of wild_00 { }

 $fShowEmpty [InlPrag=[ALWAYS] CONLIKE] :: Show Empty
 [LclIdX[DFunId],
  Str=DmdType m,
  Unf=DFun: \ ->
        D:Show TYPE: Empty $cshowsPrec_aQD $cshow_aQN $cshowList_aQR]
 $fShowEmpty =
   D:Show @ Empty $cshowsPrec_aQD $cshow_aQN $cshowList_aQR

 $sshows_sTu :: Empty -> String -> String
 [LclId,
  Str=DmdType b,
  Unf=Unf{Src=InlineStable, TopLvl=True, Value=False, ConLike=False,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=0,unsat_ok=True,boring_ok=False)
          Tmpl= case $cshowsPrec_aQD of _ [Occ=Dead] { }}]
 $sshows_sTu = lvl_sUb

 $s$dmshow_sTv :: Empty -> String
 [LclId,
  Arity=1,
  Str=DmdType <B,A>b,
  Unf=Unf{Src=InlineStable, TopLvl=True, Value=True, ConLike=True,
          WorkFree=True, Expandable=True,
          Guidance=ALWAYS_IF(arity=-1,unsat_ok=True,boring_ok=False)
          Tmpl= \ _ [Occ=Dead] -> case lvl_sUb of _ [Occ=Dead] { }}]
 $s$dmshow_sTv = $cshow_aQN

 a_sT8 :: TrName
 [LclId, Str=DmdType m1]
 a_sT8 = TrNameS "main"#

 a_sT9 :: TrName
 [LclId, Str=DmdType m1]
 a_sT9 = TrNameS "T6031"#

 $trModule :: Module
 [LclIdX[ReflectionId], Str=DmdType m]
 $trModule = Module a_sT8 a_sT9

 *** End of Offense ***


 <no location info>: error:
 Compilation had errors



 *** unexpected failure for T6031(optasm)

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


More information about the ghc-tickets mailing list