ghc.git
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>
5 years agoRemove Coercible documentation from compiler/prelude/primops.txt.pp
Joachim Breitner [Thu, 30 Jan 2014 16:28:00 +0000 (16:28 +0000)] 
Remove Coercible documentation from compiler/prelude/primops.txt.pp

We want it to show up in GHC.Exts, so we need to put the documentation
in GHC.Types, where the datatype Coercible is defined.

5 years agoBump win32 version number in release notes
Austin Seipp [Thu, 30 Jan 2014 13:20:37 +0000 (07:20 -0600)] 
Bump win32 version number in release notes

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoAdd a perf-cross build setting.
Luke Iannini [Thu, 30 Jan 2014 13:07:44 +0000 (07:07 -0600)] 
Add a perf-cross build setting.

This is for building performance-optimized cross compilers (e.g. the iOS
target.)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix iOS build (fallout from 28b031c506)
Austin Seipp [Thu, 30 Jan 2014 13:03:29 +0000 (07:03 -0600)] 
Fix iOS build (fallout from 28b031c506)

As Luke Iannini reported, the Clang iOS cross compiler apparently
doesn't support __thread for some bizarre reason, so unfortunately they
too must fall back to pthread_{get,set}specific.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix glitch in core-spec pdf
Jan Stolarek [Wed, 29 Jan 2014 17:41:07 +0000 (18:41 +0100)] 
Fix glitch in core-spec pdf

