ghc.git
6 years agoFix spelling
Gabor Greif [Wed, 6 Feb 2013 13:45:21 +0000 (14:45 +0100)] 
Fix spelling

6 years agoFix spelling mistake in user guide (#7657).
David Terei [Wed, 6 Feb 2013 08:01:12 +0000 (00:01 -0800)] 
Fix spelling mistake in user guide (#7657).

6 years agoWarning police
Manuel M T Chakravarty [Wed, 6 Feb 2013 03:07:44 +0000 (14:07 +1100)] 
Warning police

6 years agoMerge branch 'refs/heads/vect-avoid-merge'
Manuel M T Chakravarty [Wed, 6 Feb 2013 02:13:59 +0000 (13:13 +1100)] 
Merge branch 'refs/heads/vect-avoid-merge'

6 years agoVectoriser: merge fix
Manuel M T Chakravarty [Wed, 6 Feb 2013 00:00:39 +0000 (11:00 +1100)] 
Vectoriser: merge fix

6 years agoMerge branch 'refs/heads/vect-avoid' into vect-avoid-merge
Manuel M T Chakravarty [Tue, 5 Feb 2013 23:31:17 +0000 (10:31 +1100)] 
Merge branch 'refs/heads/vect-avoid' into vect-avoid-merge

Conflicts:
compiler/rename/RnSource.lhs
compiler/simplCore/OccurAnal.lhs
compiler/vectorise/Vectorise/Exp.hs

NB: Merging instead of rebasing for a change. During rebase Git got confused due to the lack of the submodules in my quite old fork.

6 years agoUse usecs rather than msecs for microseconds
Ian Lynagh [Tue, 5 Feb 2013 23:26:24 +0000 (23:26 +0000)] 
Use usecs rather than msecs for microseconds

We were using "us" elsewhere, so this was inconsistent.

6 years agoFix a typo
Ian Lynagh [Tue, 5 Feb 2013 18:51:29 +0000 (18:51 +0000)] 
Fix a typo

6 years agoAdd a dependency of program modules on GHC.TopHandler
Ian Lynagh [Tue, 5 Feb 2013 17:38:43 +0000 (17:38 +0000)] 
Add a dependency of program modules on GHC.TopHandler

If you were unlucky, the build could fail, e.g.:

utils\mkUserGuidePart\Main.hs:1:1:
    Failed to load interface for `GHC.TopHandler'
    There are files missing in the `base' package,
    try running 'ghc-pkg check'.
    Use -v to see a list of the files searched for.
utils/mkUserGuidePart/ghc.mk:18: recipe for target `utils/mkUserGuidePart/dist/build/Main.o' failed

6 years agoAdd the new random commit again
Ian Lynagh [Tue, 5 Feb 2013 14:08:05 +0000 (14:08 +0000)] 
Add the new random commit again

6 years agoinstall ghc-pkg correctly when Stage1Only=YES (#7639)
Simon Marlow [Tue, 5 Feb 2013 12:39:50 +0000 (12:39 +0000)] 
install ghc-pkg correctly when Stage1Only=YES (#7639)

6 years agoRemove '-favoid-vect' and add '-fvectorisation-avoidance'
Manuel M T Chakravarty [Tue, 5 Feb 2013 06:53:50 +0000 (17:53 +1100)] 
Remove '-favoid-vect' and add '-fvectorisation-avoidance'

* By default '-fvectorisation-avoidance' is enabled at all optimisation levels (but it only matters in combination with '-fvectorise').
* The new vectoriser always uses vectorisation avoidance, but with '-fno-vectorisation-avoidance' it restricts it to simple scalar applications (and dictionary computations)

6 years agoRevert "Update the random repo again, now the patch is actually pushed"
Ian Lynagh [Mon, 4 Feb 2013 22:45:12 +0000 (22:45 +0000)] 
Revert "Update the random repo again, now the patch is actually pushed"

This reverts commit a40e7d7082ac75b4629db9bda75366519f3218a0.

6 years agoUpdate the random repo again, now the patch is actually pushed
Ian Lynagh [Mon, 4 Feb 2013 22:40:47 +0000 (22:40 +0000)] 
Update the random repo again, now the patch is actually pushed

6 years agoRevert random submodule back to an extant hash.
Geoffrey Mainland [Mon, 4 Feb 2013 17:20:51 +0000 (17:20 +0000)] 
Revert random submodule back to an extant hash.

6 years agoMerge commit '3cedbfb49996da2f029b4a84ca39f4d21f309813'
Simon Marlow [Mon, 4 Feb 2013 11:19:33 +0000 (11:19 +0000)] 
Merge commit '3cedbfb49996da2f029b4a84ca39f4d21f309813'

* commit '3cedbfb49996da2f029b4a84ca39f4d21f309813':
  AsmCodeGen.NcgImpl.ncgMakeFarBranches should take account of info tables (#709)
  Move AsmCodeGen.makeFarBranches to PPC.Instr (#709)

6 years agoVectoriser: avoid producing (\v -> v) v in liftSimple
Manuel M T Chakravarty [Mon, 4 Feb 2013 06:54:16 +0000 (17:54 +1100)] 
Vectoriser: avoid producing (\v -> v) v in liftSimple

6 years agoVectoriser: abstract arguments to scalar functions in the right order
Manuel M T Chakravarty [Mon, 4 Feb 2013 05:43:34 +0000 (16:43 +1100)] 
Vectoriser: abstract arguments to scalar functions in the right order

6 years agoVectoriser: binders of encapsulated lambdas need to be scalar
Manuel M T Chakravarty [Mon, 4 Feb 2013 03:28:50 +0000 (14:28 +1100)] 
Vectoriser: binders of encapsulated lambdas need to be scalar

6 years agoVectoriser: PArray may be part of identity conversions
Manuel M T Chakravarty [Mon, 4 Feb 2013 01:48:30 +0000 (12:48 +1100)] 
Vectoriser: PArray may be part of identity conversions

6 years agoFix tidying of vectorised code
Manuel M T Chakravarty [Mon, 4 Feb 2013 01:48:00 +0000 (12:48 +1100)] 
Fix tidying of vectorised code

* We need to keep the vectorised version of a variable alive while the original is alive.
* This implies that the vectorised version needs to get into the iface if the original appears in an unfolding.

6 years agoFollow random submodule change
Ian Lynagh [Sun, 3 Feb 2013 16:29:17 +0000 (16:29 +0000)] 
Follow random submodule change

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Sun, 3 Feb 2013 15:43:16 +0000 (15:43 +0000)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

6 years agorandom is a submodule
Ian Lynagh [Sun, 3 Feb 2013 15:31:43 +0000 (15:31 +0000)] 
random is a submodule

Looks like I forgot to make it one in the original conversion

6 years agoremove last vestiges of AlienScript, it is not used any more
Gabor Greif [Sat, 2 Feb 2013 00:14:41 +0000 (01:14 +0100)] 
remove last vestiges of AlienScript, it is not used any more

6 years agoAsmCodeGen.NcgImpl.ncgMakeFarBranches should take account of info tables (#709)
PHO [Wed, 19 Dec 2012 23:13:37 +0000 (08:13 +0900)] 
AsmCodeGen.NcgImpl.ncgMakeFarBranches should take account of info tables (#709)

We have to reduce the maximum number of instructions to jump over depending on the number of info tables in a proc.

6 years agoMove AsmCodeGen.makeFarBranches to PPC.Instr (#709)
PHO [Wed, 19 Dec 2012 17:13:51 +0000 (02:13 +0900)] 
Move AsmCodeGen.makeFarBranches to PPC.Instr (#709)

Its implementation is totally specific to PPC.

6 years agosome more typos
Gabor Greif [Sat, 2 Feb 2013 02:39:40 +0000 (03:39 +0100)] 
some more typos

6 years agospelling
Gabor Greif [Sat, 2 Feb 2013 01:14:15 +0000 (02:14 +0100)] 
spelling

6 years agoMinor documentation and indentation/layout fixes to SpecConstr
Amos Robinson [Sat, 2 Feb 2013 01:45:24 +0000 (12:45 +1100)] 
Minor documentation and indentation/layout fixes to SpecConstr

6 years agoMimic OldCmm basic block ordering in the LLVM backend.
Geoffrey Mainland [Wed, 16 Jan 2013 16:06:48 +0000 (16:06 +0000)] 
Mimic OldCmm basic block ordering in the LLVM backend.

In OldCmm, the false case of a conditional was a fallthrough. In Cmm,
conditionals have both true and false successors. When we convert Cmm to LLVM,
we now first re-order Cmm blocks so that the false successor of a conditional
occurs next in the list of basic blocks, i.e., it is a fallthrough, just like it
(necessarily) did in OldCmm. Surprisingly, this can make a big performance
difference.

6 years agoAdd prefetch primops.
Geoffrey Mainland [Thu, 15 Nov 2012 10:16:29 +0000 (10:16 +0000)] 
Add prefetch primops.

6 years agoAdd a primop attribute llvm_only.
Geoffrey Mainland [Fri, 2 Nov 2012 14:04:31 +0000 (14:04 +0000)] 
Add a primop attribute llvm_only.

The llvm_only attribute indicates that a primop is only available when using the
LLVM back-end.

6 years agoAdd support for passing SSE vectors in registers.
Geoffrey Mainland [Wed, 31 Oct 2012 15:42:01 +0000 (15:42 +0000)] 
Add support for passing SSE vectors in registers.

This patch adds support for 6 XMM registers on x86-64 which overlap with the F
and D registers and may hold 128-bit wide SIMD vectors. Because there is not a
good way to attach type information to STG registers, we aggressively bitcast in
the LLVM back-end.

6 years agoAdd the Int64X2# primitive type and associated primops.
Geoffrey Mainland [Fri, 11 Nov 2011 13:00:30 +0000 (13:00 +0000)] 
Add the Int64X2# primitive type and associated primops.

6 years agoAdd the DoubleX2# primitive type and associated primops.
Geoffrey Mainland [Fri, 11 Nov 2011 11:32:05 +0000 (11:32 +0000)] 
Add the DoubleX2# primitive type and associated primops.

6 years agoAdd the Int32X4# primitive type and associated primops.
Paul Monday [Thu, 3 Nov 2011 21:35:37 +0000 (15:35 -0600)] 
Add the Int32X4# primitive type and associated primops.

6 years agoAdd the Float32X4# primitive type and associated primops.
Geoffrey Mainland [Fri, 19 Oct 2012 08:06:17 +0000 (09:06 +0100)] 
Add the Float32X4# primitive type and associated primops.

This patch lays the groundwork needed for primop support for SIMD vectors. In
addition to the groundwork, we add support for the FloatX4# primitive type and
associated primops.

 * Add the FloatX4# primitive type and associated primops.
 * Add CodeGen support for Float vectors.
 * Compile vector operations to LLVM vector operations in the LLVM code
   generator.
 * Make the x86 native backend fail gracefully when encountering vector primops.
 * Only generate primop wrappers for vector primops when using LLVM.

6 years agoAlways pass vector values on the stack.
Geoffrey Mainland [Fri, 4 Nov 2011 17:44:39 +0000 (17:44 +0000)] 
Always pass vector values on the stack.

Vector values are now always passed on the stack. This isn't particularly
efficient, but it will have to do for now.

6 years agoAdd a bits128 type to C--.
Geoffrey Mainland [Fri, 19 Oct 2012 08:09:23 +0000 (09:09 +0100)] 
Add a bits128 type to C--.

6 years agoAdd Cmm support for representing 128-bit-wide SIMD vectors.
Geoffrey Mainland [Fri, 19 Oct 2012 08:32:02 +0000 (09:32 +0100)] 
Add Cmm support for representing 128-bit-wide SIMD vectors.

6 years agoTell LLVM that all vector stores and loads are potentially unaligned.
Geoffrey Mainland [Wed, 31 Oct 2012 11:56:01 +0000 (11:56 +0000)] 
Tell LLVM that all vector stores and loads are potentially unaligned.

6 years agoAdd support for LLVM vectors.
Geoffrey Mainland [Mon, 31 Oct 2011 13:44:48 +0000 (13:44 +0000)] 
Add support for LLVM vectors.

This patch adds support for LLVM vectors and vector operations to our internal
LLVM abstract syntax data types.

6 years agoDefine __GLASGOW_HASKELL_LLVM__ when using the LLVM back end.
Geoffrey Mainland [Wed, 20 Jun 2012 10:36:27 +0000 (11:36 +0100)] 
Define __GLASGOW_HASKELL_LLVM__ when using the LLVM back end.

When compiling via LLVM, GHC now defines the CPP symbol __GLASGOW_HASKELL_LLVM__
to the version of LLVM used, e.g., __GLASGOW_HASKELL_LLVM__ is defined to be 30
for LLVM version 3.0.

6 years agoFix xhtml's entry in the packages file; fixes #7632
Ian Lynagh [Fri, 1 Feb 2013 20:13:47 +0000 (20:13 +0000)] 
Fix xhtml's entry in the packages file; fixes #7632

xhtml is a submodule

6 years agoImprove an error message; fixes #984
Ian Lynagh [Fri, 1 Feb 2013 15:23:39 +0000 (15:23 +0000)] 
Improve an error message; fixes #984

This code:
    f _ = do
            x <- computation
            case () of
                    _ ->
                            result <- computation
                            case () of () -> undefined
Now gives this error:
    Parse error in pattern: case () of { _ -> result }
    Possibly caused by a missing 'do'?

6 years agoRemove an out-of-date comment
Ian Lynagh [Fri, 1 Feb 2013 14:55:38 +0000 (14:55 +0000)] 
Remove an out-of-date comment

6 years agoA couple of small refactorings
Ian Lynagh [Fri, 1 Feb 2013 14:32:27 +0000 (14:32 +0000)] 
A couple of small refactorings

6 years agoWhitespace only
Ian Lynagh [Fri, 1 Feb 2013 14:14:59 +0000 (14:14 +0000)] 
Whitespace only

6 years agoTry to make ghc-pkg and ghc-cabal use the same flags when bootstrapping.
Simon Marlow [Fri, 1 Feb 2013 07:59:02 +0000 (07:59 +0000)] 
Try to make ghc-pkg and ghc-cabal use the same flags when bootstrapping.

They share modules in Cabal, and unless they use exactly the same
flags GHC recompiles the modules.

6 years agoadd CPP
Simon Marlow [Thu, 31 Jan 2013 14:01:27 +0000 (14:01 +0000)] 
add CPP

6 years agoMachRegs.h requires ghcautoconf.h to be included before it (#7591)
Stephen Blackheath [Wed, 16 Jan 2013 01:28:42 +0000 (14:28 +1300)] 
MachRegs.h requires ghcautoconf.h to be included before it (#7591)

Because, in the case of ARM processors, it needs to know what ARM
variant is being used. This patch fixes that in
includes/CodeGen.Platform.hs, otherwise there is a mismatch between
the compiler and llvm.

6 years agoadd $(CrossCompilePrefix) to hp2ps (#7639)
Simon Marlow [Thu, 31 Jan 2013 12:05:03 +0000 (12:05 +0000)] 
add $(CrossCompilePrefix) to hp2ps (#7639)

6 years agoDocument -fvectorise and -favoid-vect. (#5801)
David Terei [Fri, 1 Feb 2013 01:48:37 +0000 (17:48 -0800)] 
Document -fvectorise and -favoid-vect. (#5801)

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Thu, 31 Jan 2013 00:28:02 +0000 (00:28 +0000)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

6 years agotypos
Gabor Greif [Thu, 24 Jan 2013 15:06:57 +0000 (16:06 +0100)] 
typos

6 years agoinclude "stg/MachRegs.h" -> include "MachRegs.h"
Simon Marlow [Wed, 30 Jan 2013 19:40:07 +0000 (19:40 +0000)] 
include "stg/MachRegs.h" -> include "MachRegs.h"

We were getting the installed compiler's MachRegs.h sometimes (in
GenApply.hs, as it turns out).  This probably caused some weird
effects...

6 years ago\#undef REG_R[1-10] as a precaution
Simon Marlow [Wed, 30 Jan 2013 19:38:33 +0000 (19:38 +0000)] 
\#undef REG_R[1-10] as a precaution

6 years agoWe should be including HaskellMachRegs.h here, not RtsMachRegs.h
Simon Marlow [Wed, 30 Jan 2013 15:42:01 +0000 (15:42 +0000)] 
We should be including HaskellMachRegs.h here, not RtsMachRegs.h

This was causing GenApply.hs to use the host architecture's register
settings rather than the target's, with the result that some
cross-compiled programs would crash.

6 years agoremove old cross-compilation stuff
Simon Marlow [Tue, 29 Jan 2013 12:00:46 +0000 (12:00 +0000)] 
remove old cross-compilation stuff

6 years agoDetect hard/soft float in the same way as other ARM features
Simon Marlow [Tue, 29 Jan 2013 11:53:35 +0000 (11:53 +0000)] 
Detect hard/soft float in the same way as other ARM features

6 years agoUse throwIO rather than throw
Ian Lynagh [Wed, 30 Jan 2013 16:37:54 +0000 (16:37 +0000)] 
Use throwIO rather than throw

6 years agoMake MonadIO a superclass of ExceptionMonad
Ian Lynagh [Wed, 30 Jan 2013 16:05:36 +0000 (16:05 +0000)] 
Make MonadIO a superclass of ExceptionMonad

6 years agoChange a few throwGhcException uses to throwGhcExceptionIO
Ian Lynagh [Wed, 30 Jan 2013 14:17:38 +0000 (14:17 +0000)] 
Change a few throwGhcException uses to throwGhcExceptionIO

6 years agoChange a few throwGhcException uses to throwGhcExceptionIO
Ian Lynagh [Wed, 30 Jan 2013 14:06:53 +0000 (14:06 +0000)] 
Change a few throwGhcException uses to throwGhcExceptionIO

6 years agoUse throwGhcExceptionIO rather than throwGhcException in InteractiveEval.hs
Ian Lynagh [Wed, 30 Jan 2013 13:53:47 +0000 (13:53 +0000)] 
Use throwGhcExceptionIO rather than throwGhcException in InteractiveEval.hs

6 years agoUse throwGhcExceptionIO rather than throwGhcException in main/DynFlags.hs
Ian Lynagh [Wed, 30 Jan 2013 13:48:41 +0000 (13:48 +0000)] 
Use throwGhcExceptionIO rather than throwGhcException in main/DynFlags.hs

6 years agoUse throwGhcExceptionIO rather than throwGhcException in main/DriverPipeline.hs
Ian Lynagh [Wed, 30 Jan 2013 13:35:47 +0000 (13:35 +0000)] 
Use throwGhcExceptionIO rather than throwGhcException in main/DriverPipeline.hs

6 years agoChange a few throwGhcException uses to throwGhcExceptionIO
Ian Lynagh [Wed, 30 Jan 2013 13:16:25 +0000 (13:16 +0000)] 
Change a few throwGhcException uses to throwGhcExceptionIO

6 years agoUse throwGhcExceptionIO rather than throwGhcException in ghci/Linker.lhs
Ian Lynagh [Wed, 30 Jan 2013 13:14:29 +0000 (13:14 +0000)] 
Use throwGhcExceptionIO rather than throwGhcException in ghci/Linker.lhs

6 years agoExpand tabs
Simon Peyton Jones [Wed, 30 Jan 2013 14:34:06 +0000 (14:34 +0000)] 
Expand tabs

6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Wed, 30 Jan 2013 14:29:20 +0000 (14:29 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

Conflicts:
compiler/types/Coercion.lhs

6 years agoAdd support for *named* holes; an extension of -XTypeHoles
Simon Peyton Jones [Wed, 30 Jan 2013 12:39:07 +0000 (12:39 +0000)] 
Add support for *named* holes; an extension of -XTypeHoles

The idea is that you can use "_foo" rather than just "_"
as a "hole" in an expression, and this name shows up in
type errors etc.

The changes are very straightforward.
Thanks for Thijs Alkemade for making the running here.

6 years agoFix to 02c4ab049: use a weak pointer to the sandbox thread
Simon Marlow [Wed, 30 Jan 2013 10:34:28 +0000 (10:34 +0000)] 
Fix to 02c4ab049: use a weak pointer to the sandbox thread

Otherwise, the sandbox thread cannot be considered deadlocked by the
RTS, and conc033(ghci) hangs (amongst others).

6 years agofix warnings
Simon Marlow [Wed, 30 Jan 2013 09:46:37 +0000 (09:46 +0000)] 
fix warnings

6 years agoSTM: Only wake up once
Ben Gamari [Mon, 28 Jan 2013 16:15:08 +0000 (11:15 -0500)] 
STM: Only wake up once

Previously, threads blocked on an STM retry would be sent a wakeup
message each time an unpark was requested. This could result in the
accumulation of a large number of wake-up messages, which would slow
wake-up once the sleeping thread is finally scheduled.

Here, we introduce a new closure type, STM_AWOKEN, which marks a TSO
which has been sent a wake-up message, allowing us to send only one
wakeup.

6 years agoSchedule.h: Fix path of include file in comment
Ben Gamari [Mon, 28 Jan 2013 14:21:52 +0000 (09:21 -0500)] 
Schedule.h: Fix path of include file in comment

6 years agoAdd throwGhcExceptionIO and change a few uses of throwGhcException to use it
Ian Lynagh [Wed, 30 Jan 2013 00:15:03 +0000 (00:15 +0000)] 
Add throwGhcExceptionIO and change a few uses of throwGhcException to use it

6 years agoTweak the gen_contents_index script
Ian Lynagh [Tue, 29 Jan 2013 15:59:39 +0000 (15:59 +0000)] 
Tweak the gen_contents_index script

6 years agoTweak the mkDocs script
Ian Lynagh [Tue, 29 Jan 2013 14:26:30 +0000 (14:26 +0000)] 
Tweak the mkDocs script

6 years agoPatch for #7628: improve error message when mixing 32 and 64 bit images (on Mac OS X)
Andy Adams-Moran [Fri, 25 Jan 2013 19:11:01 +0000 (11:11 -0800)] 
Patch for #7628: improve error message when mixing 32 and 64 bit images (on Mac OS X)

6 years agoMerge branch 'master' of darcs.haskell.org:/home/darcs/ghc
Simon Peyton Jones [Tue, 29 Jan 2013 12:50:12 +0000 (12:50 +0000)] 
Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc

6 years agoDisable any packages built with stage 2 when cross-compiling
Simon Marlow [Tue, 29 Jan 2013 09:34:50 +0000 (09:34 +0000)] 
Disable any  packages built with stage 2 when cross-compiling

Since we can't run stage 2 on the host.

6 years agouse GhcRtsHcOpts and GhcRtsCcOpts for the debug way too
Simon Marlow [Tue, 29 Jan 2013 09:34:12 +0000 (09:34 +0000)] 
use GhcRtsHcOpts and GhcRtsCcOpts for the debug way too

6 years agoARM: infer VFPv2 presence from the C compiler
Simon Marlow [Tue, 29 Jan 2013 09:10:20 +0000 (09:10 +0000)] 
ARM: infer VFPv2 presence from the C compiler

6 years agohopefully fix #7620
Simon Marlow [Mon, 28 Jan 2013 10:04:34 +0000 (10:04 +0000)] 
hopefully fix #7620

6 years agoMerge branch 'master' of darcs.haskell.org:/home/darcs/ghc
Simon Peyton Jones [Tue, 29 Jan 2013 09:00:25 +0000 (09:00 +0000)] 
Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc

6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Tue, 29 Jan 2013 08:57:26 +0000 (08:57 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

6 years agoMerge branch 'master' of darcs.haskell.org:/home/darcs/ghc
Simon Peyton Jones [Tue, 29 Jan 2013 08:57:26 +0000 (08:57 +0000)] 
Merge branch 'master' of darcs.haskell.org:/home/darcs/ghc

6 years agoWhen quantifying associated types, we may have TyVars involved, not just TcTyVars
Simon Peyton Jones [Tue, 29 Jan 2013 08:57:05 +0000 (08:57 +0000)] 
When quantifying associated types, we may have TyVars involved, not just TcTyVars
This required a little adjustment in zonkQuantifiedTyVars

6 years agoImprove consistency checking for associated type-family instances
Simon Peyton Jones [Tue, 29 Jan 2013 08:43:02 +0000 (08:43 +0000)] 
Improve consistency checking for associated type-family instances

The "consistency" in this case is beteween the instance head
and the associated type instance head, which is made trickier
by the presence of kind variables that are not explicitly mentioned
in the class head.

See Note [Checking consistent instantiation] in TcInstDcls

This fixes Trac #7282.

6 years agoStaticFlags code cleanup (fixes #7595)
Jan Stolarek [Wed, 16 Jan 2013 13:21:07 +0000 (14:21 +0100)] 
StaticFlags code cleanup (fixes #7595)

Function responsible for parsing the static flags, that were spread
across two modules (StaticFlags and StaticFlagParser), are now
in one file. This is analogous to dynamic flags parsing, which is
also contained within a single module.

Signed-off-by: David Terei <davidterei@gmail.com>
6 years agoFix comments on isValArg
Simon Peyton Jones [Mon, 28 Jan 2013 18:21:04 +0000 (18:21 +0000)] 
Fix comments on isValArg

6 years agoComments only
Simon Peyton Jones [Mon, 28 Jan 2013 18:12:01 +0000 (18:12 +0000)] 
Comments only

6 years agoMinor pretty printing changes only
Simon Peyton Jones [Mon, 28 Jan 2013 18:11:25 +0000 (18:11 +0000)] 
Minor pretty printing changes only

6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Mon, 28 Jan 2013 13:51:55 +0000 (13:51 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

6 years agoPure refactoring
Simon Peyton Jones [Mon, 28 Jan 2013 13:51:19 +0000 (13:51 +0000)] 
Pure refactoring

* Move tidyType and friends from TcType to TypeRep
  (It was always wrong to have it in TcType.)

* Move mkCoAxBranch and friends from FamInst to Coercion

* Move pprCoAxBranch and friends from FamInstEnv to Coercion

No change in functionality, though there might be a little
wibble in error message output, because I combined two different
functions both called pprCoAxBranch!

6 years agoMore refactoring of FamInst/FamInstEnv; finally fixes Trac #7524
Simon Peyton Jones [Mon, 28 Jan 2013 08:18:28 +0000 (08:18 +0000)] 
More refactoring of FamInst/FamInstEnv; finally fixes Trac #7524

Quite a bit of tidying up here; the fix to #7524 is actually
only a small part.

* Be fully clear that the cab_tvs in a CoAxBranch are not
  fresh.  See Note [CoAxBranch type variables] in CoAxiom.

* Use CoAxBranch to replace the ATDfeault type in Class.
  CoAxBranch is perfect here.  This change allowed me to
  delete quite a bit of boilerplate code, including the
  corresponding IfaceSynType.

* Tidy up the construction of CoAxBranches, and when FamIntBranch is
  freshened.  The latter onw happens only in FamInst.newFamInst.

* Tidy the tyvars of a CoAxBranch when we build them, done in
  FamInst.mkCoAxBranch.  See Note [Tidy axioms when we build them]
  in that module.  This is what fixes #7524.

Much niceer now.

6 years agoFix documentation bug: TSOs are *not* unconditionally kept on the mutable list.
Edward Z. Yang [Mon, 28 Jan 2013 02:25:34 +0000 (18:25 -0800)] 
Fix documentation bug: TSOs are *not* unconditionally kept on the mutable list.

The bug where TSOs were unconditionally kept on the mutable list was #1589
which was fixed in 04cddd339c000df6d02c90ce59dbffa58d2fe166.
Curiously enough, the commit that changed this comment
0417404f5d1230c9d291ea9f73e2831121c8ec99 occurred *after* this
change was made; I can only assume Simon Marlow accidentally forgot
that he had fixed this bug. :-)

Signed-off-by: Edward Z. Yang <ezyang@mit.edu>
6 years agouse -e rather than -d when checking for the existence of a subrepo
Patrick Palka [Sun, 13 Jan 2013 17:02:10 +0000 (12:02 -0500)] 
use -e rather than -d when checking for the existence of a subrepo

The .git file in a submodule's root directory is not necessarily a
directory, as is the case for the 'time' submodule.

This fixes #7577, where some './sync-all' operations don't detect
that the 'time' submodule is present in the repository.