Add a missing untag to the non-updatable selector thunks (#7978)
Fix Stage1Only: don't build ghctags.

ghctags needs the stage2 compiler, since it uses the GHC API.

Fixes #8126.

Authored-by: Stephen Blackheath <...@blacksapphire.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
iOS: generate archive files when compiling.

When cross compiling to iOS, we generate archive files which are linked
into the final executable. We already *did* generate archive files -
just with the wrong suffix.

Fixes #8125.

Authored-by: Stephen Blackheath <...@blacksapphire.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Bump supported llvm version to 3.4.

The compiler can bootstrap and run all tests fine, given a copy of LLVM
built on Jul 27 2013.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Don't run the system linker unncessarily.

This wastes time when evaluating expressions in GHCi. We also
disable object unloading when using the dynamic linker, too.

Fixes #7382. Fixes #7326.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Comparison primops return Int# (Fixes #6135)

This patch modifies all comparison primops for Char#, Int#, Word#, Double#,
Float# and Addr# to return Int# instead of Bool. A value of 1# represents True
and 0# represents False. For a more detailed description of motivation for this
change, discussion of implementation details and benchmarking results please
visit the wiki page: http://hackage.haskell.org/trac/ghc/wiki/PrimBool

There's also some cleanup: whitespace fixes in files that were extensively edited
in this patch and constant folding rules for Integer div and mod operators (which
for some reason have been left out up till now).
Don't delete HsTimeConfig.h.in during distclean.

sdist preps the tree via distclean before anything else, which caused
HsTimeConfig.h.in under 'time' to be deleted - even though it should be
included in the resulting tarball for ./configure.

The correct target is 'maintainer-clean'.

I'm guessing the nightlies didn't complain because they run ./boot,
forcing regeneration. NixOS's Hydra does not, though.

Thanks to Peter Simons and Andres Löh for pointing this out.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Comments only
Comments only

I restored part of documentation that describes what is a let-no-escape
and which was deleted 10 months ago together with the old codegen. Then
I removed lots of Literate Haskell clutter (like empty \begin{code} -
\end{code} blocks) and finally decided to remove all the Literate Haskell
markup because there wasn't much of it left, but it made comments so
difficult to read.
Fix Trac #8138.

The code in CoreLint did not take into account the possibility of
~R# arguments to functions. These can arise in argToPat in SpecConstr.
Now, CoreLint does not fail when it sees a ~R# parameter.

This commit also updates the core-spec document accordingly.
Add support for external repositories to sync-all

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Eliminate trailing whitespace from Lexer.x

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Eliminate trailing whitespace from Parser.y.pp

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Remove dead code, fix a typo.

Authored-by: Anders Papitto <anderspapitto@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Dead code elimination.

Authored-by: Paul Cavallaro <ptc@fb.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Improve error when using forall with UnicodeSyntax

Fixes Trac #7901.

'∀' is neither upper nor lowercase, unlike the 'f' in 'forall', so when
explicit forall is not enabled, it creates a parse error before reaching
the '.', which is where we give a nice message for ascii 'forall'.
Therefore, we make '∀' into a token as long as UnicodeSyntax is enabled,
which is safe because its caselessness means it can never be mistaken
for a symbol, and check extensions in the parser when the 'forall' rule
is used.

Authored-by: Paul Cavallaro <ptc@fb.com>
Authored-by: Anders Papitto <anderspapitto@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
Comments only
Add a better implementation of dropTail, and use it
Improve eta-reduction some more, when the function includes casts
Fix Haddock formatting