ghc.git
6 years agoTypeable changes to time while waiting for the upstream to update
Jose Pedro Magalhaes [Tue, 12 Feb 2013 11:58:37 +0000 (11:58 +0000)] 
Typeable changes to time while waiting for the upstream to update

6 years agoUse a separate user's guide section for -XAutoDeriveTypeable
Jose Pedro Magalhaes [Tue, 12 Feb 2013 10:37:22 +0000 (10:37 +0000)] 
Use a separate user's guide section for -XAutoDeriveTypeable

6 years agoImplement poly-kinded Typeable
Jose Pedro Magalhaes [Thu, 7 Feb 2013 13:51:29 +0000 (13:51 +0000)] 
Implement poly-kinded Typeable

This patch makes the Data.Typeable.Typeable class work with arguments of any
kind. In particular, this removes the Typeable1..7 class hierarchy, greatly
simplyfing the whole Typeable story. Also added is the AutoDeriveTypeable
language extension, which will automatically derive Typeable for all types and
classes declared in that module. Since there is now no good reason to give
handwritten instances of the Typeable class, those are ignored (for backwards
compatibility), and a warning is emitted.

The old, kind-* Typeable class is now called OldTypeable, and lives in the
Data.OldTypeable module. It is deprecated, and should be removed in some future
version of GHC.

6 years agoMerge the new parallel I/O manager
Johan Tibell [Tue, 12 Feb 2013 06:42:40 +0000 (22:42 -0800)] 
Merge the new parallel I/O manager

6 years agoAdding missing symbol in rts/package.conf.in.
Kazu Yamamoto [Fri, 11 Jan 2013 08:33:13 +0000 (17:33 +0900)] 
Adding missing symbol in rts/package.conf.in.

6 years agoChanged ioManagerCapabilitiesChanged to take no arguments.
Andreas Voellmy [Mon, 7 Jan 2013 18:46:58 +0000 (13:46 -0500)] 
Changed ioManagerCapabilitiesChanged to take no arguments.

ioManagerCapabilitiesChanged now queries getNumCapabilities for the current number of enabled capabilities.

6 years agosetNumCapabilities calls GHC.Conc.IO.ioManagerCapabilitiesChanged before returning.
Andreas Voellmy [Sun, 23 Dec 2012 00:38:21 +0000 (19:38 -0500)] 
setNumCapabilities calls GHC.Conc.IO.ioManagerCapabilitiesChanged before returning.

This enables the IO manager to change the number of IO loops it uses (usually one per capability).

6 years agoAdded RTS hooks for the timer manager.
Andreas Voellmy [Thu, 20 Dec 2012 05:43:11 +0000 (00:43 -0500)] 
Added RTS hooks for the timer manager.

6 years agoFix Trac #7681.
Richard Eisenberg [Tue, 12 Feb 2013 04:07:25 +0000 (23:07 -0500)] 
Fix Trac #7681.

Removed checks for empty lists for case expressions and lambda-case.
If -XEmptyCase is not enabled, compilation still fails (appropriately)
in the renamer.

Had to remove dead code from TrieMap to pass the validator.

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

6 years agoUpdate random submodule
Ian Lynagh [Mon, 11 Feb 2013 15:50:35 +0000 (15:50 +0000)] 
Update random submodule

6 years agoallocMoreStack: we should be retargetting table jumps too.
Simon Marlow [Mon, 11 Feb 2013 10:50:45 +0000 (10:50 +0000)] 
allocMoreStack: we should be retargetting table jumps too.

Thanks to @PHO on #7498 for pointing this out.

6 years agoMerge remote-tracking branch 'phonohawk/ticket-7498'
Simon Marlow [Mon, 11 Feb 2013 09:23:40 +0000 (09:23 +0000)] 
Merge remote-tracking branch 'phonohawk/ticket-7498'

