ghc.git
7 years agoFollow changes in haskeline
Ian Lynagh [Sun, 6 May 2012 19:01:00 +0000 (20:01 +0100)] 
Follow changes in haskeline

I'm not sure if we still need to encode the error, but validate is happy
with this fix, at least.

7 years agoFix the way we call strip on DLLs
Ian Lynagh [Sun, 6 May 2012 18:39:41 +0000 (19:39 +0100)] 
Fix the way we call strip on DLLs

On Win64, "install -s" calls a strip that doesn't understand 64bit
binaries. For some reason, this means the DLLs end up non-executable,
which means executables that use them just segfault.

7 years agoFix RTS DLL references on Win64
Ian Lynagh [Sun, 6 May 2012 14:54:13 +0000 (15:54 +0100)] 
Fix RTS DLL references on Win64

7 years agoWorking towards fixing DLLs on Win64
Ian Lynagh [Sun, 6 May 2012 01:21:17 +0000 (02:21 +0100)] 
Working towards fixing DLLs on Win64

7 years agoInstall DLLs as executable
Ian Lynagh [Sat, 5 May 2012 22:52:14 +0000 (23:52 +0100)] 
Install DLLs as executable

Otherwise the dynHelloWorld test segfaults when run from an installed
compiler on cygwin.

7 years agoUse lnats to avoid overflowing when allocating large amounts
Ian Lynagh [Sat, 5 May 2012 13:54:09 +0000 (14:54 +0100)] 
Use lnats to avoid overflowing when allocating large amounts

Stops outofmem segfaulting on Win64

