Static argument transformation is causing a core-lint failure on GHC.PrimopWrappers
The new SAT transformation is causing this failure in the nightly builds when compiling the ghc-prim
package with -O2 -dcore-lint
:
/64playpen/buildbot/x86_64-linux-head/build/compiler/stage1/ghc-inplace -package-name ghc-prim-0.1 -hide-all-packages -split-objs -i -idist/build -i. -idist/build/autogen -Idist/build -odir dist/build -hidir dist/build -stubdir dist/build -O -package-name ghc-prim -XCPP -XMagicHash -XForeignFunctionInterface -XUnliftedFFITypes -idist/build -H32m -O -O2 -fasm -dcore-lint -fgenerics -c GHC/PrimopWrappers.hs -o dist/build/GHC/PrimopWrappers.o -ohi dist/build/GHC/PrimopWrappers.hi
*** Core Lint Errors: in result of Static argument ***
<no location info>:
[RHS of $sat_s3dL :: (# GHC.Prim.State# d_a15v,
GHC.Prim.MutableArray# d_a15v a_a15u #)]
A variable has unboxed tuple type: $sat_s3dL
Binder's type: (# GHC.Prim.State# d_a15v,
GHC.Prim.MutableArray# d_a15v a_a15u #)
*** Offending Program ***
I will disable SAT for now until this is fixed.
Also, SAT appears to be run directly after the desugarer and before any simplification at all, which is probably suboptimal (e.g. lots of non-recursive functions will be marked as recursive).
Trac metadata
Trac field | Value |
---|---|
Version | 6.8.2 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | high |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | Unknown |
Architecture | Unknown |