ghc.git
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

6 years agoAdd `:show imports` to completion table
Herbert Valerio Riedel [Tue, 9 Jul 2013 12:55:36 +0000 (14:55 +0200)] 
Add `:show imports` to completion table

6 years agoAdd `:show linker` command to `:help` output
Herbert Valerio Riedel [Tue, 9 Jul 2013 12:55:14 +0000 (14:55 +0200)] 
Add `:show linker` command to `:help` output

6 years agoDocument -fwarn-pointless-pragmas; fixes #8049
Ian Lynagh [Sun, 21 Jul 2013 20:02:40 +0000 (21:02 +0100)] 
Document -fwarn-pointless-pragmas; fixes #8049

6 years agoOn second thoughts, don't document -fwarn-alternative-layout-rule-transitional
Ian Lynagh [Sun, 21 Jul 2013 19:59:40 +0000 (20:59 +0100)] 
On second thoughts, don't document -fwarn-alternative-layout-rule-transitional

I think the alternative layout rule flags are deliberately not
documented at the moment.

6 years agoSync the list of default warnings with reality; fixes #8060.
Ian Lynagh [Sun, 21 Jul 2013 18:43:40 +0000 (19:43 +0100)] 
Sync the list of default warnings with reality; fixes #8060.

6 years agoFix bug in readMVar implementation: keep clean MVars clean.
Edward Z. Yang [Wed, 17 Jul 2013 22:49:47 +0000 (15:49 -0700)] 
Fix bug in readMVar implementation: keep clean MVars clean.

The readMVar implementation had only partially implemented
a micro-optimization which allows us to avoid adding an MVar
to the mutable list if the MVar was not changed.  However,
this was not applied to the release method on the fast path,
resulting in dirty MVars which were not added to the mutable list.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoAdd support for byte endian swapping for Word 16/32/64.
Austin Seipp [Wed, 17 Jul 2013 08:41:01 +0000 (03:41 -0500)] 
Add support for byte endian swapping for Word 16/32/64.

  * Exposes bSwap{,16,32,64}# primops
  * Add a new machop: MO_BSwap
  * Use a Stg implementation (hs_bswap{16,32,64}) for other implementation
    in NCG.
  * Generate bswap in X86 NCG for 32 and 64 bits, and for 16 bits, bswap+shr
    instead of using xchg.
  * Generate llvm.bswap intrinsics in llvm codegen.

Authored-by: Vincent Hanquez <tab@snarc.org>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoUpdate docs for readMVar/tryReadMVar.
Edward Z. Yang [Wed, 17 Jul 2013 05:08:51 +0000 (22:08 -0700)] 
Update docs for readMVar/tryReadMVar.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoadding FastString.string_table to the sharedCAF/Globals.c mechanism
Nicolas Frisby [Wed, 10 Jul 2013 17:55:08 +0000 (12:55 -0500)] 
adding FastString.string_table to the sharedCAF/Globals.c mechanism

6 years agoThis reverts commit 163de25813d12764aa5ded1666af7c06fee0d67e and commit 279ac9f66a832...
Nicolas Frisby [Sat, 6 Jul 2013 17:43:57 +0000 (12:43 -0500)] 
This reverts commit 163de25813d12764aa5ded1666af7c06fee0d67e and commit 279ac9f66a83203448b279ea478b2cc1dafbd35d.

6 years agoRename atomicReadMVar and friends to readMVar.
Edward Z. Yang [Sat, 13 Jul 2013 01:12:25 +0000 (18:12 -0700)] 
Rename atomicReadMVar and friends to readMVar.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoFix typo in description
Gabor Greif [Thu, 11 Jul 2013 20:47:03 +0000 (22:47 +0200)] 
Fix typo in description

