
#14541: Stg lint failure while building ghc-stage2:
compiler/stage2/build/Hoopl/Block.o
-------------------------------------+-------------------------------------
Reporter: duog | Owner: (none)
Type: bug | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 8.3
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
With the tree at: https://github.com/duog/ghc/tree/trac-14536
Which fixes ticket:14536
With build.mk:
{{{
BuildFlavour = validate
ifneq "$(BuildFlavour)" ""
include mk/flavours/$(BuildFlavour).mk
endif
GhcStage2HcOpts += -dcore-lint -dstg-lint -dcmm-lint
}}}
building with:
{{{
make compiler/stage2/build/Hoopl/Blocks.o
}}}
I get the following Stg lint error (extracts, full dump attached):
{{{
<no location info>: warning:
[in body of lambda with binders ds_s4dH :: a_a3as -> b_a3at,
ds1_s4dI :: MaybeO ex_a3ao a_a3as]
In some algebraic case alternative, number of arguments doesn't
match constructor:
JustO (arity 2)
[a1_s4dK]
}}}
...
{{{
$fFunctorMaybeO_$cfmap
:: forall ex a b. (a -> b) -> MaybeO ex a -> MaybeO ex b
[GblId,
Arity=2,
Caf=NoCafRefs,
Str=,
Unf=OtherCon []] =
[] \r [ds_s4dH ds1_s4dI]
case ds1_s4dI of {
JustO a1_s4dK [Occ=Once] ->
let {
sat_s4dL [Occ=Once] :: b_a3at
[LclId] =
[ds_s4dH a1_s4dK] \u [] ds_s4dH a1_s4dK;
} in JustO [sat_s4dL];
NothingO -> $WNothingO;
};
}}}
--
Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/14541
GHC http://www.haskell.org/ghc/
The Glasgow Haskell Compiler