ghc.git
5 years agoFix #8801: exclude extra packages from the sdist.
Austin Seipp [Thu, 20 Feb 2014 07:17:57 +0000 (01:17 -0600)] 
Fix #8801: exclude extra packages from the sdist.

This is special cased a little since it's cleaner, and we don't
necessarily want to remove nofib anyway - just the extra packages.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoClear up docs regarding LLVM backend (#8792)
Austin Seipp [Wed, 19 Feb 2014 22:39:50 +0000 (16:39 -0600)] 
Clear up docs regarding LLVM backend (#8792)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoSwitch on -dynamic-too with QuasiQuotes as well.
Austin Seipp [Wed, 19 Feb 2014 12:31:53 +0000 (06:31 -0600)] 
Switch on -dynamic-too with QuasiQuotes as well.

As pointed out by Albert Y. C. Lai on glasgow-haskell-users.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agofix sed expression in build dependencies rules to work well with non-GNU sed (fixes...
Karel Gardas [Tue, 18 Feb 2014 08:22:59 +0000 (09:22 +0100)] 
fix sed expression in build dependencies rules to work well with non-GNU sed (fixes #8764)

The patch is provided by Christian Maeder <Christian.Maeder@dfki.de>

Signed-off-by: Karel Gardas <karel.gardas@centrum.cz>
Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoadd more information about the nature of support of prefetch primops on none x86...
Carter Tazio Schonwald [Thu, 30 Jan 2014 17:27:35 +0000 (12:27 -0500)] 
add more information about the nature of support of prefetch primops on none x86/AMD64 -fasm platforms (and -fvia)
to the 7.8 release notes

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agofix build failure on Solaris 10 due to RANLIB being set to ':' by configure (#8795)
Karel Gardas [Mon, 17 Feb 2014 09:24:05 +0000 (10:24 +0100)] 
fix build failure on Solaris 10 due to RANLIB being set to ':' by configure (#8795)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoadd omitted FP_PROG_AR_SUPPORTS_ATFILE into the distribution configure.ac (fixes...
Karel Gardas [Tue, 18 Feb 2014 08:18:07 +0000 (09:18 +0100)] 
add omitted FP_PROG_AR_SUPPORTS_ATFILE into the distribution configure.ac (fixes #8794)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoUpdate to primitive-0.5.2.1
Herbert Valerio Riedel [Wed, 19 Feb 2014 22:26:30 +0000 (23:26 +0100)] 
Update to primitive-0.5.2.1

This contains a compile-fix for Solaris

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoCall Arity refactoring: fakeBoringCalls
Joachim Breitner [Tue, 18 Feb 2014 19:02:24 +0000 (19:02 +0000)] 
Call Arity refactoring: fakeBoringCalls

5 years agoCall Arity: Update compiler perf number changes
Joachim Breitner [Tue, 18 Feb 2014 18:18:47 +0000 (18:18 +0000)] 
Call Arity: Update compiler perf number changes

Lots of improvements, one regression in max bytes allocated.

5 years agoCall arity testcase for #3924
Joachim Breitner [Tue, 18 Feb 2014 12:02:11 +0000 (12:02 +0000)] 
Call arity testcase for #3924

nice numbers coming from these micro-benchmarks.

5 years agoSupport mutual recursion
Joachim Breitner [Tue, 18 Feb 2014 11:50:19 +0000 (11:50 +0000)] 
Support mutual recursion

5 years agoCall arity: Handle type application correctly
Joachim Breitner [Tue, 18 Feb 2014 14:11:11 +0000 (14:11 +0000)] 
Call arity: Handle type application correctly

5 years agoMove unit call arity unittests into subdirectory
Joachim Breitner [Tue, 18 Feb 2014 12:01:06 +0000 (12:01 +0000)] 
Move unit call arity unittests into subdirectory

5 years agoCall Arity: Now also done on Top-Level binds
Joachim Breitner [Tue, 18 Feb 2014 10:53:22 +0000 (10:53 +0000)] 
Call Arity: Now also done on Top-Level binds

5 years agoCall Arity refactoring: instance Outputable Count
Joachim Breitner [Tue, 18 Feb 2014 10:53:15 +0000 (10:53 +0000)] 
Call Arity refactoring: instance Outputable Count

5 years agoCall Arity refactoring: Factor out callArityBound
Joachim Breitner [Tue, 18 Feb 2014 09:29:05 +0000 (09:29 +0000)] 
Call Arity refactoring: Factor out callArityBound

5 years agoCall Arity refactoring: Use a product domain
Joachim Breitner [Tue, 18 Feb 2014 09:10:55 +0000 (09:10 +0000)] 
Call Arity refactoring: Use a product domain

5 years agoMake CallArity make more use of many-calls
Joachim Breitner [Mon, 17 Feb 2014 17:30:07 +0000 (17:30 +0000)] 
Make CallArity make more use of many-calls

by elaborating the domain a bit.

5 years agoRevert "Fix #8754 in a round-about way."
Austin Seipp [Tue, 18 Feb 2014 11:20:25 +0000 (05:20 -0600)] 
Revert "Fix #8754 in a round-about way."

This reverts commit 5023c91780e90947680fe0640f7564a4f6448bea.

5 years agoRevert "Add comments explaining #8754"
Austin Seipp [Tue, 18 Feb 2014 11:20:15 +0000 (05:20 -0600)] 
Revert "Add comments explaining #8754"

This reverts commit b626c3d4ce0e66216705ba8355c914dc809e3fe7.

5 years agoKeep kind-inconsistent Given type equalities (fixes Trac #8705)
Simon Peyton Jones [Tue, 18 Feb 2014 11:07:36 +0000 (11:07 +0000)] 
Keep kind-inconsistent Given type equalities (fixes Trac #8705)

I was too eager when fixing Trac #8566, and dropped too many
equalities on the floor, thereby causing Trac #8705.

The fix is easy: delete code.  Lots of new comments!

5 years agoAdd some more traceTcS calls
Simon Peyton Jones [Tue, 18 Feb 2014 11:06:12 +0000 (11:06 +0000)] 
Add some more traceTcS calls

5 years agoAllow ($) to return an unlifted type (Trac #8739)
Simon Peyton Jones [Tue, 18 Feb 2014 08:46:14 +0000 (08:46 +0000)] 
Allow ($) to return an unlifted type (Trac #8739)

Since ($) simply returns its result, via a tail call, it can
perfectly well have an unlifted result type; e.g.
    foo $ True    where  foo :: Bool -> Int#
should be perfectly fine.

This used to work in GHC 7.2, but caused a Lint failure.  This patch
makes it work again (which involved removing code in TcExpr), but fixing
the Lint failure meant I had to make ($) into a wired-in Id.  Which
is not hard to do (in MkId).

5 years agoUse NoGen plan for unboxed-tuple bindings
Simon Peyton Jones [Tue, 18 Feb 2014 08:37:21 +0000 (08:37 +0000)] 
Use NoGen plan for unboxed-tuple bindings

There was a small mixup here, exposed by Trac #8762.
Now clarified with better function names and comments.

5 years agoMore liberally eta-expand a case-expression
Joachim Breitner [Mon, 17 Feb 2014 11:47:22 +0000 (11:47 +0000)] 
More liberally eta-expand a case-expression

at least with -fno-pedantic-bottoms. This fixes #2915, and undoes some
of a522c3b, on the grounds that with a flag `-fpedantic-bottoms`
around, we can be a bit more liberal when the flag is off..

5 years agoAdd comments explaining #8754
Austin Seipp [Mon, 17 Feb 2014 12:48:04 +0000 (06:48 -0600)] 
Add comments explaining #8754

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix #8770
Austin Seipp [Thu, 13 Feb 2014 13:17:30 +0000 (07:17 -0600)] 
Fix #8770

As usual, Mac OS X is extremely annoying (or the software is, anyway),
because not only does it load dynamic libraries with the .dylib
extension, but also the .so extension. For whatever reason. At least
it's easy to fix.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix #8745 - GND is now -XSafe compatible.
Austin Seipp [Mon, 17 Feb 2014 01:14:36 +0000 (19:14 -0600)] 
Fix #8745 - GND is now -XSafe compatible.

As discussed in the ticket, after the landing of #8773, GND is now
-XSafe compatible.

This fixes the test fallout as well. In particular SafeLang07 was
removed following in the steps of SafeLang06, since it no longer failed
from GND, but failed due to roles and was thus invalid.

The other tests were tweaked to use TemplateHaskell instead of GND in
order to trigger safety warnings.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix #8754 in a round-about way.
Austin Seipp [Mon, 17 Feb 2014 01:10:16 +0000 (19:10 -0600)] 
Fix #8754 in a round-about way.

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>
5 years agoFix check for TLS support in Storage.c
Austin Seipp [Mon, 17 Feb 2014 00:49:43 +0000 (18:49 -0600)] 
Fix check for TLS support in Storage.c

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>
5 years agoFix installation of hpc (#8735)
Austin Seipp [Thu, 13 Feb 2014 13:19:39 +0000 (07:19 -0600)] 
Fix installation of hpc (#8735)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agomk/config.mk.in: lower -O2 optimization down to -O1 on UNREG
Sergei Trofimovich [Thu, 13 Feb 2014 13:29:50 +0000 (07:29 -0600)] 
mk/config.mk.in: lower -O2 optimization down to -O1 on UNREG

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>
5 years agorts/package.conf.in: fix UNREG on --with-system-libffi when include-dir is passed...
Sergei Trofimovich [Thu, 13 Feb 2014 13:29:14 +0000 (07:29 -0600)] 
rts/package.conf.in: fix UNREG on --with-system-libffi when include-dir is passed explicitely

Issue #8748

Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoincludes/Stg.h: add declarations for hs_popcnt and frinds
Sergei Trofimovich [Thu, 13 Feb 2014 13:27:46 +0000 (07:27 -0600)] 
includes/Stg.h: add declarations for hs_popcnt and frinds

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>
5 years agorts/Capability.c: fix crash in -threaded mode on UNREG build
Sergei Trofimovich [Thu, 13 Feb 2014 13:26:05 +0000 (07:26 -0600)] 
rts/Capability.c: fix crash in -threaded mode on UNREG build

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>
5 years agoFix --enable-unregistered by declaring missing RTS functions (#8748)
Sergei Trofimovich [Thu, 13 Feb 2014 13:23:48 +0000 (07:23 -0600)] 
Fix --enable-unregistered by declaring missing RTS functions (#8748)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix --enable-unregistered by passing NOSMP to .hc compiler (#8748)
Sergei Trofimovich [Thu, 13 Feb 2014 13:23:02 +0000 (07:23 -0600)] 
Fix --enable-unregistered by passing NOSMP to .hc compiler (#8748)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix #8773.
Richard Eisenberg [Thu, 13 Feb 2014 19:22:20 +0000 (14:22 -0500)] 
Fix #8773.

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.

5 years agoFix #5682. Now, '(:) parses.
Richard Eisenberg [Thu, 13 Feb 2014 18:35:40 +0000 (13:35 -0500)] 
Fix #5682. Now, '(:) parses.

5 years agoRemove space after ASSERT.
Julian K. Arni [Wed, 12 Feb 2014 06:11:31 +0000 (04:11 -0200)] 
Remove space after ASSERT.

  Which on OS X leaves macro unexpanded.

5 years agoFix some typos in comments
Gabor Greif [Thu, 13 Feb 2014 19:54:58 +0000 (20:54 +0100)] 
Fix some typos in comments

5 years agoFix Manual hlinting patch
Joachim Breitner [Thu, 13 Feb 2014 11:36:32 +0000 (11:36 +0000)] 
Fix Manual hlinting patch

5 years agoManual hlinting: or (map f) = any f
Joachim Breitner [Thu, 13 Feb 2014 10:30:21 +0000 (10:30 +0000)] 
Manual hlinting: or (map f) = any f

5 years agoLink to #minimal-pragma from release notes
Joachim Breitner [Thu, 13 Feb 2014 09:22:07 +0000 (09:22 +0000)] 
Link to #minimal-pragma from release notes

5 years agoCleaned up Maybes.lhs
Baldur Blöndal [Thu, 13 Feb 2014 08:01:03 +0000 (09:01 +0100)] 
Cleaned up Maybes.lhs

5 years agoRemove eta-expansion in Rules.match
Joachim Breitner [Tue, 11 Feb 2014 16:46:05 +0000 (17:46 +0100)] 
Remove eta-expansion in Rules.match

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).

5 years agoTest case: Looking through unfoldings when matching lambdas
Joachim Breitner [Tue, 11 Feb 2014 11:24:28 +0000 (11:24 +0000)] 
Test case: Looking through unfoldings when matching lambdas

5 years agoUse exprIsLambda_maybe in match
Joachim Breitner [Tue, 11 Feb 2014 10:42:50 +0000 (10:42 +0000)] 
Use exprIsLambda_maybe in match

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.

5 years agoTest case for RULE map coerce = coerce
Joachim Breitner [Mon, 27 Jan 2014 10:36:34 +0000 (10:36 +0000)] 
Test case for RULE map coerce = coerce

(This tests #2110.)

5 years agoAdd Case TyConAppCo to match_co
Joachim Breitner [Fri, 24 Jan 2014 13:39:11 +0000 (13:39 +0000)] 
Add Case TyConAppCo to match_co

5 years agoIn simpleOptExpr, unfold compulsary unfoldings
Joachim Breitner [Fri, 24 Jan 2014 13:35:21 +0000 (13:35 +0000)] 
In simpleOptExpr, unfold compulsary unfoldings

such as that of coerce.

5 years agoIn CoreSubst, optimize Coercible values aggressively
Joachim Breitner [Fri, 24 Jan 2014 13:34:50 +0000 (13:34 +0000)] 
In CoreSubst, optimize Coercible values aggressively

just like boxed type equalities.

5 years agoReplace forall'ed Coercible by ~R# in RULES
Joachim Breitner [Fri, 24 Jan 2014 13:33:37 +0000 (13:33 +0000)] 
Replace forall'ed Coercible by ~R# in RULES

we want a rule "map coerce = coerce" to match the core generated for
"map Age" (this is #2110).

5 years agoNote [Eta expansion in match]
Joachim Breitner [Mon, 10 Feb 2014 14:46:14 +0000 (14:46 +0000)] 
Note [Eta expansion in match]

5 years agoUpdate test cases due to call arity
Joachim Breitner [Mon, 10 Feb 2014 11:13:19 +0000 (11:13 +0000)] 
Update test cases due to call arity

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.

5 years agoAdd a unit test for CallArity
Joachim Breitner [Wed, 29 Jan 2014 12:19:35 +0000 (12:19 +0000)] 
Add a unit test for CallArity

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.

5 years agoImplement CallArity analysis
Joachim Breitner [Tue, 28 Jan 2014 10:15:00 +0000 (10:15 +0000)] 
Implement CallArity analysis

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").

5 years agoRefactor previous commit on fixing #7021.
Richard Eisenberg [Sun, 9 Feb 2014 18:29:02 +0000 (13:29 -0500)] 
Refactor previous commit on fixing #7021.

5 years agoFix tests due to issue #7021
YoEight [Sat, 11 Jan 2014 12:47:24 +0000 (13:47 +0100)] 
Fix tests due to issue #7021

Signed-off-by: Richard Eisenberg <eir@cis.upenn.edu>
5 years agoApply changes relative to TH.Pred becoming a TH.Type's synonym (issue #7021)
YoEight [Sat, 11 Jan 2014 12:30:23 +0000 (13:30 +0100)] 
Apply changes relative to TH.Pred becoming a TH.Type's synonym (issue #7021)

Signed-off-by: Richard Eisenberg <eir@cis.upenn.edu>
5 years agoFix #8759 by not panicking with TH and patsyns.
Richard Eisenberg [Sun, 9 Feb 2014 17:31:01 +0000 (12:31 -0500)] 
Fix #8759 by not panicking with TH and patsyns.

We should still have pattern synonyms in TH, though.

5 years agoTest #7481, which had already been fixed.
Richard Eisenberg [Sun, 9 Feb 2014 16:34:19 +0000 (11:34 -0500)] 
Test #7481, which had already been fixed.

5 years agoTest #6147, which was fixed with the roles commit.
Richard Eisenberg [Sun, 9 Feb 2014 16:25:42 +0000 (11:25 -0500)] 
Test #6147, which was fixed with the roles commit.

5 years agoFix #8758 by assuming RankNTypes when checking GND code.
Richard Eisenberg [Sun, 9 Feb 2014 16:08:07 +0000 (11:08 -0500)] 
Fix #8758 by assuming RankNTypes when checking GND code.

5 years agoMove test case for #8631 to the correct directory.
Richard Eisenberg [Sun, 9 Feb 2014 15:57:44 +0000 (10:57 -0500)] 
Move test case for #8631 to the correct directory.

5 years agoLet `make distclean` remove `/{ch01,ch02,index}.html`
Herbert Valerio Riedel [Sun, 9 Feb 2014 14:24:00 +0000 (15:24 +0100)] 
Let `make distclean` remove `/{ch01,ch02,index}.html`

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>
5 years agodouble-negate test for Stage1Only to fix `make clean`
Herbert Valerio Riedel [Sun, 9 Feb 2014 13:59:49 +0000 (14:59 +0100)] 
double-negate test for Stage1Only to fix `make clean`

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>
5 years agoAdd test suite for #8757
Dr. ERDI Gergo [Sun, 9 Feb 2014 09:27:24 +0000 (17:27 +0800)] 
Add test suite for #8757

5 years agoIssue an error for pattern synonyms defined in a local scope (#8757)
Dr. ERDI Gergo [Sun, 9 Feb 2014 09:20:34 +0000 (17:20 +0800)] 
Issue an error for pattern synonyms defined in a local scope (#8757)

This also fixes the internal crash when using pattern synonyms
in GHCi (#8749)

5 years agoFix #8631.
Richard Eisenberg [Sun, 9 Feb 2014 03:09:12 +0000 (22:09 -0500)] 
Fix #8631.

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.

5 years agoT8256 needs vector
Joachim Breitner [Sat, 8 Feb 2014 23:25:52 +0000 (23:25 +0000)] 
T8256 needs vector

5 years agoFix #8706, documenting that type operators are not promoted.
Richard Eisenberg [Fri, 7 Feb 2014 22:24:07 +0000 (17:24 -0500)] 
Fix #8706, documenting that type operators are not promoted.

5 years agoIn deepSplitCprType_maybe, be more forgiving
Joachim Breitner [Fri, 7 Feb 2014 17:59:29 +0000 (17:59 +0000)] 
In deepSplitCprType_maybe, be more forgiving

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.

5 years agoAdd test case for #8743
Joachim Breitner [Fri, 7 Feb 2014 17:56:18 +0000 (17:56 +0000)] 
Add test case for #8743

which only occurs when the instance being compiled is also present from
a .hs-boot file.

5 years agoFix some Python brainos in testlib (except e is not valid form).
Edward Z. Yang [Fri, 7 Feb 2014 06:20:27 +0000 (22:20 -0800)] 
Fix some Python brainos in testlib (except e is not valid form).

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoRemove ios_HOST check for GCTDecl.h
Austin Seipp [Fri, 7 Feb 2014 04:58:30 +0000 (22:58 -0600)] 
Remove ios_HOST check for GCTDecl.h

Following 298a25bdf and #8722 as Peter mentioned, this probably isn't
needed anymore.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix __thread detection (#8722)
Peter Trommler [Fri, 7 Feb 2014 04:57:34 +0000 (22:57 -0600)] 
Fix __thread detection (#8722)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoTweak documentation of monomorphism restriction
Krzysztof Gogolewski [Thu, 6 Feb 2014 22:15:50 +0000 (23:15 +0100)] 
Tweak documentation of monomorphism restriction

Suggested by Gabor Greif on ghc-devs

5 years agoCorrectly clone submodules from github
Joachim Breitner [Thu, 6 Feb 2014 09:55:30 +0000 (09:55 +0000)] 
Correctly clone submodules from github

5 years agoSwitch to relative URLs in .gitmodules
Herbert Valerio Riedel [Thu, 6 Feb 2014 07:42:27 +0000 (08:42 +0100)] 
Switch to relative URLs in .gitmodules

Previously, the `http://`-protocol part was hardcoded in the URLs, causing
the initial clone process to fall back to `http://` even when the ghc.git repo
was cloned via one of the other 3 supported transport protocols.

This is slightly related to #8545, as it will make it possible to e.g.

    git clone --recursive git://git.haskell.org/ghc

and clone ghc.git including all submodules in one go (i.e. w/o `sync-all`),
and w/o falling back to a different (hardwired) Git transport protocol for
the submodules.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoMention that MR is off by default in GHCi in documentation
Krzysztof Gogolewski [Wed, 5 Feb 2014 19:40:13 +0000 (20:40 +0100)] 
Mention that MR is off by default in GHCi in documentation

5 years agoFix #8698 by properly handling long section names and reenabling .ctors handling
Edward Z. Yang [Tue, 4 Feb 2014 23:59:55 +0000 (15:59 -0800)] 
Fix #8698 by properly handling long section names and reenabling .ctors handling

Our old function for searching for sections could only deal
with section names that were eight bytes or shorter; this
patch adds support for long section names.

Signed-off-by: Edward Z. Yang <ezyang@cs.stanford.edu>
5 years agoTweak holes documentation
Krzysztof Gogolewski [Tue, 4 Feb 2014 22:42:00 +0000 (23:42 +0100)] 
Tweak holes documentation

type holes -> typed holes, reorder, minor changes

5 years agoFinal fix to #7134 (and #8717 as well.)
Kyrill Briantsev [Tue, 4 Feb 2014 11:00:33 +0000 (05:00 -0600)] 
Final fix to #7134 (and #8717 as well.)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoEliminate duplicate code in Cmm pipeline
Jan Stolarek [Mon, 3 Feb 2014 11:26:14 +0000 (12:26 +0100)] 
Eliminate duplicate code in Cmm pipeline

End of Cmm pipeline used to be split into two alternative flows,
depending on whether we did proc-point splitting or not. There
was a lot of code duplication between these two branches. But it
wasn't really necessary as the differences can be easily enclosed
within an if-then-else. I observed no impact of this change on
compilation performance.

5 years agoDocument deprecations in Hoopl
Jan Stolarek [Mon, 3 Feb 2014 10:14:04 +0000 (11:14 +0100)] 
Document deprecations in Hoopl

5 years agoAdd test-case for #8726
Herbert Valerio Riedel [Sun, 2 Feb 2014 11:08:06 +0000 (12:08 +0100)] 
Add test-case for #8726

This tests various properties expected to hold for
quotRem, divMod, div, mod, quot, and rem.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoRemove unused import
Jan Stolarek [Sun, 2 Feb 2014 07:55:50 +0000 (08:55 +0100)] 
Remove unused import

5 years agoRemove redundant NoMonoLocalBinds pragma
Jan Stolarek [Sun, 2 Feb 2014 07:54:43 +0000 (08:54 +0100)] 
Remove redundant NoMonoLocalBinds pragma

5 years agoFix a popular typo in comments
Gabor Greif [Sat, 1 Feb 2014 20:26:23 +0000 (21:26 +0100)] 
Fix a popular typo in comments

5 years agoNuke dead code
Jan Stolarek [Sat, 1 Feb 2014 18:15:06 +0000 (19:15 +0100)] 
Nuke dead code

  * CmmRewriteAddignments module was replaced by CmmSink a long
    time ago. That module is now available at
    https://ghc.haskell.org/trac/ghc/wiki/Commentary/Compiler/Hoopl/Examples
    wiki page.

  * removeDeadAssignments function was not used and it was also
    moved to the above page.

  * I also nuked some commented out debugging code that was not
    used for 1,5 year.

5 years agoSimplify Control Flow Optimisations Cmm pass
Jan Stolarek [Sat, 1 Feb 2014 17:00:48 +0000 (18:00 +0100)] 
Simplify Control Flow Optimisations Cmm pass

It turns out that one of the cases in the optimization pass was
a special case of another. I remove that specialization since it
does not have impact on compilation time, and the resulting Cmm
is identical.

5 years agoRemove unnecessary LANGUAGE pragma
Jan Stolarek [Sat, 1 Feb 2014 14:39:09 +0000 (15:39 +0100)] 
Remove unnecessary LANGUAGE pragma

5 years agoLoopification jump between stack and heap checks
Jan Stolarek [Sat, 1 Feb 2014 10:32:25 +0000 (11:32 +0100)] 
Loopification jump between stack and heap checks

Fixes #8585

When emmiting label of a self-recursive tail call (ie. when
performing loopification optimization) we emit the loop header
label after a stack check but before the heap check. The reason is
that tail-recursive functions use constant amount of stack space
so we don't need to repeat the check in every loop. But they can
grow the heap so heap check must be repeated in every call.
See Note [Self-recursive tail calls] and [Self-recursive loop header].

5 years agoRemove some references to deprecated -fglasgow-exts in user's guide
Krzysztof Gogolewski [Sat, 1 Feb 2014 13:03:34 +0000 (14:03 +0100)] 
Remove some references to deprecated -fglasgow-exts in user's guide

5 years agoIndividual sdist-foo targets
Joachim Breitner [Fri, 31 Jan 2014 23:31:30 +0000 (23:31 +0000)] 
Individual sdist-foo targets

so that one can build a source distribution without downloading the
windows tarballs.

5 years agoNo need to remove testsuite/.git
Joachim Breitner [Fri, 31 Jan 2014 23:31:00 +0000 (23:31 +0000)] 
No need to remove testsuite/.git

as there is no testsuite/.git any more.

5 years agoUpdate to latest Cabal 1.18 branch tip
Herbert Valerio Riedel [Fri, 31 Jan 2014 21:30:00 +0000 (22:30 +0100)] 
Update to latest Cabal 1.18 branch tip

This update pulls in the fix for #8266

(recommended add-on reading for those interested in OSX linker peculiarities:
https://github.com/haskell/cabal/issues/1660#issuecomment-33701508 )

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoFix some edge cases in 8f8bd88c (#7134)
Kyrill Briantsev [Thu, 30 Jan 2014 22:49:57 +0000 (16:49 -0600)] 
Fix some edge cases in 8f8bd88c (#7134)

Signed-off-by: Austin Seipp <austin@well-typed.com>