6 years agoRelease note for atomicReadMVar and friends.
Edward Z. Yang [Wed, 10 Jul 2013 20:41:49 +0000 (13:41 -0700)] 
Release note for atomicReadMVar and friends.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoImplement tryAtomicReadMVar#.
Edward Z. Yang [Wed, 10 Jul 2013 20:32:15 +0000 (13:32 -0700)] 
Implement tryAtomicReadMVar#.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoDon't call dirty_MVAR on atomicReadMVar unless we change the MVar.
Edward Z. Yang [Wed, 10 Jul 2013 20:32:00 +0000 (13:32 -0700)] 
Don't call dirty_MVAR on atomicReadMVar unless we change the MVar.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoAdd LOCK_CLOSURE macro for use in C--, which inlines the capability check.
Edward Z. Yang [Wed, 10 Jul 2013 20:10:32 +0000 (13:10 -0700)] 
Add LOCK_CLOSURE macro for use in C--, which inlines the capability check.

This patch also tweaks lockClosure to be INLINE_HEADER, so C-- clients
don't accidentally use them and updates some other code which locks closures
to do the capability check.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoImplement atomicReadMVar, fixing #4001.
Edward Z. Yang [Mon, 8 Jul 2013 18:03:35 +0000 (11:03 -0700)] 
Implement atomicReadMVar, fixing #4001.

