| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
|
|
|
|
| |
involving type synonyms. Test case is typecheck/should_compile/GivenTypeSynonym.hs
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: David Terei <davidterei@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: David Terei <davidterei@gmail.com>
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|/
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
| |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|
|
|
|
|
|
|
|
|
| |
Unfortunately, I couldn't remove all incidences of runCmmContFlowOpt
from HscMain; in particular, there is a Cmm conversion testing
facility which may run with only control flow optimizations, which
I preserved the semantics of. Given the state of the current
codegen, this code might be moribund anyway.
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
|\ |
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The following patches were ported:
d0faaa6 Fix segfault in array copy primops on 32-bit
18691d4 Make assignTemp_ less pessimistic
9c23f06 Make array copy primops inline
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
| |
| |
| | |
Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Module imports form a cycle:
module `Foo4' imports `Foo'
which imports `Foo2'
which imports `Foo3'
which imports `Foo4'
as requested by Bryan Richter
|
|\ \
| |/ |
|
| |\ |
|
| | | |
|
| | |
| | |
| | |
| | | |
toplevel variable 'f'.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Specifically
- Turn the error
"You cannot SPECIALISE f because it is not INLINEABLE"
into a warning
- More importantly, suppress it altogether when
HscTarget = HscNothing or HscInterpreted
because then we aren't going to be generating unfoldings
|
| |
| |
| |
| | |
The change to the packages file format broke it
|
| |
| |
| |
| |
| | |
We were getting
InstallExtraPackages="YES "
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
We no longer pull directly from upstream repos, so it wasn't useful
to have it programatically available. The info, and more, is now on
http://hackage.haskell.org/trac/ghc/wiki/Commentary/Libraries#Repositorylocations
instead.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It doesn't make sense to specialise class methods -- their
code is simply a record selector. Moreover, such methods
don't (currently) have an inl_sat field in their InlinePragma
which made DsBinds.makeCoreArity bleat.
This patch just ignores such pragmas, with a warning.
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Template Haskell doesn't support GADTs directly but
we can use equality constraints to do the job. Here's
an example of the dump from splicing such a declaration:
[d| data T a b
where
T1 :: Int -> T Int Char
T2 :: a -> T a a
T3 :: a -> T [a] a
T4 :: a -> b -> T b [a] |]
======>
T5217.hs:(6,3)-(9,53)
data T a[aQW] b[aQX]
= (b[aQX] ~ Char, a[aQW] ~ Int) => T1 Int |
b[aQX] ~ a[aQW] => T2 a[aQW] |
a[aQW] ~ [b[aQX]] => T3 b[aQX] |
forall a[aQY]. b[aQX] ~ [a[aQY]] => T4 a[aQY] a[aQW]
|
|
|
|
|
|
|
| |
The point here is that if a data type chooses a representation that
unpacks an argument field, the representation of the argument field
must be visible to clients. And it may not be if OmitInterfacePragmas
is on.
|
| |
|
| |
|
|
|
|
| |
Otherwise Haddock (which compiles stuff without -O) falls over
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The issue here was: what import declaration brings into
scope the 'op here
import qualified Foo( op )
import Bar( C(op) )
instance C Int where
op = ...
Well, the import of Bar, obviously. But what if the
import Bar had been
import Bar( C )
Then the instance is still supposed to work, getting
op from the Foo.op imported from Foo. (I'm assuming its
the same op, of course.)
|
|
|
|
|
|
|
|
|
|
| |
We have to do this until the earliest bootstrap compiler
has fixed #5252. It's no big deal; it just means that
SrcLoc.hi has lots of stuff even when compiling GHC without -O.
Lacking this, you get
(GHC version 7.0.3 for i386-unknown-mingw32):
reboxProduct: not a product ghc-7.1:SrcLoc.RealSrcLoc{tc r8J}
|
|\ |
|
| |\ |
|
| | |
| | |
| | |
| | | |
analysis (right after desugaring).
|
| | |
| | |
| | |
| | | |
It was only working when followed by something, e.g. "$topdir/base".
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The "Unhelpful" cases are now in a separate type. This allows us to
improve various things, e.g.:
* Most of the panic's in SrcLoc are now gone
* The Lexer now works with RealSrcSpans rather than SrcSpans, i.e. it
knows that it has real locations and thus can assume that the line
number etc really exists
* Some of the more suspicious cases are no longer necessary, e.g.
we no longer need this case in advanceSrcLoc:
advanceSrcLoc loc _ = loc -- Better than nothing
More improvements can probably be made, e.g. tick locations can
probably use RealSrcSpans too.
|
| | | |
|
| |/
| |
| |
| |
| | |
I'd naively assumed that the haddock-html field would only use the
$httptopdir variable. Hopefully this will fix the windows build.
|
| |
| |
| |
| |
| | |
The general rule is now that we don't complain about
a duplicate export from a "...". See RnNames.dupExport_ok
|
| |
| |
| |
| |
| | |
The new monad comprehension stuff introduce LastStmt,
and DsMeta must convert that to TH syntax
|
|/
|
|
| |
...all to do with the new codgen path
|