- 17 Feb, 2014 6 commits
-
-
Sergei Trofimovich authored
Disable -O2 optimization. Otherwise amount of generated C code makes things very slow to compile (~5 minutes on core-i7 for 'compiler/hsSyn/HsExpr.lhs') And sometimes not compile at all (powerpc64 overflows something on 'compiler/hsSyn/HsExpr.lhs'). Issue #8748 Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Sergei Trofimovich authored
Issue #8748 Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Sergei Trofimovich authored
This fixes most of implicit function declarations emitted C codegen in UNREG mode. Found by adding the following to mk/build.mk: SRC_CC_OPTS += -Werror=implicit-function-declaration SRC_HC_OPTS += -optc-Werror=implicit-function-declaration Issue #8748 Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Sergei Trofimovich authored
UNREG mode has quite nasty invariant to maintain: capabilities[0] == &MainCapability and it's a non-heap memory, while other capabilities are dynamically allocated. Issue #8748 Signed-off-by:
Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Sergei Trofimovich authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Sergei Trofimovich authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
- 13 Feb, 2014 8 commits
-
-
eir@cis.upenn.edu authored
To make a role annotation on a class asserting a role other than nominal, you now need -XIncoherentInstances. See the ticket for more information as to why this is a good idea.
-
eir@cis.upenn.edu authored
-
jkarni authored
Which on OS X leaves macro unexpanded.
-
Gabor Greif authored
-
Joachim Breitner authored
-
Joachim Breitner authored
-
Joachim Breitner authored
-
-
- 11 Feb, 2014 8 commits
-
-
Joachim Breitner authored
It validates and nofib shows no change, so possibly dead code. Removing in the interest of code cleanliness, someone disagrees please revert (and preferably add a testcase, or at least describe the situation this is important in in a Note).
-
Joachim Breitner authored
-
Joachim Breitner authored
when matching a lambda in the template against an expression. When matching, look through coercions (only for value lambdas for now), and look through currently active unfoldings, if these are undersaturated, i.e. produce a lambda. This replaces the existing, somewhat fishy eta-expansion.
-
Joachim Breitner authored
(This tests #2110.)
-
Joachim Breitner authored
-
Joachim Breitner authored
such as that of coerce.
-
Joachim Breitner authored
just like boxed type equalities.
-
Joachim Breitner authored
we want a rule "map coerce = coerce" to match the core generated for "map Age" (this is #2110).
-
- 10 Feb, 2014 5 commits
-
-
Joachim Breitner authored
-
Joachim Breitner authored
Some nice improvements on already succeeding test cases (#876, #7954 and #4267) Test #149 needed a little change, lest call arity causes a allocation change that we do not want to test here.
-
Joachim Breitner authored
This also sets precedence for testing internals of GHC directly, i.e. without trying to come up with Haskell code and observable effects. Let's see how that goes. I put all the tests (including those where the analysis could do better) in one file because starting the GHC API is quite slow.
-
Joachim Breitner authored
This analysis finds out if a let-bound expression with lower manifest arity than type arity is always called with more arguments, as in that case eta-expansion is allowed and often viable. The analysis is very much tailored towards the code generated when foldl is implemented via foldr; without this analysis doing so would be a very bad idea! There are other ways to improve foldr/builder-fusion to cope with foldl, if any of these are implemented then this step can probably be moved to -O2 to save some compilation times. The current impact of adding this phase is just below +2% (measured running GHC's "make").
-
eir@cis.upenn.edu authored
-
- 09 Feb, 2014 12 commits
-
-
Signed-off-by:
Richard Eisenberg <eir@cis.upenn.edu>
-
Signed-off-by:
Richard Eisenberg <eir@cis.upenn.edu>
-
eir@cis.upenn.edu authored
We should still have pattern synonyms in TH, though.
-
eir@cis.upenn.edu authored
-
eir@cis.upenn.edu authored
-
eir@cis.upenn.edu authored
-
eir@cis.upenn.edu authored
-
Herbert Valerio Riedel authored
These files are created during `./configure` and therefore by convention are expected to be removed by `make distclean`. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Herbert Valerio Riedel authored
This was causing `utils/ghctags/dist-install` to not get removed on `make clean` as `Stage1Only` was unset. So testing for `!= YES` is less fragile than testing for `== NO` in this case. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Gergő Érdi authored
-
Gergő Érdi authored
This also fixes the internal crash when using pattern synonyms in GHCi (#8749)
-
eir@cis.upenn.edu authored
This patch allows turning on ImpredicativeTypes while type-checking the code generated by GeneralizedNewtypeDeriving. It does this by adding a field ib_extensions to InstBindings, informing the type-checker what extensions should be enabled while type-checking the instance.
-
- 08 Feb, 2014 1 commit
-
-
Joachim Breitner authored
-