summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix #8754 in a round-about way.Austin Seipp2014-02-171-0/+4
| | | | | | | | | | | | | For some reason on OS X, it seems like -Bsymbolic (which we use for hooks into the RTS) isn't working, which results in #8754, where stats don't work because defaultHooks doesn't initialize the stats flag. This seems to work on Linux static/dynamically, but only on OS X statically. After talking with Simon, really, the entire hooks thing is a bit fragile. For now, we just work around it (since GHCi is dynamically linked) by calling into the defaultHooks ourselves when GHC starts. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix check for TLS support in Storage.cAustin Seipp2014-02-171-2/+2
| | | | | | | This should have manifested earlier, but for some reason it only seemed to trigger on Mavericks. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix installation of hpc (#8735)Austin Seipp2014-02-172-0/+5
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* mk/config.mk.in: lower -O2 optimization down to -O1 on UNREGSergei Trofimovich2014-02-171-0/+10
| | | | | | | | | | | | | 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>
* rts/package.conf.in: fix UNREG on --with-system-libffi when include-dir is ↵Sergei Trofimovich2014-02-171-2/+2
| | | | | | | | | passed explicitely Issue #8748 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> Signed-off-by: Austin Seipp <austin@well-typed.com>
* includes/Stg.h: add declarations for hs_popcnt and frindsSergei Trofimovich2014-02-172-0/+40
| | | | | | | | | | | | | | 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>
* rts/Capability.c: fix crash in -threaded mode on UNREG buildSergei Trofimovich2014-02-171-9/+13
| | | | | | | | | | | | | 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>
* Fix --enable-unregistered by declaring missing RTS functions (#8748)Sergei Trofimovich2014-02-171-0/+2
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix --enable-unregistered by passing NOSMP to .hc compiler (#8748)Sergei Trofimovich2014-02-171-0/+5
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix #8773.Richard Eisenberg2014-02-139-10/+49
| | | | | | 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.
* Fix #5682. Now, '(:) parses.Richard Eisenberg2014-02-133-0/+15
|
* Remove space after ASSERT.Julian K. Arni2014-02-131-1/+1
| | | | Which on OS X leaves macro unexpanded.
* Fix some typos in commentsGabor Greif2014-02-132-4/+4
|
* Fix Manual hlinting patchJoachim Breitner2014-02-131-2/+2
|
* Manual hlinting: or (map f) = any fJoachim Breitner2014-02-132-3/+3
|
* Link to #minimal-pragma from release notesJoachim Breitner2014-02-131-0/+1
|
* Cleaned up Maybes.lhsBaldur Blöndal2014-02-1319-68/+42
|
* Remove eta-expansion in Rules.matchJoachim Breitner2014-02-111-8/+0
| | | | | | | 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).
* Test case: Looking through unfoldings when matching lambdasJoachim Breitner2014-02-113-0/+44
|
* Use exprIsLambda_maybe in matchJoachim Breitner2014-02-113-37/+86
| | | | | | | | | 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.
* Test case for RULE map coerce = coerceJoachim Breitner2014-02-113-0/+32
| | | | (This tests #2110.)
* Add Case TyConAppCo to match_coJoachim Breitner2014-02-111-3/+22
|
* In simpleOptExpr, unfold compulsary unfoldingsJoachim Breitner2014-02-111-0/+11
| | | | such as that of coerce.
* In CoreSubst, optimize Coercible values aggressivelyJoachim Breitner2014-02-113-7/+8
| | | | just like boxed type equalities.
* Replace forall'ed Coercible by ~R# in RULESJoachim Breitner2014-02-113-6/+54
| | | | | we want a rule "map coerce = coerce" to match the core generated for "map Age" (this is #2110).
* Note [Eta expansion in match]Joachim Breitner2014-02-101-0/+19
|
* Update test cases due to call arityJoachim Breitner2014-02-106-20/+19
| | | | | | | | 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.
* Add a unit test for CallArityJoachim Breitner2014-02-105-0/+203
| | | | | | | | | 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.
* Implement CallArity analysisJoachim Breitner2014-02-1010-11/+509
| | | | | | | | | | | | | 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").
* Refactor previous commit on fixing #7021.Richard Eisenberg2014-02-094-50/+24
|
* Fix tests due to issue #7021YoEight2014-02-093-2/+40
| | | | Signed-off-by: Richard Eisenberg <eir@cis.upenn.edu>
* Apply changes relative to TH.Pred becoming a TH.Type's synonym (issue #7021)YoEight2014-02-093-49/+61
| | | | Signed-off-by: Richard Eisenberg <eir@cis.upenn.edu>
* Fix #8759 by not panicking with TH and patsyns.Richard Eisenberg2014-02-097-1/+29
| | | | We should still have pattern synonyms in TH, though.
* Test #7481, which had already been fixed.Richard Eisenberg2014-02-093-0/+17
|
* Test #6147, which was fixed with the roles commit.Richard Eisenberg2014-02-093-0/+25
|
* Fix #8758 by assuming RankNTypes when checking GND code.Richard Eisenberg2014-02-094-2/+21
|
* Move test case for #8631 to the correct directory.Richard Eisenberg2014-02-093-1/+2
|
* Let `make distclean` remove `/{ch01,ch02,index}.html`Herbert Valerio Riedel2014-02-091-0/+1
| | | | | | | 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>
* double-negate test for Stage1Only to fix `make clean`Herbert Valerio Riedel2014-02-091-3/+3
| | | | | | | | 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>
* Add test suite for #8757Dr. ERDI Gergo2014-02-092-0/+11
|
* Issue an error for pattern synonyms defined in a local scope (#8757)Dr. ERDI Gergo2014-02-093-1/+14
| | | | | This also fixes the internal crash when using pattern synonyms in GHCi (#8749)
* Fix #8631.Richard Eisenberg2014-02-086-7/+46
| | | | | | | | 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.
* T8256 needs vectorJoachim Breitner2014-02-081-1/+1
|
* Fix #8706, documenting that type operators are not promoted.Richard Eisenberg2014-02-071-0/+12
|
* In deepSplitCprType_maybe, be more forgivingJoachim Breitner2014-02-072-2/+4
| | | | | | the ConTag may be out of range (e.g. if the type constructor is imported via SOURCE and we don't know any of its data constructors); just return Nothing without complaining in that case. This fixes #8743.
* Add test case for #8743Joachim Breitner2014-02-073-0/+16
| | | | | which only occurs when the instance being compiled is also present from a .hs-boot file.
* Fix some Python brainos in testlib (except e is not valid form).Edward Z. Yang2014-02-061-2/+2
| | | | Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
* Remove ios_HOST check for GCTDecl.hAustin Seipp2014-02-061-1/+1
| | | | | | | Following 298a25bdf and #8722 as Peter mentioned, this probably isn't needed anymore. Signed-off-by: Austin Seipp <austin@well-typed.com>
* Fix __thread detection (#8722)Peter Trommler2014-02-061-2/+2
| | | | Signed-off-by: Austin Seipp <austin@well-typed.com>
* Tweak documentation of monomorphism restrictionKrzysztof Gogolewski2014-02-061-2/+2
| | | | Suggested by Gabor Greif on ghc-devs