ghc.git
6 years agoFix interface hashes including time stamp of dependent files.
Niklas Hambüchen [Thu, 22 Aug 2013 02:05:56 +0000 (11:05 +0900)] 
Fix interface hashes including time stamp of dependent files.

Fixes #8144.

Before, the modification time of e.g. #included files (and everything
that ends up as a UsageFile, e.g. via addDependentFile) was taken as
input for the interface hash of a module.

This lead to different hashes for identical inputs on every compilation.

We now use file content hashes instead.

This changes the interface file format.
You will get "Binary.get(Usage): 50" when you try to do an incremental
using .hi files that were created with a GHC 7.7 (only) older than this commit.

To calculate the md5 hash (`Fingerprint`) of a file in constant space,
there now is GHC.Fingerprint.getFileHash, and a fallback version
for older GHCs that needs to load the file into memory completely
(only used when compiling stage1 with an older GHC).

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoMkIface: Be consistent with do notation
Niklas Hambüchen [Tue, 20 Aug 2013 09:44:24 +0000 (18:44 +0900)] 
MkIface: Be consistent with do notation

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoMkIface: When printing the recomp reason, make clear only mtime is used
Niklas Hambüchen [Tue, 20 Aug 2013 09:13:05 +0000 (18:13 +0900)] 
MkIface: When printing the recomp reason, make clear only mtime is used

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoMkIface: More specific comment about what forms the interface hash
Niklas Hambüchen [Tue, 20 Aug 2013 08:00:21 +0000 (17:00 +0900)] 
MkIface: More specific comment about what forms the interface hash

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoMkIface: Mention that #include now adds dependent files
Niklas Hambüchen [Tue, 20 Aug 2013 07:58:04 +0000 (16:58 +0900)] 
MkIface: Mention that #include now adds dependent files

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoUpdate email addresses
Gabor Greif [Mon, 19 Aug 2013 09:31:15 +0000 (11:31 +0200)] 
Update email addresses

6 years agoStrings and comments only: 'to to ' fixes
Gabor Greif [Mon, 19 Aug 2013 09:20:19 +0000 (11:20 +0200)] 
Strings and comments only: 'to to ' fixes

I'd still prefer if a native english speaker would check them.

6 years agoRemove DYNAMIC_GHC_PROGRAMS tests in the linker
Simon Marlow [Thu, 22 Aug 2013 19:20:29 +0000 (20:20 +0100)] 
Remove DYNAMIC_GHC_PROGRAMS tests in the linker

The linker is usable even when GHCi is dynamically linked.  These
tests make the linker_unload test fail.

6 years agoUpdate release notes for GHC 7.8
Jan Stolarek [Thu, 22 Aug 2013 14:45:56 +0000 (15:45 +0100)] 
Update release notes for GHC 7.8

6 years agoComments only
Jan Stolarek [Thu, 22 Aug 2013 11:07:13 +0000 (12:07 +0100)] 
Comments only

This comment is no loger true

6 years agoOnly add -O to C compilations if there was -O on the command line
Simon Marlow [Thu, 22 Aug 2013 09:53:53 +0000 (10:53 +0100)] 
Only add -O to C compilations if there was -O on the command line

In 1e2b3780ebc40d28cd0f029b90df102df09e6827 I changed the option
ordering for C compilations.  A side effect was that -optc options
came before the automatic -O we were adding, which made it so that the
-debug RTS was getting optimised when it shouldn't have been.

Perhaps we shouldn't have automatic -O options added to C
compilations.  But that might cause problems for build systems that
are relying on the current behaviour, so I've made a minor change
instead: now C optimisation level == Haskell optimisation level.