7 years agoEnable and fix building dynlibs on Win64
Ian Lynagh [Fri, 4 May 2012 19:07:56 +0000 (20:07 +0100)] 
Enable and fix building dynlibs on Win64

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Fri, 4 May 2012 16:59:17 +0000 (17:59 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoFollow libffi changes on Windows
Ian Lynagh [Fri, 4 May 2012 15:26:59 +0000 (16:26 +0100)] 
Follow libffi changes on Windows

7 years agoFix typo in error message (Trac #6076)
Simon Peyton Jones [Fri, 4 May 2012 14:29:30 +0000 (15:29 +0100)] 
Fix typo in error message (Trac #6076)

7 years agoFix overnight build breakage (fix from simonpj)
Simon Marlow [Thu, 3 May 2012 07:47:40 +0000 (08:47 +0100)] 
Fix overnight build breakage (fix from simonpj)

compiler/simplCore/SimplUtils.lhs:1668:5-25: Irrefutable pattern failed for pattern ((_, _, rhs1) : _)

7 years agoAdd _getpid to rtsSyms on Win64
Ian Lynagh [Thu, 3 May 2012 12:08:52 +0000 (13:08 +0100)] 
Add _getpid to rtsSyms on Win64

7 years agoCheck the calling convention of foreign imported labels is supported
Ian Lynagh [Thu, 3 May 2012 11:13:02 +0000 (12:13 +0100)] 
Check the calling convention of foreign imported labels is supported

Fixes 2276_ghci on Win64

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Wed, 2 May 2012 17:01:32 +0000 (18:01 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoWin64 build fix
Ian Lynagh [Wed, 2 May 2012 16:31:59 +0000 (17:31 +0100)] 
Win64 build fix

7 years agoMore Win64 ghci fixes
Ian Lynagh [Wed, 2 May 2012 16:00:56 +0000 (17:00 +0100)] 
More Win64 ghci fixes

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 2 May 2012 14:44:30 +0000 (15:44 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoAllow cases with empty alterantives
Simon Peyton Jones [Wed, 2 May 2012 14:44:14 +0000 (15:44 +0100)] 
Allow cases with empty alterantives

This patch allows, for the first time, case expressions with an empty
list of alternatives. Max suggested the idea, and Trac #6067 showed
that it is really quite important.

So I've implemented the idea, fixing #6067. Main changes

 * See Note [Empty case alternatives] in CoreSyn

 * Various foldr1's become foldrs

 * IfaceCase does not record the type of the alternatives.
   I added IfaceECase for empty-alternative cases.

 * Core Lint does not complain about empty cases

 * MkCore.castBottomExpr constructs an empty-alternative case
   expression   (case e of ty {})

 * CoreToStg converts '(case e of {})' to just 'e'

7 years agoCast memory primops in the C backend (#5976)
Paolo Capriotti [Wed, 2 May 2012 14:24:46 +0000 (15:24 +0100)] 
Cast memory primops in the C backend (#5976)

To prevent conflicts with GCC builtins, generate identical code for
calls to mem primos and FFI calls.

Based on a patch by Joachim Breitner.

7 years agoWin64 Linker improvements
Ian Lynagh [Wed, 2 May 2012 14:11:45 +0000 (15:11 +0100)] 
Win64 Linker improvements

We now detect if we are given a value that is out of range for a
32bit relocation, and fail with an error.

Added a load more symbols to rtsSyms.

7 years agoAdd 'free' to the list of rtsSyms on Win64
Ian Lynagh [Wed, 2 May 2012 12:27:43 +0000 (13:27 +0100)] 
Add 'free' to the list of rtsSyms on Win64

Without this, we ended up using
    (gdb) info symbol 0x7ff756a10ac
    msvcrt!free in section .text of C:\Windows\system32\msvcrt.dll
for free, rather than
    (gdb) info symbol 0x2584128
    free in section .text of C:\m64\ghci2\q/../inplace/bin/ghc-stage2.exe
but we were trying to put the address into a 32bit relocation.

7 years agoFix Win64 build now that hsc2hs knows what platform we're on
Ian Lynagh [Tue, 1 May 2012 19:06:44 +0000 (20:06 +0100)] 
Fix Win64 build now that hsc2hs knows what platform we're on

7 years agoDefine _HOST_OS and _HOST_ARCH when calling hsc2hs
Ian Lynagh [Tue, 1 May 2012 18:14:05 +0000 (19:14 +0100)] 
Define _HOST_OS and _HOST_ARCH when calling hsc2hs

In particular, old-time assumes that mingw32_HOST_OS is set when
we are on Windows, and was going wrong on Win64 because it wasn't
defined.

7 years agoTell checkProddableBlock how many bytes we want to write
Ian Lynagh [Tue, 1 May 2012 13:00:57 +0000 (14:00 +0100)] 
Tell checkProddableBlock how many bytes we want to write

It doesn't suffice for checkProddableBlock to just check whether the
largest possible write could be made at the address we are writing,
as if we are making a smaller write then checkProddableBlock may
conservatively think we will write off the end of the block.

Thus we now tell checkProddableBlock how many bytes we will write.

7 years agoRevert "Revert "More Win32 build fixes""
Ian Lynagh [Tue, 1 May 2012 12:14:58 +0000 (13:14 +0100)] 
Revert "Revert "More Win32 build fixes""

This reverts commit 29cd6f435f2afb332ad8faf39f5e920ff9c38d9a.

7 years agoRevert "Revert "Fix build of rts/Linker.c on Win32""
Ian Lynagh [Tue, 1 May 2012 12:14:57 +0000 (13:14 +0100)] 
Revert "Revert "Fix build of rts/Linker.c on Win32""

This reverts commit 02cf6d6f71b5772aa4ddf1b70c192a802886e2c2.

7 years agoRevert "Revert "Get GHCi working on Win64""
Ian Lynagh [Tue, 1 May 2012 12:14:53 +0000 (13:14 +0100)] 
Revert "Revert "Get GHCi working on Win64""

This reverts commit 27e585bda6ae8ab68f58abdcb9e06806414a6636.

7 years agoRevert "Get GHCi working on Win64"
Manuel M T Chakravarty [Tue, 1 May 2012 07:48:09 +0000 (17:48 +1000)] 
Revert "Get GHCi working on Win64"

This reverts commit 05b55c670c7fe3fc01827ca02aafb6926c0b69cb.

7 years agoRevert "Fix build of rts/Linker.c on Win32"
Manuel M T Chakravarty [Tue, 1 May 2012 07:47:49 +0000 (17:47 +1000)] 
Revert "Fix build of rts/Linker.c on Win32"

This reverts commit 0042c478f1169ddd9392fb39de7d0aed865a272e.

7 years agoRevert "More Win32 build fixes"
Manuel M T Chakravarty [Tue, 1 May 2012 07:43:01 +0000 (17:43 +1000)] 
Revert "More Win32 build fixes"

This reverts commit e89ef70475fa5e9cf17af01b1b5d7fced0d2e13c.

7 years agoWibble to pretty printing
Simon Peyton Jones [Tue, 1 May 2012 07:17:59 +0000 (08:17 +0100)] 
Wibble to pretty printing

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Tue, 1 May 2012 07:08:13 +0000 (08:08 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoTidy up a remaining glitch in unification
Simon Peyton Jones [Tue, 1 May 2012 07:07:52 +0000 (08:07 +0100)] 
Tidy up a remaining glitch in unification

There was one place, in type checking parallel list comprehensions
where we were unifying types, but had no convenient way to use the
resulting coercion; instead we just checked that it was Refl.  This
was Wrong Wrong; it might fail unpredicably in a GADT-like situation,
and it led to extra error-generation code used only in this one place.

This patch tidies it all up, by moving the 'return' method from the
*comprehension* to the ParStmtBlock. The latter is a new data type,
now used for each sub-chunk of a parallel list comprehension.

Because of the data type change, quite a few modules are touched,
but only in a fairly trivial way. The real changes are in TcMatches
(and corresponding desugaring); plus deleting code from TcUnify.

This patch also fixes the pretty-printing bug in Trac #6060

7 years agoFix maintenance of n_blocks in the RTS
Ian Lynagh [Mon, 30 Apr 2012 23:25:55 +0000 (00:25 +0100)] 
Fix maintenance of n_blocks in the RTS

It was causing assertion failures of
    ASSERT(countBlocks(nursery->blocks) == nursery->n_blocks)
at
    ghc-stage2: internal error: ASSERTION FAILED: file rts/sm/Sanity.c, line 878

7 years agoMore Win32 build fixes
Ian Lynagh [Mon, 30 Apr 2012 21:47:15 +0000 (22:47 +0100)] 
More Win32 build fixes

7 years agoFixes for x86/Linux
Ian Lynagh [Mon, 30 Apr 2012 19:37:29 +0000 (20:37 +0100)] 
Fixes for x86/Linux

7 years agoFix the stage1 ghc hschooks.c
Ian Lynagh [Mon, 30 Apr 2012 19:14:36 +0000 (20:14 +0100)] 
Fix the stage1 ghc hschooks.c

The stage0 compiler might have a different idea as to what type lnat
corresponds to, so cast the value to the type we want.

7 years agoFix build of rts/Linker.c on Win32
Ian Lynagh [Mon, 30 Apr 2012 17:59:24 +0000 (18:59 +0100)] 
Fix build of rts/Linker.c on Win32

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Mon, 30 Apr 2012 17:04:54 +0000 (18:04 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoGet GHCi working on Win64
Ian Lynagh [Mon, 30 Apr 2012 15:54:23 +0000 (16:54 +0100)] 
Get GHCi working on Win64

7 years agoDocument eta expansion under GHC bugs and infelicities
Simon Peyton Jones [Mon, 30 Apr 2012 15:43:02 +0000 (16:43 +0100)] 
Document eta expansion under GHC bugs and infelicities

7 years agoEgregious typo (fixes Trac #6055)
Simon Peyton Jones [Mon, 30 Apr 2012 15:20:01 +0000 (16:20 +0100)] 
Egregious typo (fixes Trac #6055)

7 years agoMerge branch 'master' of http://darcs.haskell.org//ghc
Simon Peyton Jones [Mon, 30 Apr 2012 12:43:33 +0000 (13:43 +0100)] 
Merge branch 'master' of darcs.haskell.org//ghc

7 years agoMore explicit pretty-printing of promoted TyCons with -dppr-debug
Simon Peyton Jones [Mon, 30 Apr 2012 12:40:51 +0000 (13:40 +0100)] 
More explicit pretty-printing of promoted TyCons with -dppr-debug

7 years agoMake the interface-file deserialisation work right for promoted types (Trac #6054)
Simon Peyton Jones [Mon, 30 Apr 2012 12:40:23 +0000 (13:40 +0100)] 
Make the interface-file deserialisation work right for promoted types (Trac #6054)

GHC currently uses the slightly-dodgy plan that when we proote
a TyCon to be a Kind constructor we leave it with the same Name.

That means that to make sense of a IfaceType we need to know wheter
it is really an IfaceType or an IfaceKind, because in the latter an
occurrence of (say) Maybe will be the *promoted* Maybe.

See Note [Checking IfaceTypes vs IfaceKinds] in TcIface

7 years agoRevert "Add -faggressive-primops"
Simon Peyton Jones [Fri, 27 Apr 2012 17:07:57 +0000 (18:07 +0100)] 
Revert "Add -faggressive-primops"

This reverts commit 745ec959ff647c3a455767d20f6f37e9a0cc65aa.

Sigh. Seg fault

7 years agoRevert "Refactoring in CoreUtils/CoreArity"
Simon Peyton Jones [Fri, 27 Apr 2012 17:07:26 +0000 (18:07 +0100)] 
Revert "Refactoring in CoreUtils/CoreArity"

This reverts commit e3f8557c2aca04cf64eec6a1aacde6e01c0944ff.

Sigh. Seg fault.

7 years agoRevert "Make more primops cheaper"
Simon Peyton Jones [Fri, 27 Apr 2012 17:06:33 +0000 (18:06 +0100)] 
Revert "Make more primops cheaper"

This reverts commit a365a58eade7cb2c961af8e60c20b7d78b1b7484.

Sigh.  Seg fault.  Major sigh.

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Fri, 27 Apr 2012 16:46:43 +0000 (17:46 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoMake more primops cheaper
Simon Peyton Jones [Fri, 27 Apr 2012 16:45:56 +0000 (17:45 +0100)] 
Make more primops cheaper

This puts back the earlier behaviour (pre "aggressive-primop" patch)
whereby most primpos were considered cheap.  In the aggressive-primop
patch we made them ones with bigger "code_size" seem not-cheap, but
this slows down fft2 a lot.  So I've reverted to the earlier behaviour.

   +++ b/compiler/prelude/PrimOp.lhs
   @@ -450,6 +450,8 @@ primOpIsCheap op
      -- This is vital; see Note [PrimOp can_fail and has_side_effects]
    && not (primOpOutOfLine op)
  -   -- && primOpCodeSize op <= primOpCodeSizeDefault
  +-- Omitting; it makes fft2 run a lot slower by preventing
  +--           eta expansion in an inner loop, with a primop cosDouble#

7 years agoComment out a pprTrace unless DEBUG is on (fix Trac #5929)
Simon Peyton Jones [Fri, 27 Apr 2012 16:42:22 +0000 (17:42 +0100)] 
Comment out a pprTrace unless DEBUG is on (fix Trac #5929)

7 years agoMerge branch 'master' of darcs.haskell.org:/home/darcs/ghc
Simon Peyton Jones [Fri, 27 Apr 2012 16:35:32 +0000 (17:35 +0100)] 
Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc

7 years agoPretty printing and debug improvements
Simon Peyton Jones [Fri, 27 Apr 2012 15:50:09 +0000 (16:50 +0100)] 
Pretty printing and debug improvements

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Fri, 27 Apr 2012 15:28:31 +0000 (16:28 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoRefactoring in CoreUtils/CoreArity
Simon Peyton Jones [Fri, 27 Apr 2012 15:28:02 +0000 (16:28 +0100)] 
Refactoring in CoreUtils/CoreArity

In the previous commit about "aggressive primops" I wanted a new
function CoreUtils.exprCertainlyTerminates.  In doing this I ended up
with a significant refactoring in CoreUtils.  The new structure has
quite a lot of nice sharing:

         exprIsCheap             = exprIsCheap' isHNFApp
         exprIsExpandable        = exprIsCheap' isConLikeApp

         exprIsHNF               = exprIsHNFlike isHNFApp
         exprIsConLike           = exprIsHNFlike isConLikeApp
         exprCertainlyTerminates = exprIsHNFlike isTerminatingApp

This patch also does some renaming

    CheapAppFun      -->   FunAppAnalyser
    isCheapApp       -->   isHNFApp
    isExpandableApp  -->   isConLikeApp

7 years agoAdd -faggressive-primops
Simon Peyton Jones [Fri, 27 Apr 2012 15:25:12 +0000 (16:25 +0100)] 
Add -faggressive-primops

I'm experimenting with making GHC a bit more aggressive about

  a) dropping case expressions if the result is unused
        Simplify.rebuildCase, CaseElim equation

  b) floating case expressions inwards
        FloatIn.fiExpr, AnnCase

In both cases the new behaviour is gotten with a static (debug)
flag -faggressive-primops.  The extra "aggression" is to allow
discarding and floating in for side-effecting operations.  See
the new, extensive Note [PrimOp can_fail and has_side_effects]
and Note [Aggressive PrimOps] in PrimoOp.

When discarding a case with unused binders, in the lifted-type
case it's definitely ok if the scrutinee terminates; previously
we were checking exprOkForSpeculation, which is significantly
worse.

There's a related change to CoreUtils/CoreArity, but I'll put that
in the next commit.

7 years agoDebug printing only
Simon Peyton Jones [Fri, 27 Apr 2012 15:20:38 +0000 (16:20 +0100)] 
Debug printing only

7 years agoSmall refactoring in kind generalisation of type declarations
Simon Peyton Jones [Fri, 27 Apr 2012 15:19:51 +0000 (16:19 +0100)] 
Small refactoring in kind generalisation of type declarations

7 years agoWhite space and debug printint
Simon Peyton Jones [Fri, 27 Apr 2012 15:19:23 +0000 (16:19 +0100)] 
White space and debug printint

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Fri, 27 Apr 2012 14:14:47 +0000 (15:14 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agohs_init(): cope with argc and/or argv being NULL (#6006)
Simon Marlow [Fri, 27 Apr 2012 12:20:56 +0000 (13:20 +0100)] 
hs_init(): cope with argc and/or argv being NULL (#6006)

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Fri, 27 Apr 2012 12:11:50 +0000 (13:11 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoCatch illegal imports earlier (#6007)
Simon Marlow [Fri, 27 Apr 2012 12:07:50 +0000 (13:07 +0100)] 
Catch illegal imports earlier (#6007)

7 years agoAdd a new primop mkWeakNoFinalizer (#5879)
Simon Marlow [Fri, 27 Apr 2012 10:12:38 +0000 (11:12 +0100)] 
Add a new primop mkWeakNoFinalizer (#5879)

7 years agoFix build on OS X
Ian Lynagh [Fri, 27 Apr 2012 10:48:37 +0000 (11:48 +0100)] 
Fix build on OS X

7 years agoadd support for ARM hard-float ABI (fixes #5914)
Karel Gardas [Wed, 25 Apr 2012 07:04:50 +0000 (09:04 +0200)] 
add support for ARM hard-float ABI (fixes #5914)

This patch enhances Platform's ArchARM to include ARM ABI value. It also
tweaks configure machinery to detect hard-float ABI and to set it wherever
needed. Finally when hard-float ABI is in use, pass appropriate compiler
option to the LLVM's llc. Fixes #5914.

7 years agoDoc: updated list of warnings not enabled by -Wall (#4817)
Paolo Capriotti [Fri, 27 Apr 2012 08:46:06 +0000 (09:46 +0100)] 
Doc: updated list of warnings not enabled by -Wall (#4817)

7 years agoFlags documentation: -fwarn-unrecognized-pragmas is enabled by -Wall (#6050)
Paolo Capriotti [Fri, 27 Apr 2012 08:40:40 +0000 (09:40 +0100)] 
Flags documentation: -fwarn-unrecognized-pragmas is enabled by -Wall (#6050)

7 years agoMerge branch 'master' of win:c:/ghc/git/cygwin/.
Ian Lynagh [Fri, 27 Apr 2012 00:30:12 +0000 (01:30 +0100)] 
Merge branch 'master' of win:c:/ghc/git/cygwin/.

7 years agoWin32 build fix
Ian Lynagh [Fri, 27 Apr 2012 00:28:26 +0000 (01:28 +0100)] 
Win32 build fix

7 years agoFix build on Win32, and handle the FMT_* #defines in a slightly nicer way
Ian Lynagh [Fri, 27 Apr 2012 00:27:48 +0000 (01:27 +0100)] 
Fix build on Win32, and handle the FMT_* #defines in a slightly nicer way

7 years agoSimplify format specifiers
Ian Lynagh [Thu, 26 Apr 2012 23:25:17 +0000 (00:25 +0100)] 
Simplify format specifiers

It turns out that we can use %zu and %llu on Win32, provided we
include PosixSource everywhere we want to use them.

7 years agoWin32 build fix
Ian Lynagh [Thu, 26 Apr 2012 22:04:05 +0000 (23:04 +0100)] 
Win32 build fix

7 years agoDocument the -fwarn-unsupported-calling-conventions flag
Ian Lynagh [Thu, 26 Apr 2012 20:49:46 +0000 (21:49 +0100)] 
Document the -fwarn-unsupported-calling-conventions flag

7 years agoOS X build fixes
Ian Lynagh [Thu, 26 Apr 2012 19:53:18 +0000 (20:53 +0100)] 
OS X build fixes

OS X doesn't understand 'gnu_printf', so we need to onyl use it
conditionally.

7 years agoFix build on OSX: Use the 'z' format specifier modifier when possible
Ian Lynagh [Thu, 26 Apr 2012 19:46:00 +0000 (20:46 +0100)] 
Fix build on OSX: Use the 'z' format specifier modifier when possible

On Win32 it's not recognised, so we unfortunately can't use it
unconditionally.

7 years agoBuild fixes
Ian Lynagh [Thu, 26 Apr 2012 19:24:06 +0000 (20:24 +0100)] 
Build fixes

7 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 26 Apr 2012 18:45:11 +0000 (19:45 +0100)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

7 years agoMerge win:c:/m64/reg8
Ian Lynagh [Thu, 26 Apr 2012 18:40:52 +0000 (19:40 +0100)] 
Merge win:c:/m64/reg8

7 years agoAdd SRC_[CH]C_WARNING_OPTS
Ian Lynagh [Thu, 26 Apr 2012 18:28:39 +0000 (19:28 +0100)] 
Add SRC_[CH]C_WARNING_OPTS

This allows you to say things like
    SRC_HC_WARNING_OPTS += -fno-warn-unsupported-calling-conventions
in mk/validate.mk.

Unfortunately, we can't just use SRC_HC_OPTS, as that gets put before
the more specific options (e.g. ghc-options in a .cabal file), many of
which include -Wall. So now we have:
    ghc $(SRC_HC_OPTS) ... options from .cabal etc ... $(SRC_HC_WARNING_OPTS)

7 years agoWin64 build fix
Ian Lynagh [Thu, 26 Apr 2012 17:39:15 +0000 (18:39 +0100)] 
Win64 build fix

7 years agoUse coreBindsStats more than coreBindsSize
Simon Peyton Jones [Thu, 26 Apr 2012 17:06:36 +0000 (18:06 +0100)] 
Use coreBindsStats more than coreBindsSize

7 years agoTiny refactor
Simon Peyton Jones [Thu, 26 Apr 2012 17:05:54 +0000 (18:05 +0100)] 
Tiny refactor

7 years agoFix lookup of fixity signatures for type operators (#6027)
Paolo Capriotti [Wed, 25 Apr 2012 13:10:40 +0000 (14:10 +0100)] 
Fix lookup of fixity signatures for type operators (#6027)

Extend name lookup for fixity declaration to the TcClsName namespace for
all reader names, instead of only those in DataName.

7 years agoFix warnings on Win64
Ian Lynagh [Thu, 26 Apr 2012 15:52:44 +0000 (16:52 +0100)] 
Fix warnings on Win64

Mostly this meant getting pointer<->int conversions to use the right
sizes. lnat is now size_t, rather than unsigned long, as that seems a
better match for how it's used.

7 years agoMake the RHS of a generic FamInst use the same type variables as the LHS!
Simon Peyton Jones [Thu, 26 Apr 2012 13:39:59 +0000 (14:39 +0100)] 
Make the RHS of a generic FamInst use the same type variables as the LHS!

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Thu, 26 Apr 2012 12:51:26 +0000 (13:51 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoDo not generate derived instances in TH brackets
Simon Peyton Jones [Thu, 26 Apr 2012 12:47:54 +0000 (13:47 +0100)] 
Do not generate derived instances in TH brackets

See Note [Deriving inside TH brackets] in TcInstDcls
Fixes Trac #6005 (again)

7 years agoRemove spurious debug print
Simon Peyton Jones [Thu, 26 Apr 2012 12:47:20 +0000 (13:47 +0100)] 
Remove spurious debug print

7 years agoAllow case expressions with a single alternative to be floated in.
Geoffrey Mainland [Thu, 26 Apr 2012 12:00:07 +0000 (13:00 +0100)] 
Allow case expressions with a single alternative to be floated in.

This change generalizes support for floating in case expressions. Previously,
case expression with an unlifted scrutinee and a single DEFAULT alternative were
floated in. In particular, this allowed array index operations to be floated
in. We also want to float in SIMD unpack primops, which return an unboxed tuple
of scalars, thus the generalization.

7 years agoImprove debug print a bit
Simon Peyton Jones [Thu, 26 Apr 2012 08:29:29 +0000 (09:29 +0100)] 
Improve debug print a bit

7 years agoFix a one-character typo (kv1 should be kv2!)
Simon Peyton Jones [Thu, 26 Apr 2012 08:29:15 +0000 (09:29 +0100)] 
Fix a one-character typo (kv1 should be kv2!)

Fixes Trac #6020, #6044

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 25 Apr 2012 14:34:01 +0000 (15:34 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoFix typo
Simon Peyton Jones [Wed, 25 Apr 2012 14:28:28 +0000 (15:28 +0100)] 
Fix typo

7 years agomake -XNoImplicitPrelude work properly in GHCi
Simon Marlow [Wed, 25 Apr 2012 13:04:10 +0000 (14:04 +0100)] 
make -XNoImplicitPrelude work properly in GHCi

7 years agodistclean was removing ghc-pwd/dist, should be ghc-pwd/dist-boot
Simon Marlow [Mon, 16 Apr 2012 13:54:45 +0000 (14:54 +0100)] 
distclean was removing ghc-pwd/dist, should be ghc-pwd/dist-boot

This has been causing bloat in the src dist for ages.

Noticed while looking at #6009, but I don't think this is the bug
(./configure always removes ghc-pwd/dist-boot before building ghc-pwd)

7 years agoMore fixes to kind polymorphism, fixes Trac #6035, #6036
Simon Peyton Jones [Wed, 25 Apr 2012 11:56:44 +0000 (12:56 +0100)] 
More fixes to kind polymorphism, fixes Trac #6035, #6036

* Significant refactoring in tcFamPats and tcConDecl

* It seems that we have to allow KindVars (not just
  TcKindVars during kind unification.  See
  Note [Unifying kind variables] in TcUnify.

* Be consistent about zonkQuantifiedTyVars

* Split the TcType->TcType zonker (in TcMType)
   from the TcType->Type   zonker (in TcHsSyn)
  The clever parameterisation was doing my head in,
  and it's only a small function

* Remove some dead code (tcTyVarBndrsGen)

7 years agoFix looking up of Exact RdrNames, fixes Trac #6005
Simon Peyton Jones [Wed, 25 Apr 2012 11:55:41 +0000 (12:55 +0100)] 
Fix looking up of Exact RdrNames, fixes Trac #6005

See Note [Splicing Exact names] in RnEnv.

7 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 25 Apr 2012 11:48:46 +0000 (12:48 +0100)] 
Merge branch 'master' of darcs.haskell.org/ghc

7 years agoremoved superfluous flag for vectScalarFun
Gabriele Keller [Wed, 25 Apr 2012 04:37:26 +0000 (14:37 +1000)] 
removed superfluous flag for vectScalarFun