* phonohawk/ticket-7498:
  Fix bugs in PPC.Instr.allocMoreStack (#7498)

6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Mon, 11 Feb 2013 08:38:33 +0000 (08:38 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

6 years agoExtra comment about the fix to Trac #5113
Simon Peyton Jones [Mon, 11 Feb 2013 08:38:12 +0000 (08:38 +0000)] 
Extra comment about the fix to Trac #5113

6 years agoFix bugs in PPC.Instr.allocMoreStack (#7498)
PHO [Mon, 11 Feb 2013 04:49:26 +0000 (13:49 +0900)] 
Fix bugs in PPC.Instr.allocMoreStack (#7498)

This patch is ported from #7510, which fixes the same bug in the x86 nativeGen.

6 years agoDistinguish between llvm-gcc/gcc in compiler name detection.
Austin Seipp [Mon, 11 Feb 2013 04:01:36 +0000 (22:01 -0600)] 
Distinguish between llvm-gcc/gcc in compiler name detection.

It uglifies the code a tiny bit but it's nice to know exactly what
you're using.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoRevert accidental change.
Austin Seipp [Sun, 10 Feb 2013 08:49:01 +0000 (02:49 -0600)] 
Revert accidental change.

It slipped in on accident.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoMake sure ./configure tests valid C99 programs. Issue #7678.
Austin Seipp [Sun, 10 Feb 2013 08:22:29 +0000 (02:22 -0600)] 
Make sure ./configure tests valid C99 programs. Issue #7678.

Clang gives a big fat warning that there's no return value for the
statement, since the prototype defaults to 'int'.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoBetter detection of clang in ./configure. Issue #7678.
Austin Seipp [Sun, 10 Feb 2013 08:24:28 +0000 (02:24 -0600)] 
Better detection of clang in ./configure. Issue #7678.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
6 years agoImprove sync-all's old-time-repo check
Ian Lynagh [Sat, 9 Feb 2013 23:48:28 +0000 (23:48 +0000)] 
Improve sync-all's old-time-repo check

It now checks that the directory exists before complaining that it's
old.

6 years agoSplit the PlatformConstants type off into its own module
Ian Lynagh [Fri, 8 Feb 2013 22:01:03 +0000 (22:01 +0000)] 
Split the PlatformConstants type off into its own module

6 years agoAdd -fno-cse pragma in DynFlags.hs (fixes #7595)
Jan Stolarek [Wed, 30 Jan 2013 06:59:57 +0000 (07:59 +0100)] 
Add -fno-cse pragma in DynFlags.hs (fixes #7595)

6 years agoMerge branch 'master' of http://darcs.haskell.org/ghc
Simon Peyton Jones [Fri, 8 Feb 2013 17:29:56 +0000 (17:29 +0000)] 
Merge branch 'master' of darcs.haskell.org/ghc

6 years agoFix an old and egregious specialisation bug (Trac #5113)
Simon Peyton Jones [Fri, 8 Feb 2013 17:29:40 +0000 (17:29 +0000)] 
Fix an old and egregious specialisation bug (Trac #5113)

The specialiser needs to know if a dictionay has some structure,
so that it can decide whether to specialise a function. Eg
 (A)    let d = $dfblah d1
        in ....(f d)....

 (B)    \d. ....(f d)....

In (A) it's probably worth specialising f; in (B) it isn't.
Previously we were relying on d's unfolding, but the specialiser
does cloning as it goes, which discards the unfolding. So we
were simply discarding all specialisations for functions with
local dictionary bindings!  This bug seems to have been there
for a long time.

This is what originally caused Trac #5113.  Then we went through a phase
where local bindings were not generalised, and that meant there was
no locally overloaded f to specialise; so the performance problem appeared
to be fixed.  But now we are generalising local bindings again, so it
re-appeared.

This patch fixes the original problem.

6 years agoNote major changes in 7.8.1 in 7.8.1 release notes file
Ian Lynagh [Thu, 7 Feb 2013 16:41:27 +0000 (16:41 +0000)] 
Note major changes in 7.8.1 in 7.8.1 release notes file

6 years agoClean up AC_PREREQ.
Gabor Greif [Thu, 7 Feb 2013 11:53:59 +0000 (12:53 +0100)] 
Clean up AC_PREREQ.

6 years agoRequire autoconf 2.60, as
Gabor Greif [Thu, 7 Feb 2013 11:13:50 +0000 (12:13 +0100)] 
Require autoconf 2.60, as

version 2.59 seems to be incompatible with our updated macros.
If somebody insists on 2.59 (which is almost 10 years old) I'll
have to hunt down the reason for the recent (Dec 2012?) breakage.

Note that I did not check with 2.60 (I have 2.65), so that one
may still be problematic.

6 years agocomments
Simon Marlow [Thu, 7 Feb 2013 10:00:09 +0000 (10:00 +0000)] 
comments

6 years agoTidy up tso->stackobj before calling threadStackUnderflow (#7636)
Simon Marlow [Thu, 7 Feb 2013 09:55:20 +0000 (09:55 +0000)] 
Tidy up tso->stackobj before calling threadStackUnderflow (#7636)

Fixes the following crash:

  internal error: threadStackUnderflow: not enough space for return values

when using STM.

6 years agoUnify interfae of both variants FP_ARG_WITH_PATH... in aclocal.m4 and
David Terei [Wed, 6 Feb 2013 21:47:51 +0000 (13:47 -0800)] 
Unify interfae of both variants FP_ARG_WITH_PATH... in aclocal.m4 and
document them.

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Wed, 6 Feb 2013 14:10:39 +0000 (14:10 +0000)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

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

6 years agoMerge branch 'master' of darcs.haskell.org:/srv/darcs//ghc
Ian Lynagh [Wed, 6 Feb 2013 13:28:29 +0000 (13:28 +0000)] 
Merge branch 'master' of darcs.haskell.org:/srv/darcs//ghc

6 years agoFix threadDelay on Windows; fixes ThreadDelay001 failures
Ian Lynagh [Wed, 6 Feb 2013 13:14:55 +0000 (13:14 +0000)] 
Fix threadDelay on Windows; fixes ThreadDelay001 failures

MSDN says of Sleep:
    If dwMilliseconds is greater than one tick but less than two, the
    wait can be anywhere between one and two ticks, and so on.
so we need to add (milliseconds-per-tick - 1) to the amount of time we
sleep for.

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