6 years agoReally unload object code when it is safe to do so (#8039)
Simon Marlow [Fri, 5 Jul 2013 14:57:32 +0000 (15:57 +0100)] 
Really unload object code when it is safe to do so (#8039)

The next major GC after an unloadObj() will do a traversal of the heap
to determine whether the object code can be removed from memory or
not.  We'll keep doing these until it is safe to remove the object
code.

In my experiments with GHCi, the objects get unloaded immediately,
which is a good sign: we're not accidentally holding on to any
references anywhere in the GHC data structures.

Changes relative to the patch earlier posted on the ticket:
 - fix two memory leaks discovered with Valgrind, after
   testing with tests/rts/linker_unload.c

6 years agoIn the non-threaded RTS, make *_barrier functions EXTERN_INLINE, not #define. (fixes...
Ryan Newton [Thu, 1 Aug 2013 16:18:16 +0000 (12:18 -0400)] 
In the non-threaded RTS, make *_barrier functions EXTERN_INLINE, not #define. (fixes #8077)

6 years agoDetabify
Jan Stolarek [Wed, 21 Aug 2013 08:22:00 +0000 (09:22 +0100)] 
Detabify

I missed that file yesterday when I was cleaning up codeGen/ directory.

6 years agoAdded paragraph to user's guide about Nominal role for Set
Richard Eisenberg [Wed, 21 Aug 2013 02:41:04 +0000 (22:41 -0400)] 
Added paragraph to user's guide about Nominal role for Set

6 years agoAdded bullet in release notes about roles.
Richard Eisenberg [Tue, 20 Aug 2013 18:05:29 +0000 (14:05 -0400)] 
Added bullet in release notes about roles.

6 years agoComments only
Jan Stolarek [Tue, 20 Aug 2013 15:59:11 +0000 (16:59 +0100)] 
Comments only

6 years agoMerge cgTailCall and cgLneJump into one function
Jan Stolarek [Tue, 20 Aug 2013 14:03:26 +0000 (15:03 +0100)] 
Merge cgTailCall and cgLneJump into one function

Previosly logic of these functions was sth like this:

  cgIdApp x = case x of
                A -> cgLneJump x
                _ -> cgTailCall x

  cgTailCall x = case x of
                   B -> ...
                   C -> ...
                   _ -> ...

After merging there is no nesting of cases:

  cgIdApp x = case x of
                A -> -- body of cgLneJump
                B -> ...
                C -> ...
                _ -> ...

6 years agoRemove unused module
Jan Stolarek [Tue, 20 Aug 2013 11:50:28 +0000 (12:50 +0100)] 
Remove unused module

This commit removes module StgCmmGran which has only no-op functions.
According to comments in the module, it was used by GpH, but GpH
project seems to be dead for a couple of years now.

6 years agoCleanup StgCmm pass
Jan Stolarek [Tue, 20 Aug 2013 10:53:05 +0000 (11:53 +0100)] 
Cleanup StgCmm pass

This cleanup includes:
  * removing dead code. This includes forkStatics function,
    which was in fact one big noop, and global bindings in
    CgInfoDownwards,
  * converting functions that used FCode monad only to
    access DynFlags into functions that take DynFlags
    as a parameter and don't work in a monad,
  * addBindC function is now smarter. It extracts Id from
    CgIdInfo passed to it in the same way addBindsC does.
    Previously this was done at every call site, which was
    redundant.

6 years agoTrailing whitespaces, code formatting, detabify
Jan Stolarek [Tue, 20 Aug 2013 09:34:39 +0000 (10:34 +0100)] 
Trailing whitespaces, code formatting, detabify

A major cleanup of trailing whitespaces and tabs in codeGen/
directory. I also adjusted code formatting in some places.

6 years agoFix typo
Gabor Greif [Tue, 20 Aug 2013 09:54:00 +0000 (11:54 +0200)] 
Fix typo

6 years agoComments only
Gabor Greif [Mon, 19 Aug 2013 09:43:02 +0000 (11:43 +0200)] 
Comments only

6 years agoUpdate Win32 submodule.
Austin Seipp [Tue, 20 Aug 2013 04:49:45 +0000 (23:49 -0500)] 
Update Win32 submodule.

This fixes a build failure for i386/Windows.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoAdd note on isSafeOverlap field.
David Terei [Mon, 19 Aug 2013 23:00:55 +0000 (16:00 -0700)] 
Add note on isSafeOverlap field.

6 years agoReplace occurences of darcs.haskell.org by git.haskell.org
Herbert Valerio Riedel [Mon, 19 Aug 2013 21:20:32 +0000 (23:20 +0200)] 
Replace occurences of darcs.haskell.org by git.haskell.org

...as the new `git.haskell.org` CNAME has been activated
(see also GitolitePlan and #8121 for more details)

6 years agoComments only
Jan Stolarek [Mon, 19 Aug 2013 14:44:19 +0000 (15:44 +0100)] 
Comments only

Documentation of Integer constant folding

6 years agoComments only
Simon Peyton Jones [Mon, 19 Aug 2013 08:45:27 +0000 (09:45 +0100)] 
Comments only

6 years agoFix Haddock formatting
Simon Peyton Jones [Mon, 19 Aug 2013 08:45:08 +0000 (09:45 +0100)] 
Fix Haddock formatting

6 years agoImprove eta-reduction some more, when the function includes casts
Simon Peyton Jones [Fri, 16 Aug 2013 10:21:41 +0000 (11:21 +0100)] 
Improve eta-reduction some more, when the function includes casts

6 years agoAdd a better implementation of dropTail, and use it
Simon Peyton Jones [Fri, 16 Aug 2013 10:15:33 +0000 (11:15 +0100)] 
Add a better implementation of dropTail, and use it

6 years agoComments only
Simon Peyton Jones [Fri, 16 Aug 2013 10:15:12 +0000 (11:15 +0100)] 
Comments only

6 years agoImprove error when using forall with UnicodeSyntax
Austin Seipp [Mon, 19 Aug 2013 04:01:57 +0000 (23:01 -0500)] 
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>
6 years agoDead code elimination.
Austin Seipp [Mon, 19 Aug 2013 03:59:17 +0000 (22:59 -0500)] 
Dead code elimination.

Authored-by: Paul Cavallaro <ptc@fb.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoRemove dead code, fix a typo.
Austin Seipp [Mon, 19 Aug 2013 03:57:35 +0000 (22:57 -0500)] 
Remove dead code, fix a typo.

Authored-by: Anders Papitto <anderspapitto@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoEliminate trailing whitespace from Parser.y.pp
Austin Seipp [Mon, 19 Aug 2013 03:56:04 +0000 (22:56 -0500)] 
Eliminate trailing whitespace from Parser.y.pp

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoEliminate trailing whitespace from Lexer.x
Austin Seipp [Mon, 19 Aug 2013 03:54:44 +0000 (22:54 -0500)] 
Eliminate trailing whitespace from Lexer.x

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoAdd support for external repositories to sync-all
Austin Seipp [Sun, 18 Aug 2013 16:33:57 +0000 (11:33 -0500)] 
Add support for external repositories to sync-all

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoFix Trac #8138.
Richard Eisenberg [Fri, 16 Aug 2013 17:36:10 +0000 (13:36 -0400)] 
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.

6 years agoComments only
Jan Stolarek [Fri, 16 Aug 2013 10:21:45 +0000 (11:21 +0100)] 
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.

6 years agoComments only
Jan Stolarek [Fri, 16 Aug 2013 08:02:28 +0000 (09:02 +0100)] 
Comments only

6 years agoDon't delete HsTimeConfig.h.in during distclean.
Austin Seipp [Wed, 14 Aug 2013 21:49:52 +0000 (16:49 -0500)] 
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>
6 years agoComparison primops return Int# (Fixes #6135)
Jan Stolarek [Wed, 3 Jul 2013 14:23:37 +0000 (15:23 +0100)] 
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).

6 years agoDon't run the system linker unncessarily.
Patrick Palka [Wed, 14 Aug 2013 03:11:22 +0000 (23:11 -0400)] 
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>
6 years agoBump supported llvm version to 3.4.
Austin Seipp [Wed, 14 Aug 2013 03:20:11 +0000 (22:20 -0500)] 
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>
6 years agoiOS: generate archive files when compiling.
Austin Seipp [Tue, 13 Aug 2013 21:40:37 +0000 (16:40 -0500)] 
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>
6 years agoFix Stage1Only: don't build ghctags.
Austin Seipp [Tue, 13 Aug 2013 21:34:02 +0000 (16:34 -0500)] 
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>
6 years agoAdd a missing untag to the non-updatable selector thunks (#7978)
Simon Marlow [Tue, 13 Aug 2013 11:06:03 +0000 (12:06 +0100)] 
Add a missing untag to the non-updatable selector thunks (#7978)

6 years agoComments only
Jan Stolarek [Mon, 12 Aug 2013 08:41:58 +0000 (09:41 +0100)] 
Comments only

6 years agoFix invalid users guide synax.
Austin Seipp [Sun, 11 Aug 2013 05:05:38 +0000 (00:05 -0500)] 
Fix invalid users guide synax.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoMark retry# as returning bottom.
Austin Seipp [Sun, 11 Aug 2013 03:39:15 +0000 (22:39 -0500)] 
Mark retry# as returning bottom.

This change helps the simplifier eliminate unreachable code, since
retry# technically doesn't return.

This closes ticket #8091.

Authored-by: Patrick Palka <patrick@parcs.ath.cx>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoRelease notes for #8108.
Austin Seipp [Sun, 11 Aug 2013 02:27:35 +0000 (21:27 -0500)] 
Release notes for #8108.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoGHCi: Implement `%l` prompt substitution for line-number
Herbert Valerio Riedel [Wed, 10 Jul 2013 08:01:31 +0000 (10:01 +0200)] 
GHCi: Implement `%l` prompt substitution for line-number

This commit also updates the GHC user guide section
regarding the `set prompt` command and closes #8047.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>
6 years agoFix typo
Herbert Valerio Riedel [Fri, 9 Aug 2013 21:32:04 +0000 (23:32 +0200)] 
Fix typo

(this refs #8121 for testing purposes)

6 years agoWhitespace change to test Trac/Gitolite.
Austin Seipp [Fri, 9 Aug 2013 21:31:01 +0000 (16:31 -0500)] 
Whitespace change to test Trac/Gitolite.

This references #8121

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agosync-all: remove trailing '/' from root-urls in help text
Herbert Valerio Riedel [Fri, 9 Aug 2013 21:20:41 +0000 (23:20 +0200)] 
sync-all: remove trailing '/' from root-urls in help text

This is a test commit for addressing #8121

6 years agoMake `sync-all remote set-url` use normalized `/packages/` urls
Herbert Valerio Riedel [Fri, 9 Aug 2013 11:03:54 +0000 (13:03 +0200)] 
Make `sync-all remote set-url` use normalized `/packages/` urls

A simple heuristic (i.e. replacing the `libraries/` suffix by
`packages/` in the inferred remotepath, if the remotepath in the
`packages` file is "-") used to infer the remotepath for Git
submodules. A proper solution would require to parse the `.gitmodules`
file to obtain the actual localpath<->remotepath mapping.

This addresses #8121 and is a follow-up to a22e908 which changed the
`.gitmodules` urls to use the `/packages/` folder instead of
`/libraries/`.

6 years agoNormalize urls for Git submodules
Herbert Valerio Riedel [Fri, 9 Aug 2013 08:44:32 +0000 (10:44 +0200)] 
Normalize urls for Git submodules

This changes the `/libraries/<name>.git/` suffix in the urls
to `/packages/<name>.git`. This is a minor preparation step
helping the Gitolite transition (see #8121).

See also http://permalink.gmane.org/gmane.comp.lang.haskell.ghc.devel/1713

6 years agoOnly use real XMM registers when assigning arguments.
Geoffrey Mainland [Tue, 6 Aug 2013 07:27:50 +0000 (08:27 +0100)] 
Only use real XMM registers when assigning arguments.

My original change to the calling convention mistakenly used all 6 XMM
registers---which live in the global register table---on x86 (32 bit). This
royally screwed up the floating point code generated for that platform because
floating point arguments were passed in global registers instead of on the
stack!

6 years agoRename SSE -> XMM for consistency.
Geoffrey Mainland [Fri, 2 Aug 2013 16:55:55 +0000 (17:55 +0100)] 
Rename SSE -> XMM for consistency.

We were using SSE is some places and XMM in others. Better to keep a consistent
naming scheme.

6 years agosync-all : Replace '~~' operator with something supported by older Perl.
Erik de Castro Lopo [Tue, 6 Aug 2013 03:18:22 +0000 (13:18 +1000)] 
sync-all : Replace '~~' operator with something supported by older Perl.

6 years agoAdded support for writing and checking closed type families is hs-boot files.
Richard Eisenberg [Mon, 5 Aug 2013 15:54:44 +0000 (16:54 +0100)] 
Added support for writing and checking closed type families is hs-boot files.

As documented in the users' guide, you can now write

type family Foo a where ..

in a hs-boot file to declare an abstract closed type family.

6 years ago.gitignore : Add libffi-tarballs.
Erik de Castro Lopo [Mon, 5 Aug 2013 10:33:21 +0000 (20:33 +1000)] 
.gitignore : Add libffi-tarballs.

6 years agomk/config.mk.in : Add powerpc-unknown-linux to NoSharedLibsPlatformList.
Erik de Castro Lopo [Sun, 30 Jun 2013 00:06:50 +0000 (10:06 +1000)] 
mk/config.mk.in : Add powerpc-unknown-linux to NoSharedLibsPlatformList.

Dynamic libraries on powerpc linux are currently broken.
See: http://hackage.haskell.org/trac/ghc/ticket/8024

6 years agosync-all : Warn on 'pull' operation if not on master branch.
Erik de Castro Lopo [Mon, 5 Aug 2013 01:22:04 +0000 (11:22 +1000)] 
sync-all : Warn on 'pull' operation if not on master branch.

6 years agoRefactor checking for GADT-like datacons' return types
Richard Eisenberg [Sun, 4 Aug 2013 15:45:02 +0000 (16:45 +0100)] 
Refactor checking for GADT-like datacons' return types

This check is somewhat subtle. See Note [Checking GADT return types]
in TcTyClsDecls. The new plan is to check *before* desugaring the type
from HsType to Type. This avoids problems with the pattern-match
in rejigConRes.

As a nice side benefit to this, I discovered that Template Haskell
splices were a little conservative in their treatment of valid data
constructors. (For example, a kind signature in the return type caused
failure.) Now, the TH code uses exactly the same function as the
"real" code, which is nice. See hsTyGetAppHead_maybe in HsTypes.

6 years agoImplement "roles" into GHC.
Richard Eisenberg [Fri, 2 Aug 2013 14:47:03 +0000 (15:47 +0100)] 
Implement "roles" into GHC.

Roles are a solution to the GeneralizedNewtypeDeriving type-safety
problem.

Roles were first described in the "Generative type abstraction" paper,
by Stephanie Weirich, Dimitrios Vytiniotis, Simon PJ, and Steve Zdancewic.
The implementation is a little different than that paper. For a quick
primer, check out Note [Roles] in Coercion. Also see
http://ghc.haskell.org/trac/ghc/wiki/Roles
and
http://ghc.haskell.org/trac/ghc/wiki/RolesImplementation
For a more formal treatment, check out docs/core-spec/core-spec.pdf.

This fixes Trac #1496, #4846, #7148.

6 years agoUpdate to Cabal to allow RoleAnnotations
Richard Eisenberg [Fri, 2 Aug 2013 14:46:08 +0000 (15:46 +0100)] 
Update to Cabal to allow RoleAnnotations

6 years agoFix Trac #8020.
Richard Eisenberg [Fri, 2 Aug 2013 09:51:35 +0000 (10:51 +0100)] 
Fix Trac #8020.

The solution is to use a different notion of apartness. See
http://research.microsoft.com/en-us/um/people/simonpj/papers/ext-f/axioms-extended.pdf
for the gory details. Some comments are also in Notes [Compatibility]
and [Apartness] in FamInstEnv.

6 years agoAdd a warning for empty enumerations; fixes #7881
Ian Lynagh [Thu, 1 Aug 2013 17:08:23 +0000 (18:08 +0100)] 
Add a warning for empty enumerations; fixes #7881

We now give a warning about enumerations like [5 .. 3] :: Int8.

6 years agoAdd -XNegativeLiterals to the flag list
Ian Lynagh [Thu, 1 Aug 2013 14:53:35 +0000 (15:53 +0100)] 
Add -XNegativeLiterals to the flag list

6 years agoDocument the Negative Literals extension
Ian Lynagh [Wed, 31 Jul 2013 22:51:43 +0000 (23:51 +0100)] 
Document the Negative Literals extension

6 years agoAdd NegativeLiterals extension
Ian Lynagh [Wed, 31 Jul 2013 17:43:11 +0000 (18:43 +0100)] 
Add NegativeLiterals extension

I'd been meaning to do this for some time, but finally got around to it
due to the overflowing literals warning. With that enabled, we were
getting a warning for
    -128 :: Int8
as that is parsed as
    negate (fromInteger 128)
which just happens to do the right thing, as
    negate (fromInteger 128) = negate (-128) = -128

6 years agoAdd a warning for overflowing literals; fixes #7895
Ian Lynagh [Wed, 31 Jul 2013 15:49:49 +0000 (16:49 +0100)] 
Add a warning for overflowing literals; fixes #7895

6 years agoWhitespace only in deSugar/MatchLit.lhs
Ian Lynagh [Tue, 30 Jul 2013 22:28:35 +0000 (23:28 +0100)] 
Whitespace only in deSugar/MatchLit.lhs

6 years agoMerge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc
Jan Stolarek [Wed, 31 Jul 2013 11:37:50 +0000 (12:37 +0100)] 
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc

6 years agoFix typos
Gabor Greif [Wed, 31 Jul 2013 10:45:21 +0000 (12:45 +0200)] 
Fix typos

6 years agoAdd strength reduction rules (Fixes #7116)
Jan Stolarek [Mon, 8 Jul 2013 15:20:43 +0000 (16:20 +0100)] 
Add strength reduction rules (Fixes #7116)

This patch adds rules for converting floating point multiplication
of the form 2.0 * x and x * 2.0 into addition x + x.

6 years agoAdded operational semantics to docs/core-spec.
Richard Eisenberg [Mon, 8 Jul 2013 10:41:25 +0000 (11:41 +0100)] 
Added operational semantics to docs/core-spec.

6 years agoChange which files --make mode thinks are 'Haskellish'
Ian Lynagh [Tue, 30 Jul 2013 21:11:41 +0000 (22:11 +0100)] 
Change which files --make mode thinks are 'Haskellish'

It thought that .cmm files were Haskellish, but then didn't know
how to compile them. Now they aren't treated as Haskellish, and
it can compile and link them.

6 years agoMake sdist make a separate tarball for the Windows tarballs
Ian Lynagh [Tue, 30 Jul 2013 17:54:34 +0000 (18:54 +0100)] 
Make sdist make a separate tarball for the Windows tarballs

6 years agoRename doDynamicToo to dynamicTooMkDynamicDynFlags
Ian Lynagh [Tue, 30 Jul 2013 16:03:38 +0000 (17:03 +0100)] 
Rename doDynamicToo to dynamicTooMkDynamicDynFlags

Makes it look less likely that people will confuse what it is for
(e.g. #8104).

6 years agoMove libffi's tarball into its own repo
Ian Lynagh [Tue, 30 Jul 2013 14:54:30 +0000 (15:54 +0100)] 
Move libffi's tarball into its own repo

This means that ghc-tarballs is only needed on Windows

6 years agoRemove an out-of-date comment (see #8101)
Ian Lynagh [Sun, 28 Jul 2013 17:49:07 +0000 (18:49 +0100)] 
Remove an out-of-date comment (see #8101)

6 years agodesugar code even when -fno-code is used; fixes #8101
Ian Lynagh [Sun, 28 Jul 2013 16:01:50 +0000 (17:01 +0100)] 
desugar code even when -fno-code is used; fixes #8101

We need to desugar the code, or we don't get the warnings from the
desugarer.

6 years agoWhitespace only in deSugar/Match.lhs
Ian Lynagh [Sun, 28 Jul 2013 15:49:04 +0000 (16:49 +0100)] 
Whitespace only in deSugar/Match.lhs

6 years agoWhitespace only in basicTypes/RdrName.lhs
Ian Lynagh [Sun, 28 Jul 2013 11:30:12 +0000 (12:30 +0100)] 
Whitespace only in basicTypes/RdrName.lhs

6 years agoBeautify a few Binary instances
Ian Lynagh [Sat, 27 Jul 2013 14:47:53 +0000 (15:47 +0100)] 
Beautify a few Binary instances

6 years agoDe-orphan a load of Binary instances
Ian Lynagh [Sat, 27 Jul 2013 14:43:13 +0000 (15:43 +0100)] 
De-orphan a load of Binary instances

6 years agoWhitespace only in basicTypes/BasicTypes.lhs
Ian Lynagh [Sat, 27 Jul 2013 12:33:30 +0000 (13:33 +0100)] 
Whitespace only in basicTypes/BasicTypes.lhs

6 years agoWhitespace only in basicTypes/Avail.hs
Ian Lynagh [Sat, 27 Jul 2013 11:52:10 +0000 (12:52 +0100)] 
Whitespace only in basicTypes/Avail.hs

6 years agoRemove redundant parentheses
Ian Lynagh [Sat, 27 Jul 2013 11:08:10 +0000 (12:08 +0100)] 
Remove redundant parentheses

6 years agoUse OrdLists when parsing export lists
Ian Lynagh [Sat, 27 Jul 2013 09:45:11 +0000 (10:45 +0100)] 
Use OrdLists when parsing export lists

No functional changes

6 years agoSome release note additions.
Austin Seipp [Fri, 26 Jul 2013 12:11:30 +0000 (07:11 -0500)] 
Some release note additions.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoRemove an unnecessary-looking import
Ian Lynagh [Thu, 25 Jul 2013 20:41:20 +0000 (21:41 +0100)] 
Remove an unnecessary-looking import

6 years agoWhitespace only in deSugar/Desugar.lhs
Ian Lynagh [Thu, 25 Jul 2013 20:38:34 +0000 (21:38 +0100)] 
Whitespace only in deSugar/Desugar.lhs

6 years agoFix a bug in stack layout with safe foreign calls (#8083)
Simon Marlow [Wed, 24 Jul 2013 11:49:58 +0000 (12:49 +0100)] 
Fix a bug in stack layout with safe foreign calls (#8083)

We weren't properly tracking the number of stack arguments in the
continuation of a foreign call.  It happened to work when the
continuation was not a join point, but when it was a join point we
were using the wrong amount of stack fixup.

6 years agoTemporarily disable common block elimination; fixes #8083 for now
Ian Lynagh [Tue, 23 Jul 2013 12:43:51 +0000 (13:43 +0100)] 
Temporarily disable common block elimination; fixes #8083 for now

6 years agoAdd final remaining bits to fix #7978.
Geoffrey Mainland [Mon, 22 Jul 2013 16:15:44 +0000 (17:15 +0100)] 
Add final remaining bits to fix #7978.

6 years agouse prompt2 in `:set +m` mode
Herbert Valerio Riedel [Fri, 12 Jul 2013 08:22:43 +0000 (10:22 +0200)] 
use prompt2 in `:set +m` mode