We add the invariant to the MVar blocked threads queue that
threads blocked on an atomic read are always at the front of
the queue.  This invariant is easy to maintain, since takers
are only ever added to the end of the queue.

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Ian Lynagh [Tue, 9 Jul 2013 10:06:17 +0000 (11:06 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

6 years agoDisable executable stack for the linker note, fixing #703 (again)
Edward Z. Yang [Tue, 9 Jul 2013 07:01:43 +0000 (00:01 -0700)] 
Disable executable stack for the linker note, fixing #703 (again)

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agoFix build
Ian Lynagh [Sun, 7 Jul 2013 20:34:17 +0000 (21:34 +0100)] 
Fix build

6 years agoAlpha rename some functions for consistency
Ian Lynagh [Sun, 7 Jul 2013 20:28:36 +0000 (21:28 +0100)] 
Alpha rename some functions for consistency

6 years agoDocs for ghci completion command for ghci; part of #5687. Patch from hvr.
Ian Lynagh [Sun, 7 Jul 2013 20:27:37 +0000 (21:27 +0100)] 
Docs for ghci completion command for ghci; part of #5687. Patch from hvr.

6 years agoemacs-friendly completion command for ghci; part of #5687. Patch from hvr.
Ian Lynagh [Sun, 7 Jul 2013 20:26:18 +0000 (21:26 +0100)] 
emacs-friendly completion command for ghci; part of #5687. Patch from hvr.

6 years agoFix segfault with STM; fixes #8035. Patch from errge.
Ian Lynagh [Sun, 7 Jul 2013 18:13:31 +0000 (19:13 +0100)] 
Fix segfault with STM; fixes #8035. Patch from errge.

6 years agoAvoid needlessly splitting a UniqSupply when extracting a Unique (#8041)
Patrick Palka [Wed, 26 Jun 2013 14:21:06 +0000 (10:21 -0400)] 
Avoid needlessly splitting a UniqSupply when extracting a Unique (#8041)

In many places, 'splitUniqSupply' + 'uniqFromSupply' is used to split a
UniqSupply into a Unique and a new UniqSupply. In such places we should
instead use the more efficient and more appropriate
'takeUniqFromSupply' (or equivalent).

Not only is the former method slower, it also generates and throws away
an extra Unique.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoRemove spurious extra brace in LLVM metadata
Peter Wortmann [Thu, 4 Jul 2013 16:16:45 +0000 (17:16 +0100)] 
Remove spurious extra brace in LLVM metadata

This actually caused a segfault in the optimized stage 2 compiler due to
wrong TBAA data.

Signed-off-by: David Terei <davidterei@gmail.com>
6 years agoAlways have LLVM optimize globals
Peter Wortmann [Tue, 2 Jul 2013 22:42:27 +0000 (23:42 +0100)] 
Always have LLVM optimize globals

This pass is pretty cheap and eliminates the aliases generated by the LLVM
backend. This in turn is required for dynamic linking to work correctly,
as LLVM fails to properly attribute calls to aliased addresses.

Signed-off-by: David Terei <davidterei@gmail.com>
6 years agoFix llvm.prefetch instrinct for old LLVM versions
Peter Wortmann [Thu, 4 Jul 2013 16:15:27 +0000 (17:15 +0100)] 
Fix llvm.prefetch instrinct for old LLVM versions

Seems the last parameter to llvm.prefectch was added in LLVM 3.0.

Signed-off-by: David Terei <davidterei@gmail.com>
6 years agocopy the plugin's FastStringTable changes back into the host compiler
Nicolas Frisby [Fri, 5 Jul 2013 00:26:03 +0000 (19:26 -0500)] 
copy the plugin's FastStringTable changes back into the host compiler

6 years agoinclude FastString.string_table in CoreMonad.reinitializeGlobals
Nicolas Frisby [Wed, 3 Jul 2013 23:23:54 +0000 (18:23 -0500)] 
include FastString.string_table in CoreMonad.reinitializeGlobals

6 years agoComment out a leftover pprTrace
Gabor Greif [Wed, 3 Jul 2013 20:56:23 +0000 (22:56 +0200)] 
Comment out a leftover pprTrace

6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Ian Lynagh [Wed, 3 Jul 2013 12:59:59 +0000 (13:59 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

6 years agoChange the ranlib detection
Ian Lynagh [Tue, 2 Jul 2013 23:16:16 +0000 (00:16 +0100)] 
Change the ranlib detection

On Windows, the ranlib in the path may not be the right ranlib (it may
be the 32bit ranlib when we are making a Win64 compiler, or vice-versa).
Therefore we can't leave it up to libffi to detect the right ranlib, but
need to tell it which ranlib to use. This means that we need to find
ranlib even if we don't actually need it ourselves.

6 years agoDo not build dynamic libraries with the perf-llvm BuildFlavour.
Geoffrey Mainland [Tue, 2 Jul 2013 20:30:33 +0000 (21:30 +0100)] 
Do not build dynamic libraries with the perf-llvm BuildFlavour.

6 years agoFix Trac #8028.
Richard Eisenberg [Tue, 2 Jul 2013 20:07:07 +0000 (21:07 +0100)] 
Fix Trac #8028.

Check for an empty list of equations when converting
a closed type family from TH to an HsDecl.

6 years agoTrack haskeline Win64 fix
Ian Lynagh [Tue, 2 Jul 2013 15:47:37 +0000 (16:47 +0100)] 
Track haskeline Win64 fix

6 years agoFix bumpTickyLitBy[E] on Win64; fixes #7940
Ian Lynagh [Tue, 2 Jul 2013 14:48:08 +0000 (15:48 +0100)] 
Fix bumpTickyLitBy[E] on Win64; fixes #7940

A comment claimed that the ticky counters are unsigned longs, but
as far as I can see that isn't the case: They're already word-sized
values.

6 years agoFix build on Win64
Ian Lynagh [Tue, 2 Jul 2013 13:59:08 +0000 (14:59 +0100)] 
Fix build on Win64

gcc thought that fourthFloating could be used without being defined.
In actual fact it couldn't, but I've refactored the code so that it
can now see this.

6 years agoFix #7970, #2161, unfix #551
Simon Marlow [Tue, 2 Jul 2013 11:10:53 +0000 (12:10 +0100)] 
Fix #7970, #2161, unfix #551

Establish the reachability of threads before weak pointers.  Hence a
deadlocked thread can keep a weak pointer alive and prevent it from
being finalized early.  However, an reference from the finalizer of a
weak pointer will no longer prevent a thread from being considered
deadlocked (#551).  To keep the thread alive in that situation you
need to use a StablePtr.

See comments on #7970 and in the code for more details.

6 years agoMerge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc
Richard Eisenberg [Fri, 28 Jun 2013 16:28:16 +0000 (17:28 +0100)] 
Merge branch 'master' of ssh://darcs.haskell.org/srv/darcs/ghc