5 years agoUpdate Win32 submodule to pull in version bump
Herbert Valerio Riedel [Wed, 29 Jan 2014 16:00:08 +0000 (17:00 +0100)] 
Update Win32 submodule to pull in version bump

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
5 years agoBump version: 7.7 -> 7.9 ghc-7.9-start
Austin Seipp [Wed, 29 Jan 2014 09:20:17 +0000 (03:20 -0600)] 
Bump version: 7.7 -> 7.9

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoRemove a TODO FIXME in the release notes.
Austin Seipp [Wed, 29 Jan 2014 09:09:38 +0000 (03:09 -0600)] 
Remove a TODO FIXME in the release notes.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoWin64 linker: fix loading foreign imports (#2283)
Kyrill Briantsev [Tue, 28 Jan 2014 14:42:40 +0000 (08:42 -0600)] 
Win64 linker: fix loading foreign imports (#2283)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix inplace dynamic linking on OS X (#8266)
Christiaan Baaj [Tue, 28 Jan 2014 14:24:55 +0000 (08:24 -0600)] 
Fix inplace dynamic linking on OS X (#8266)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoDocument a Haddock/Mavericks bug.
Austin Seipp [Tue, 28 Jan 2014 14:17:50 +0000 (08:17 -0600)] 
Document a Haddock/Mavericks bug.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoRefactor GCTDecl.h, and mitigate #7602 a bit
Austin Seipp [Tue, 28 Jan 2014 12:15:19 +0000 (06:15 -0600)] 
Refactor GCTDecl.h, and mitigate #7602 a bit

This basically cleans a lot of GCTDecl up - I found it quite hard to
read and a bit confusing. The changes are mostly cosmetic: better
delineation between the alternative cases and light touchups, and tries
to make every branch as consistent as possible.

However, this patch does have one significant effect: it will ensure
that any LLVM-based compilers will use __thread if they support it.
Before, they would simply always use pthread_getspecific and
pthread_setspecific, which are almost surely even *more* inefficient.

The details are a bit too long and boring to go into here; see #7602.
After talking with Simon, we decided to play it safe - __thread can at
least be optimized by future clang releases even further on OS X if they
choose, and it's safer until we can investigate the pthread
implementation further on Mavericks.

For Linux, the story isn't so bleak if you use Clang (for whatever
reason) - Linux directly writes to `%fs` for __thread slots (while OS X
will perform a load followed by an indirect call.) So it should still be
fairly competitive, speed-wise.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoCheck for __thread in ./configure.ac
Austin Seipp [Tue, 28 Jan 2014 11:44:44 +0000 (05:44 -0600)] 
Check for __thread in ./configure.ac

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoUpdate some mingw32 perf numbers.
Austin Seipp [Tue, 28 Jan 2014 11:24:40 +0000 (05:24 -0600)] 
Update some mingw32 perf numbers.

I forgot to push these from my win32 machine. A lot of them actually
look like a result of Herbert doing his GMP work, which might slightly
affect allocations on platforms like Windows (where we always use
in-tree GMP - but presumably Windows allocations could fluxuate slightly
due to minute details in the GMP implementation, too.)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix ./validate failure due to unused result.
Austin Seipp [Tue, 28 Jan 2014 04:22:03 +0000 (22:22 -0600)] 
Fix ./validate failure due to unused result.

Fallout from 4ade9627608ea0a88450506222bb9afbbcff4294

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoAbort when binutils ld is used with dynamic linking on ARM
Ben Gamari [Sat, 25 Jan 2014 18:02:36 +0000 (13:02 -0500)] 
Abort when binutils ld is used with dynamic linking on ARM

The binutils linker on ARM emits unnecessary R_ARM_COPY relocations
which breaks tables-next-to-code in dynamically linked modules. This
check should be more selective but there is currently no released
version where this bug is fixed.  See
https://sourceware.org/bugzilla/show_bug.cgi?id=16177 and
https://ghc.haskell.org/trac/ghc/ticket/4210#comment:29 for details.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoAdd short blurb about LLVM dynamic linking to release notes
Ben Gamari [Wed, 22 Jan 2014 00:26:12 +0000 (19:26 -0500)] 
Add short blurb about LLVM dynamic linking to release notes

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agobuild.mk.sample: Don't disable dynamic linking for LLVM flavours
Ben Gamari [Sun, 19 Jan 2014 15:35:50 +0000 (10:35 -0500)] 
build.mk.sample: Don't disable dynamic linking for LLVM flavours

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix the Win64 RTS linker & disable .ctors
Kyrill Briantsev [Mon, 27 Jan 2014 23:23:45 +0000 (17:23 -0600)] 
Fix the Win64 RTS linker & disable .ctors

This fixes #7134

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoMention #3202 (no monomorphism restriction in GHCi) in release notes
Krzysztof Gogolewski [Sun, 26 Jan 2014 22:39:46 +0000 (23:39 +0100)] 
Mention #3202 (no monomorphism restriction in GHCi) in release notes

This change seems worth mentioning

5 years agoTweak the example
Gabor Greif [Sun, 26 Jan 2014 13:33:18 +0000 (14:33 +0100)] 
Tweak the example

5 years agoSquash some spelling issues
Gabor Greif [Sun, 26 Jan 2014 12:39:00 +0000 (13:39 +0100)] 
Squash some spelling issues

5 years agoUser documentation for pattern synonyms
Dr. ERDI Gergo [Sun, 26 Jan 2014 04:10:10 +0000 (12:10 +0800)] 
User documentation for pattern synonyms

5 years agoSome typos in comments
Gabor Greif [Thu, 23 Jan 2014 21:33:46 +0000 (22:33 +0100)] 
Some typos in comments

5 years agoSome polishing of the demand analyser.
Joachim Breitner [Thu, 23 Jan 2014 15:13:30 +0000 (15:13 +0000)] 
Some polishing of the demand analyser.

I did some refactoring of the demand analyser, because I was smelling
some minor code smell. Most of my changes I had to undo, though,
adding notes and testcases on why the existing code was correct after
all.

Especially the semantics of the DmdResult is confusing, as it differs in
a DmdType and a StrictSig.

I got to imrpove the readability of the code for lubDmdType, though.

Also, dmdAnalRhs was a bit fishy in how it removed the demand on
further arguments of the body, but used the DmdResult. This would be
wrong if a body would return a demand type of "<L>m" (which currently
does not happen).  This is now treated better in removeDmdTyArgs.

5 years agoMore demand analyser test cases
Joachim Breitner [Thu, 23 Jan 2014 16:40:10 +0000 (16:40 +0000)] 
More demand analyser test cases

catching mistakes that I had during my refactoring, and which I do not
want to do again.

5 years agoFix spelling of language pragma
Gabor Greif [Thu, 23 Jan 2014 06:42:14 +0000 (07:42 +0100)] 
Fix spelling of language pragma

5 years agoOne more fix (T3064)
Austin Seipp [Thu, 23 Jan 2014 04:27:12 +0000 (22:27 -0600)] 
One more fix (T3064)

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix 32bit numbers (again)
Austin Seipp [Thu, 23 Jan 2014 04:24:33 +0000 (22:24 -0600)] 
Fix 32bit numbers (again)

My build settings were wrong last time.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoRevert "Fix more 32 bit performance fallout."
Austin Seipp [Thu, 23 Jan 2014 04:15:20 +0000 (22:15 -0600)] 
Revert "Fix more 32 bit performance fallout."

This reverts commit c5088e299a66109346057afc151c33e47b850b92.

5 years agoAnd don't forget FreeBSD
Austin Seipp [Thu, 23 Jan 2014 00:21:16 +0000 (18:21 -0600)] 
And don't forget FreeBSD

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoRelease notes: mention Mavericks and some bugs
Austin Seipp [Thu, 23 Jan 2014 00:16:03 +0000 (18:16 -0600)] 
Release notes: mention Mavericks and some bugs

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoWibble.
Austin Seipp [Wed, 22 Jan 2014 23:38:15 +0000 (17:38 -0600)] 
Wibble.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoFix more 32 bit performance fallout.
Austin Seipp [Wed, 22 Jan 2014 23:30:54 +0000 (17:30 -0600)] 
Fix more 32 bit performance fallout.

Some of these are actually worse than I thought upon inspection, but
after a little digging I haven't found exactly what has caused them.
Some were certainly bitrotted, but others seem updated more recently, so
something has slipped.

I'll be filing a ticket about these.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoMore tweaks.
Austin Seipp [Wed, 22 Jan 2014 23:12:26 +0000 (17:12 -0600)] 
More tweaks.

Signed-off-by: Austin Seipp <austin@well-typed.com>
5 years agoMore release note touchups.
Austin Seipp [Wed, 22 Jan 2014 23:04:41 +0000 (17:04 -0600)] 
More release note touchups.

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