Fix Trac #3966: warn about useless UNPACK pragmas
authorsimonpj@microsoft.com <unknown>
Thu, 6 May 2010 16:33:37 +0000 (16:33 +0000)
committersimonpj@microsoft.com <unknown>
Thu, 6 May 2010 16:33:37 +0000 (16:33 +0000)
commit215ce9f15215399ce30ae55c9521087847d78646
treea5af9fd4f244f76176d4c597b8a0f0c53b21cb12
parentb2d9ef8482638a91e68acdd19ecfe24db0458049
Fix Trac #3966: warn about useless UNPACK pragmas

Warning about useless UNPACK pragmas wasn't as easy as I thought.
I did quite a bit of refactoring, which improved the code by refining
the types somewhat.  In particular notice that in DataCon, we have

    dcStrictMarks   :: [HsBang]
    dcRepStrictness :: [StrictnessMarks]

The former relates to the *source-code* annotation, the latter to
GHC's representation choice.
15 files changed:
compiler/basicTypes/BasicTypes.lhs
compiler/basicTypes/DataCon.lhs
compiler/basicTypes/MkId.lhs
compiler/hsSyn/HsTypes.lhs
compiler/iface/BinIface.hs
compiler/iface/BuildTyCl.lhs
compiler/iface/IfaceSyn.lhs
compiler/iface/MkIface.lhs
compiler/main/PprTyThing.hs
compiler/parser/Parser.y.pp
compiler/prelude/TysWiredIn.lhs
compiler/typecheck/TcExpr.lhs
compiler/typecheck/TcSplice.lhs
compiler/typecheck/TcTyClsDecls.lhs
compiler/vectorise/VectType.hs