| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
This is done by a 'unarisation' pre-pass at the STG level which
translates away all (live) binders binding something of unboxed
tuple type.
This has the following knock-on effects:
* The subkind hierarchy is vastly simplified (no UbxTupleKind or ArgKind)
* Various relaxed type checks in typechecker, 'foreign import prim' etc
* All case binders may be live at the Core level
|
|
|
|
|
|
|
| |
This patch enhances Platform's ArchARM to include ARM ABI value. It also
tweaks configure machinery to detect hard-float ABI and to set it wherever
needed. Finally when hard-float ABI is in use, pass appropriate compiler
option to the LLVM's llc. Fixes #5914.
|
|
|
|
|
|
| |
This is a partial fix for #2786. It seems we still don't get
NonTermination exceptions for interpreted computations, but we do now
get the BlockedIndefinitely family.
|
| |
|
|
|
|
|
|
|
|
|
| |
A Forest is just a list, and we have a Show instance for
lists already. We don't need a special Show instance for
Forests. If we change our minds we can add a newtype,
but I don't think it's worth it.
Fixes Trac #5960
|
|\ |
|
| | |
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
compiler/coreSyn/CoreLint.lhs
compiler/deSugar/DsBinds.lhs
compiler/hsSyn/HsTypes.lhs
compiler/iface/IfaceType.lhs
compiler/rename/RnHsSyn.lhs
compiler/rename/RnTypes.lhs
compiler/stgSyn/StgLint.lhs
compiler/typecheck/TcHsType.lhs
compiler/utils/ListSetOps.lhs
|
| | |
|
| |
| |
| |
| | |
(Roman wanted this.)
|
| | |
|
| |
| |
| |
| |
| |
| | |
createDirectoryHierarchy consisted of an existence test followed by
createDirectory, which failed if that directory was creted just after
the test. createDirectoryifMissing does not have this problem.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
including (a) centralising Outputable.paBrackets
(b) printing the quote on promoted TyCon/DataCon
|
|\ \
| |/
| |
| |
| | |
Conflicts:
compiler/coreSyn/CoreLint.lhs
|
| | |
|
|\ \
| |/
| |
| |
| | |
Conflicts:
compiler/typecheck/TcEvidence.lhs
|
| |
| |
| |
| |
| |
| |
| |
| | |
This patch defines a flag -fno-warn-pointless-pragmas, and uses it to
disable some warnings in the containers package.
Along the way, also made a ContainsDynFlags class, and added a
HasDynFlags instance for IOEnv (and thus TcRnIf and DsM).
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| | |
Fixes: #5733
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Another portabilty regression: before Platform we used to use elf_OBJ_FORMAT:
#if linux_TARGET_OS || freebsd_TARGET_OS || openbsd_TARGET_OS || solaris2_TARGET_OS
#define elf_OBJ_FORMAT 1
#endif
which defaults to undefined on unknown platforms. Defaulting to
non-ELF is correct, it just means that we won't rely on ELF-specific
functionality. I've added a comment to explain that.
|
| |
| |
| |
| |
| | |
Now target32bit works for all targets without any manual intervention,
as it should do. #5735 was a portability regression.
|
|\ \
| |/
| |
| |
| |
| | |
Conflicts:
compiler/typecheck/TcCanonical.lhs
compiler/typecheck/TcSMonad.lhs
|
| |
| |
| |
| |
| | |
and add intWithCommas to Outputable for printing
large Int/Integers
|
| | |
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We already have a class OutputableBndr; this patch adds
methods pprInfixOcc and pprPrefixOcc, so that we can get
rid of the hideous hack (the old) Outputable.pprHsVar.
The hack was exposed by Trac #5657, which is thereby fixed.
|
| | | |
|
| |/
|/| |
|
|/ |
|
|
|
|
| |
Patch from Michal Terepeta <michal.terepeta@gmail.com>
|
|
|
|
| |
.ident directives are usually ignored by as(1), and in some cases (like Darwin/PPC) they even raise an error.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I tried this out on the panic we're currently getting for #3103:
ghc-stage2: panic! (the 'impossible' happened)
(GHC version 7.3.20111128 for x86_64-unknown-linux):
tcIfaceGlobal (local): not found:
base:GHC.Word.W#{d 6w}
[(32R, Type constructor `base:GHC.Word.Word{tc 32R}'),
(r6O, Identifier `base:GHC.Word.$fNumWord{v r6O}'),
(r6P, Identifier `base:GHC.Word.$fEqWord{v r6P}'),
(r6Q, Identifier `base:GHC.Word.$fNumWord1{v r6Q}'),
(r6R, Identifier `base:GHC.Word.$fNumWord2{v r6R}'),
(r6S, Data constructor `base:GHC.Word.W#{d r6S}'),
(r6U, Identifier `base:GHC.Word.W#{v r6U}'),
(r75, Identifier `base:GHC.Word.$fNumWord_$csignum{v r75}'),
(r76, Identifier `base:GHC.Word.$fEqWord_$c/={v r76}'),
(r77, Identifier `base:GHC.Word.$fEqWord_$c=={v r77}')]
{ Main.main
GHC.defaultErrorHandler
GHC.runGhc
GhcMonad.>>=
GhcMonad.>>=.\
Main.main'
Main.doMake
GhcMake.load
GhcMake.load2
GhcMake.upsweep
GhcMake.upsweep.upsweep'
GhcMake.reTypecheckLoop
GhcMake.typecheckLoop
GhcMake.typecheckLoop.\
TcRnMonad.initIfaceCheck
TcRnMonad.initTcRnIf
IOEnv.runIOEnv
IOEnv.thenM
IOEnv.thenM.\
TcIface.typecheckIface
TcIface.typecheckIface.\
LoadIface.loadDecls
LoadIface.loadDecl
TcIface.tcIfaceDecl
TcIface.tc_iface_decl
TcIface.tcIdInfo
MonadUtils.foldlM
TcIface.tcIdInfo.tcPrag
TcIface.tcUnfolding
TcIface.tcPragExpr
TcIface.tcIfaceExpr
TcIface.tcIfaceAlt
TcIface.tcIfaceDataCon }
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
0) Typo in panic message.
1) prioritization of equalities over family equalities in the worklists.
2) rewriting of inert substitutions and solveds on-the-spot instead of
kicking them out in the inerts. This required a monadic map over
substitutions hence the modifications in UniqFM.
3) Just comments and removing stale commented code.
4) Useful SCC for simplifyInfer.
5) Making CoreStats outputable.
|
|
|
|
|
| |
Based on a patch from Arnaud Degroote <degroote@NetBSD.org> in
trac #5480.
|
|
|
|
| |
hppa1, m68k
|
| |
|
|
|
|
|
|
|
|
|
| |
This big patch implements a kind-polymorphic core for GHC. The current
implementation focuses on making sure that all kind-monomorphic programs still
work in the new core; it is not yet guaranteed that kind-polymorphic programs
(using the new -XPolyKinds flag) will work.
For more information, see http://haskell.org/haskellwiki/GHC/Kinds
|
| |
|
| |
|
| |
|
|
|
|
|
| |
We only use it for "compiler" sources, i.e. not for libraries.
Many modules have a -fno-warn-tabs kludge for now.
|
| |
|
|
|
|
|
|
| |
We used to have a hack for Foreign.C.Types and System.Posix.Types,
but I've removed that now. We also mark any constructors that we look
through as "used", so that we don't get warnings about unused imports.
|